Features

Out of the box, Integration Framework v.2 has the following features:

Batch Integration:

  • Import Currencies
  • Import Languages
  • Import Units
  • Import Manufacturers
  • Import Customers
  • Import Product Groups
  • Import Products
  • Import Related Products
  • Import Prices
  • Import Product Stock
  • Import Orders
  • Export Orders

Live Integration:

  • Live prices stock
  • Live calculation of orders

In terms of the data flow, both batch and live integrations features work in the same general manner:

  • Dynamicweb sends a request for data 
  • The request is relayed to the remote system by the Dynamicweb Connector service
  • Data is returned as a response

While the request XML can vary slightly depending on the remote system, the response XML always follows the same general structure:

XML
<?xml version="1.0" encoding="utf-8"?> <tables> <table tableName="Table1"> <item table="Table1"> <column columnName="Column1"><![CDATA[5]]></column> <column columnName="Column2" isNull="true"/> <column columnName="Column3"><![CDATA[James]]></column> </item> </table> <table tableName="Table2"> <item table="Table2"> <column columnName="Column1"><![CDATA[7913]]></column> <column columnName="Column2"><![CDATA[VIP]]></column> </item> </table> </tables>

See below for examples of standard requests and standard replies for the Integration Framework v.2 features.

Integration Framework v2 allows you to integrate with both:

  • Dynamics AX 2012 installations
  • Dynamics 365 Finance & Operations installations.

Read more about how each feature is implemented on these systems below.

With the Import Currencies Job and Task you can bring over the system currency from your remote system to Dynamicweb. Please note that no other currencies but the system currency are currently transferred.

Standard request:

XML
<GetEcomData> <tables> <Currencies type="all"/> </tables> </GetEcomData>

Standard response: 

XML
<?xml version="1.0" encoding="utf-8"?> <tables> <table tableName="EcomCurrencies"> <item table="EcomCurrencies"> <column columnName="CurrencyCode"><![CDATA[USD]]></column> <column columnName="CurrencyName"><![CDATA[US Dollar]]></column> <column columnName="CurrencyLanguageId"><![CDATA[en-us]]></column> <column columnName="CurrencySymbol"><![CDATA[$]]></column> <column columnName="CurrencyRate"><![CDATA[100]]></column> </item> </table> </tables>

The only mandatory column is CurrencyCode (EUR, DKK, etc.).

With the Import Languages Job and Task you can bring over a language from your remote system to Dynamicweb. The language transferred is the default language selected when installing the code unit in your ERP system.

Standard request:

XML
<GetEcomData> <tables> <Languages type="all"/> </tables> </GetEcomData>

Standard response:

XML
<?xml version="1.0" encoding="utf-8"?> <tables> <table tableName="EcomLanguages"> <item table="EcomLanguages"> <column columnName="LanguageId"><![CDATA[en-us]]></column> <column columnName="LanguageCode2"><![CDATA[US]]></column> <column columnName="LanguageNativeName"><![CDATA[English]]></column> <column columnName="LanguageName"><![CDATA[English]]></column> </item> </table> </tables>

Product units – e.g. pieces, boxes or boatloads – can also be imported and synchronized between the ERP and the Dynamicweb solution.

Standard request:

XML
<GetEcomData> <tables> <Units type="all"/> </tables> </GetEcomData>

Standard response:

XML
<?xml version="1.0" encoding="utf-8"?> <tables batchId="{9620FFC9-F952-41AB-8A51-FBFB63861101}"> <table tableName="EcomVariantsGroups"> <item table="EcomVariantGroups"> <column columnName="VariantGroupId"><![CDATA[AxUnits]]></column> <column columnName="VariantGroupLanguageId"><![CDATA[en-us]]></column> <column columnName="VariantGroupName"><![CDATA[AX Units]]></column> <column columnName="VariantGroupLabel"><![CDATA[]]></column> <column columnName="VariantGroupUnit"><![CDATA[True]]></column> </item> </table> <table tableName="EcomVariantsOptions"> <item table="EcomVariantsOptions"> <column columnName="VariantOptionId"><![CDATA[22565422198]]></column> <column columnName="VariantOptionLanguageId"><![CDATA[en-us]]></column> <column columnName="VariantOptionGroupId"><![CDATA[AxUnits]]></column> <column columnName="VariantOptionName"><![CDATA[Option]]></column> </item> <item table="EcomVariantsOptions"> <column columnName="VariantOptionId"><![CDATA[22565423700]]></column> <column columnName="VariantOptionLanguageId"><![CDATA[en-us]]></column> <column columnName="VariantOptionGroupId"><![CDATA[AxUnits]]></column> <column columnName="VariantOptionName"><![CDATA[Ph]]></column> </item> </table> </tables>

With the Import Manufacturers feature you can bring over manufacturers from your remote system to Dynamicweb. Products can then be associated with these manufacturers, which enables you to show manufacturer data (such as a name, web site and phone number) along with the product.

Standard request:

XML
<GetEcomData> <tables> <Manufacturers type="all"/> </tables> </GetEcomData>

Standard response:

XML
<?xml version="1.0" encoding="utf-8"?> <tables batchId="{F5ECCC2B-C09A-43A3-BD79-CBF017F01842}"> <table tableName="EcomManufacturers"> <item table="EcomManufacturers"> <column columnName="ManufacturerId"><![CDATA[US-102]]></column> <column columnName="ManufacturerName"><![CDATA[Tailspin Parts]]></column> <column columnName="ManufacturerAddress"><![CDATA[234 Eleventh Street Marietta, GA 30008 USA]]></column> <column columnName="ManufacturerZipCode"><![CDATA[30008]]></column> <column columnName="ManufacturerCity"><![CDATA[Marietta]]></column> <column columnName="ManufacturerCountry"><![CDATA[USA]]></column> <column columnName="ManufacturerPhone"><![CDATA[341-555-0124]]></column> <column columnName="ManufacturerFax"><![CDATA[]]></column> <column columnName="ManufacturerEmail"><![CDATA[]]></column> <column columnName="ManufacturerWeb"><![CDATA[]]></column> </item> </table> </tables>

With the Import Customers feature you can bring over customers from your remote system to Dynamicweb. Imported customers can then place orders. Impersonation is currently not implemented which means that a Customer / Company is the same as a User / Login.

Standard request:

XML
<GetEcomData> <tables> <Customers type="all"/> </tables> </GetEcomData>

Standard response:

XML
<?xml version="1.0" encoding="utf-8"?> <tables batchId="{1B532C48-0DB5-4F6E-B67F-4F346AB73087}"> <table tableName="AccessUser"> <item table="AccessUser"> <column columnName="AccessUserExternalId"><![CDATA[US-011]]></column> <column columnName="AccessUserCustomerNumber"><![CDATA[US-011]]></column> <column columnName="AccessUserUserName"><![CDATA[US-011]]></column> <column columnName="AccessUserType"><![CDATA[5]]></column> <column columnName="AccessUserName"><![CDATA[Contoso Retail Dallas]]></column> <column columnName="AccessUserCompany"><![CDATA[Contoso Retail Dallas]]></column> <column columnName="AccessUserFirstName"><![CDATA[]]></column> <column columnName="AccessUserMiddleName"><![CDATA[]]></column> <column columnName="AccessUserLastName"><![CDATA[]]></column> <column columnName="AccessUserAddress"><![CDATA[789 Orange Street Irving]]></column> <column columnName="AccessUserAddress2"><![CDATA[]]></column> <column columnName="AccessUserHouseNumber"><![CDATA[]]></column> <column columnName="AccessUserCity"><![CDATA[Irving]]></column> <column columnName="AccessUserState"><![CDATA[TX]]></column> <column columnName="AccessUserCountryCode"><![CDATA[US]]></column> <column columnName="AccessUserCountry"><![CDATA[United States]]></column> <column columnName="AccessUserZip"><![CDATA[75063]]></column> <column columnName="AccessUserEmail"><![CDATA[]]></column> <column columnName="AccessUserPhone"><![CDATA[123-555-0117]]></column> <column columnName="AccessUserFax"><![CDATA[]]></column> <column columnName="AccessUserVatRegNumber"><![CDATA[]]></column> <column columnName="AccessUserActive"><![CDATA[true]]></column> </item> </table> <table tableName="AccessUserAddress"> <item table="AccessUserAddress"> <column columnName="AccessUserAddressCallName"><![CDATA[Contoso Retail Dallas - Delivery]]></column> <column columnName="AccessUserAddressCompany"><![CDATA[Contoso Entertainment System USA]]></column> <column columnName="AccessUserAddressName"><![CDATA[Contoso Retail Dallas - Delivery]]></column> <column columnName="AccessUserAddressAddress"><![CDATA[1234 Street name]]></column> <column columnName="AccessUserAddressAddress2"><![CDATA[]]></column> <column columnName="AccessUserAddressZip"><![CDATA[99999]]></column> <column columnName="AccessUserAddressCity"><![CDATA[Irving]]></column> <column columnName="AccessUserAddressCountry"><![CDATA[United States]]></column> <column columnName="AccessUserAddressPhone"><![CDATA[]]></column> <column columnName="AccessUserAddressFax"><![CDATA[]]></column> <column columnName="AccessUserAddressEmail"><![CDATA[]]></column> <column columnName="AccessUserAddressCustomerNumber"><![CDATA[US-011]]></column> <column columnName="AccessUserAddressUId"><![CDATA[68719499596]]></column> <column columnName="AccessUserAddressState"><![CDATA[TX]]></column> <column columnName="AccessUserAddressCountryCode"><![CDATA[US]]></column> <column columnName="AccessUserAddressUserId"><![CDATA[US-011]]></column> </item> </table> </tables>

With the Import Product Groups feature you can bring over product groups from your remote system to Dynamicweb. Imported groups are used to categorize your products in the backend and frontend (although the two don’t need to match).

Standard request:

XML
<GetEcomData> <tables> <ProductGroups type="all"/> </tables> </GetEcomData>

Standard response:

XML
<?xml version="1.0" encoding="utf-8"?> <tables batchId="{42B57240-4F38-4BE7-A0CE-6E9A19880F3E}"> <table tableName="EcomGroups"> <item table="EcomGroups"> <column columnName="GroupId"><![CDATA[22565420921]]></column> <column columnName="GroupLanguageId"><![CDATA[en-us]]></column> <column columnName="GroupName"><![CDATA[Home audio]]></column> <column columnName="ParentGroups"><![CDATA[]]></column> </item> </table> </tables>

With the Import Products feature you can bring over ecommerce products from your remote system to Dynamicweb. These products can then be assigned to the product groups as imported using the Import Product Groups job and task, as well as to other groups that have not been imported (to create a marketing focused product hierarchy for example).

This endpoint also returns Product Category Field values.

Standard request:

XML
<GetEcomData> <tables> <Products type="all"/> </tables> </GetEcomData>

Standard response:

XML
<?xml version="1.0" encoding="utf-8"?> <tables batchId="{730F14F3-FC64-4721-9871-9447E3E911C5}"> <table tableName="EcomProducts"> <item table="EcomProducts"> <column columnName="ProductId"><![CDATA[D0005]]></column> <column columnName="ProductVariantId"><![CDATA[]]></column> <column columnName="ProductLanguageId"><![CDATA[en-us]]></column> <column columnName="ProductNumber"><![CDATA[D0005]]></column> <column columnName="ProductName"><![CDATA[Car Audio System]]></column> <column columnName="ProductLongDescription"><![CDATA[]]></column> <column columnName="ProductWeight"><![CDATA[0.00]]></column> <column columnName="ProductVolume"><![CDATA[0.00]]></column> <column columnName="ProductDefaultUnitId"><![CDATA[22565421199]]></column> <column columnName="Discontinued"><![CDATA[FALSE]]></column> <column columnName="ProductActive"><![CDATA[TRUE]]></column> <column columnName="ReplacementProductNumber"><![CDATA[]]></column> <column columnName="PrimaryGroup"><![CDATA[]]></column> <column columnName="Groups"><![CDATA[22565420925]]></column> <column columnName="ProductPrice"><![CDATA[0.00]]></column> <column columnName="ProductCost"><![CDATA[198.33]]></column> <column columnName="ProductManufacturerId"><![CDATA[US-104]]></column> <column columnName="ProductStock"><![CDATA[0.00]]></column> </item> <item table="EcomProducts"> <column columnName="ProductId"><![CDATA[T0001]]></column> <column columnName="ProductVariantId"><![CDATA[]]></column> <column columnName="ProductLanguageId"><![CDATA[en-us]]></column> <column columnName="ProductNumber"><![CDATA[T0001]]></column> <column columnName="ProductName"><![CDATA[SpeakerCable]]></column> <column columnName="ProductLongDescription"><![CDATA[]]></column> <column columnName="ProductWeight"><![CDATA[0.00]]></column> <column columnName="ProductVolume"><![CDATA[0.00]]></column> <column columnName="ProductDefaultUnitId"><![CDATA[22565421199]]></column> <column columnName="Discontinued"><![CDATA[FALSE]]></column> <column columnName="ProductActive"><![CDATA[TRUE]]></column> <column columnName="ReplacementProductNumber"><![CDATA[]]></column> <column columnName="PrimaryGroup"><![CDATA[]]></column> <column columnName="Groups"><![CDATA[22565420923]]></column> <column columnName="ProductPrice"><![CDATA[0.00]]></column> <column columnName="ProductCost"><![CDATA[300.00]]></column> <column columnName="ProductManufacturerId"><![CDATA[US-103]]></column> <column columnName="ProductStock"><![CDATA[240.00]]></column> </item> </table> <table tableName="EcomProductCategoryFieldValue"> <item table="EcomProductCategoryFieldValue"> <column columnName="FieldValueFieldId"><![CDATA[Weight]]></column> <column columnName="FieldValueFieldCategoryId"><![CDATA[Tractors]]></column> <column columnName="FieldValueProductId"><![CDATA[D0005]]></column> <column columnName="FieldValueProductVariantId"><![CDATA[]]></column> <column columnName="FieldValueProductLanguageId"><![CDATA[en-us]]></column> <column columnName="FieldValueValue"><![CDATA[123.45]]></column> </item> </table> </tables>

With the Import Related Products Job and Task you can bring over related products from your remote system to Dynamicweb.

Standard request:

XML
<GetEcomData> <tables> <RelatedProducts type="all"/> </tables> </GetEcomData>

Standard response:

XML
<?xml version="1.0" encoding="utf-8"?> <tables batchId="{F2670AB1-FF90-4FA6-A911-7275E4977DCE}"> <table tableName="EcomProductsRelated"> <item table="EcomProductsRelated"> <column columnName="ProductRelatedProductId"><![CDATA[D0001]]></column> <column columnName="ProductRelatedProductRelId"><![CDATA[D0003]]></column> <column columnName="ProductRelatedGroupId"><![CDATA[FBT1]]></column> <column columnName="ProductRelatedSortOrder"><![CDATA[0]]></column> </item> <item table="EcomProductsRelated"> <column columnName="ProductRelatedProductId"><![CDATA[D0001]]></column> <column columnName="ProductRelatedProductRelId"><![CDATA[D0005]]></column> <column columnName="ProductRelatedGroupId"><![CDATA[FBT1]]></column> <column columnName="ProductRelatedSortOrder"><![CDATA[0]]></column> </item> </table> </tables>

With the Import Prices feature you can bring over the current prices for your ecommerce products from your remote system to Dynamicweb. The setup of the endpoint, data integration job and scheduled task is very similar to those for products. The big difference is that the prices endpoint has been optimized for speed, so you can run it more frequently. It’s optimized by only returning the data needed to update a price and doesn’t bring back other data such as the product name, description, custom fields etc.

Prices are returned in a single currency - the System Currency of your ERP system. If you need prices in the currency specified by a customer’s trade agreement in the ERP system, then you must use price requests in the Live Integration.

Standard request:

XML
<GetEcomData> <tables> <ProductPrices type="all" /> </tables> </GetEcomData>

Standard response:

XML
<?xml version="1.0" encoding="utf-8"?> <tables batchId="{1AE6FEA5-DEF9-432B-BE8B-A9807DF5BFAB}"> <table tableName="EcomProducts"> <item table="EcomProducts"> <column columnName="ProductId"><![CDATA[T0004]]></column> <column columnName="ProductVariantId"><![CDATA[]]></column> <column columnName="ProductLanguageId"><![CDATA[en-us]]></column> <column columnName="ProductNumber"><![CDATA[T0004]]></column> <column columnName="ProductPrice"><![CDATA[350.00]]></column> <column columnName="ProductCost"><![CDATA[160.00]]></column> </item> </table> </tables>

With the Import Product Stock feature you can bring over the current stock levels for your ecommerce products from your remote system to Dynamicweb. The setup of the endpoint, data integration job and scheduled task is very similar to those for products. The big difference is that the stock endpoint - just like the Product Prices endpoint - has been optimized for speed so you can run it more frequently.

Standard request:

XML
<GetEcomData> <tables> <ProductStock type="all" /> </tables> </GetEcomData>

Standard response:

XML
<?xml version="1.0" encoding="utf-8"?> <tables batchId="{CED00060-BC6F-4564-9C8B-5F064E816AAD}"> <table tableName="EcomProducts"> <item table="EcomProducts"> <column columnName="ProductId"><![CDATA[L0001]]></column> <column columnName="ProductVariantId"><![CDATA[]]></column> <column columnName="ProductLanguageId"><![CDATA[en-us]]></column> <column columnName="ProductNumber"><![CDATA[L0001]]></column> <column columnName="ProductStock"><![CDATA[0.00]]></column> </item> </table> </tables>

With the Import Orders feature you can bring over up-to-date information about your orders from your remote system to Dynamicweb. This is often used to bring over information such as the track and trace code from the shipping provider. Another common scenario is to import orders that were never placed through Dynamicweb, so the customer can see a full order history of web orders and other orders in the customer center.

Standard request:

XML
<GetEcomData> <tables> <SalesHeaders type="all"/> </tables> </GetEcomData>

Standard response:

XML
<?xml version="1.0" encoding="utf-8"?> <tables batchId="{53237F99-27A9-42A2-90AF-330F142B0B1E}"> <table tableName="EcomOrders"> <item table="EcomOrders"> <column columnName="OrderCreated"><![CDATA[TRUE]]></column> <column columnName="OrderComplete"><![CDATA[TRUE]]></column> <column columnName="OrderIntegrationOrderId"><![CDATA[000773]]></column> <column columnName="OrderId"><![CDATA[000773]]></column> <column columnName="OrderShopId"><![CDATA[]]></column> <column columnName="OrderCurrencyCode"><![CDATA[EUR]]></column> <column columnName="OrderDate"><![CDATA[2017-01-23T14:02:35]]></column> <column columnName="OrderIsLedgerEntry"><![CDATA[False]]></column> <column columnName="OrderPaymentMethod"><![CDATA[]]></column> <column columnName="OrderShippingMethodId"><![CDATA[Ocean]]></column> <column columnName="OrderShippingMethodName"><![CDATA[]]></column> <column columnName="OrderCustomerNumber"><![CDATA[DE-001]]></column> <column columnName="OrderCustomerEmail"><![CDATA[contoso.europe@vendor8.consolidatedmessenger.com]]></column> <column columnName="OrderCustomerFax"><![CDATA[]]></column> <column columnName="OrderCustomerPhone"><![CDATA[01234 56789]]></column> <column columnName="OrderDeliveryEmail"><![CDATA[]]></column> <column columnName="OrderDeliveryPhone"><![CDATA[]]></column> <column columnName="OrderDeliveryFax"><![CDATA[]]></column> <column columnName="OrderCustomerName"><![CDATA[Contoso Europe]]></column> <column columnName="OrderDeliveryAddress"><![CDATA[Bahnhofstrasse 5]]></column> <column columnName="OrderDeliveryAddress2"><![CDATA[]]></column> <column columnName="OrderDeliveryHouseNumber"><![CDATA[]]></column> <column columnName="OrderDeliveryCity"><![CDATA[Berlin]]></column> <column columnName="OrderDeliveryState"><![CDATA[]]></column> <column columnName="OrderDeliveryCountryCode"><![CDATA[DE]]></column> <column columnName="OrderDeliveryCountry"><![CDATA[Germany]]></column> <column columnName="OrderDeliveryZip"><![CDATA[79539]]></column> <column columnName="OrderDeliveryName"><![CDATA[Contoso Europe]]></column> <column columnName="OrderShippingFee"><![CDATA[0.00]]></column> <column columnName="OrderShippingFeeWithVat"><![CDATA[0.00]]></column> <column columnName="OrderShippingFeeWithoutVat"><![CDATA[0.00]]></column> <column columnName="OrderPriceWithVat"><![CDATA[0.00]]></column> <column columnName="OrderPriceWithoutVat"><![CDATA[0.00]]></column> <column columnName="OrderPriceBeforeFeesWithVat"><![CDATA[0.00]]></column> <column columnName="OrderPriceBeforeFeesWithoutVat"><![CDATA[0.00]]></column> </item> </table> <table tableName="EcomOrderLines"> <item table="EcomOrderLines"> <column columnName="OrderLineOrderId"><![CDATA[000773]]></column> <column columnName="OrderLineId"><![CDATA[5637146549]]></column> <column columnName="OrderLineParentLineId"><![CDATA[]]></column> <column columnName="OrderLineProductId"><![CDATA[L0001]]></column> <column columnName="OrderLineProductNumber"><![CDATA[L0001]]></column> <column columnName="OrderLineProductName"><![CDATA[Mid-Range Speaker 2]]></column> <column columnName="OrderLineProductVariantId"><![CDATA[]]></column> <column columnName="OrderLineQuantity"><![CDATA[5.00]]></column> <column columnName="OrderLineType"><![CDATA[0]]></column> <column columnName="OrderLinePriceWithoutVat"><![CDATA[2500.00]]></column> <column columnName="OrderLineUnitPriceWithoutVat"><![CDATA[500.00]]></column> <column columnName="OrderLinePriceWithVat"><![CDATA[2600.00]]></column> <column columnName="OrderLineUnitPriceWithVat"><![CDATA[520.00]]></column> <column columnName="OrderLinePriceVat"><![CDATA[100.00]]></column> <column columnName="OrderLineUnitPriceVat"><![CDATA[20.00]]></column> <column columnName="NetPrice"><![CDATA[500.00]]></column> <column columnName="OrderLineTypeName"><![CDATA[Product]]></column> <column columnName="OrderLineBom"><![CDATA[FALSE]]></column> <column columnName="OrderLineBomItemId"><![CDATA[]]></column> <column columnName="OrderLineGiftCardCode"><![CDATA[]]></column> <column columnName="OrderLineIsGiftCardDiscount"><![CDATA[FALSE]]></column> <column columnName="OrderLineFieldValues"><![CDATA[]]></column> </item> </table> </tables>

XML attributes are used by both batch integration add-ins and the live integration to trigger a particular behavior on the remote side or in the Connectors, such as batch sizes, reimports, and so on.

Some attributes may have to be added manually to your request, depending on the integration architecture.

Here is a (partial) list of attributes and what they are used for:

Attribute

Values

Use

CustomModifier

Any string

When two instances of a website point to one remote instance, this attribute allows the data to be synchronized independently.

Integration Framework v2 allows you to integrate with both:

  • Dynamics NAV 2013/2015/2017/2018 installations
  • Dynamics 365 Business Central On-Premise/Cloud installations.

Read more about how each feature is implemented on these systems below.

The Import Currencies feature imports currencies from NAV/Business Central with a name, a code, and an exchange rate. Currently, all currencies from NAV/Business are imported - for simple setups consider creating currencies manually instead.

Standard request:

XML
<GetEcomData> <tables> <Currencies type="all"/> </tables> </GetEcomData>

Standard response: 

XML
<?xml version="1.0" encoding="utf-8"?> <tables> <table tableName="EcomCurrencies"> <item table="EcomCurrencies"> <column columnName="CurrencyCode"> <![CDATA[AED]]> </column> <column columnName="CurrencyName"> <![CDATA[Arabiske Emirater dirham]]> </column> <column columnName="CurrencyLanguageID"> <![CDATA[ENU]]> </column> <column columnName="CurrencyRate"> <![CDATA[200]]> </column> </item> <item table="EcomCurrencies"> <column columnName="CurrencyCode"> <![CDATA[AUD]]> </column> <column columnName="CurrencyName"> <![CDATA[Australske dollar]]> </column> <column columnName="CurrencyLanguageID"> <![CDATA[ENU]]> </column> <column columnName="CurrencyRate"> <![CDATA[294]]> </column> </item> </table> </tables>

The Import Languages feature imports languages from NAV with an ID, a language code, and a name.

Standard request:

XML
<GetEcomData > <tables> <Languages type="all"/> </tables> </GetEcomData>

Standard response:

XML
<?xml version="1.0" encoding="utf-8"?> <tables> <table tableName="EcomLanguages"> <item table="EcomLanguages"> <column columnName="LanguageID"> <![CDATA[BGR]]> </column> <column columnName="LanguageCode2"> <![CDATA[BGR]]> </column> <column columnName="LanguageName"> <![CDATA[Bulgarsk]]> </column> </item> <item table="EcomLanguages"> <column columnName="LanguageID"> <![CDATA[CSY]]> </column> <column columnName="LanguageCode2"> <![CDATA[CSY]]> </column> <column columnName="LanguageName"> <![CDATA[Tjekkisk]]> </column> </item> </table> </tables>

Product units – e.g. pieces, boxes or boatloads – can also be imported and synchronized between the ERP and the Dynamicweb solution.

Standard request:

XML
<GetEcomData> <tables> <Units type="all" /> </tables> </GetEcomData>

Standard response:

XML
<?xml version="1.0" encoding="utf-8"?> <tables> <table tableName="EcomVariantGroups"> <item table="EcomVariantGroups"> <column columnName="VariantGroupID"><![CDATA[NavUnits]]></column> <column columnName="VariantGroupLanguageID"><![CDATA[DAN]]></column> <column columnName="VariantGroupName"><![CDATA[DW_Units]]></column> <column columnName="VariantGroupLabel"><![CDATA[]]></column> <column columnName="VariantGroupUnit"><![CDATA[true]]></column> </item> </table> <table tableName="EcomVariantsOptions"> <item table="EcomVariantsOptions"> <column columnName="VariantOptionID"><![CDATA[Unit_DÅSE]]></column> <column columnName="VariantOptionLanguageID"><![CDATA[DAN]]></column> <column columnName="VariantOptionGroupID"><![CDATA[NavUnits]]></column> <column columnName="VariantOptionName"><![CDATA[dåser]]></column> </item> <item table="EcomVariantsOptions"> <column columnName="VariantOptionID"><![CDATA[Unit_GR]]></column> <column columnName="VariantOptionLanguageID"><![CDATA[DAN]]></column> <column columnName="VariantOptionGroupID"><![CDATA[NavUnits]]></column> <column columnName="VariantOptionName"><![CDATA[Kilogram]]></column> </item> <item table="EcomVariantsOptions"> <column columnName="VariantOptionID"><![CDATA[Unit_KASSE]]></column> <column columnName="VariantOptionLanguageID"><![CDATA[DAN]]></column> <column columnName="VariantOptionGroupID"><![CDATA[NavUnits]]></column> <column columnName="VariantOptionName"><![CDATA[Dusin]]></column> </item> <item table="EcomVariantsOptions"> <column columnName="VariantOptionID"><![CDATA[Unit_L]]></column> <column columnName="VariantOptionLanguageID"><![CDATA[DAN]]></column> <column columnName="VariantOptionGroupID"><![CDATA[NavUnits]]></column> <column columnName="VariantOptionName"><![CDATA[Liter]]></column> </item> <item table="EcomVariantsOptions"> <column columnName="VariantOptionID"><![CDATA[Unit_STK]]></column> <column columnName="VariantOptionLanguageID"><![CDATA[DAN]]></column> <column columnName="VariantOptionGroupID"><![CDATA[NavUnits]]></column> <column columnName="VariantOptionName"><![CDATA[Styk]]></column> </item> </table> </tables>

The Import Manufacturers feature imports all NAV vendors to Dynamicweb as manufacturers.

Standard request:

XML
<GetEcomData> <tables> <Manufacturers type="all"/> </tables> </GetEcomData>

Standard response:

XML
<?xml version="1.0" encoding="utf-8"?> <tables> <table tableName="EcomManufacturers"> <item table="EcomManufacturers"> <column columnName="ManufacturerID"> <![CDATA[01254796]]> </column> <column columnName="ManufacturerName"> <![CDATA[Progressive Home Furnishings]]> </column> <column columnName="ManufacturerAddress"> <![CDATA[222 Reagan Drive]]> </column> <column columnName="ManufacturerZipCode"> <![CDATA[US-SC 27136]]> </column> <column columnName="ManufacturerCity"> <![CDATA[Columbia]]> </column> <column columnName="ManufacturerCountry"> <![CDATA[US]]> </column> <column columnName="ManufacturerPhone"> <![CDATA[]]> </column> <column columnName="ManufacturerFax"> <![CDATA[]]> </column> <column columnName="ManufacturerEmail"> <![CDATA[]]> </column> <column columnName="ManufacturerWeb"> <![CDATA[]]> </column> </item> </table> </tables>

The Import Customers feature imports NAV Contacts as Dynamicweb Users, where they can then login, place orders, and generally behave like any other user. It can also import NAV Sales People as users, with data on which users they are allowed to impersonate.

Out of the box this request imports all NAV Contact Cards with a valid NAV Customer Card and places them in a Customers group – relevant information from the associated NAV Customer Card is stamped down on the users, e.g. a customer number, the company address, and any ship-to addresses.

The modifier importSalesPeople causes the request to import all NAV Sales People as users in a Sales group. Associated NAV Contact Cards are imported to the AccessUserSecondaryRelation table in the database, which means that the NAV Sales People users will be able to impersonate these users and act on their behalf in frontend e.g. create orders, view order history, generate customer statement reports, etc.

Standard request:

XML
// Without NAV SalesPeople <GetEcomData > <tables> <Customers type="all" /> </tables> </GetEcomData> // With NAV SalesPeople <GetEcomData > <tables> <Customers type="all" importSalesPeople="true"/> </tables> </GetEcomData>

Standard Response

The basic structure of the XML response is this:

  • A table containing the user group 'Customers'
  • A table containing all NAV Contact Cards
  • A table containing all NAV addresses

Here's an example containing one user and one address:

XML
<?xml version="1.0" encoding="UTF-8"?> <tables> <table tableName="AccessUserGroup"> <item table="AccessUserGroup"> <column columnName="AccessGroupGroupName"><![CDATA[Customers]]></column> <column columnName="AccessGroupName"><![CDATA[Customers]]></column> </item> </table> <table tableName="AccessUser"> <item table="AccessUser"> <column columnName="AccessUserUserName"><![CDATA[mike.nash@contoso.com]]></column> <column columnName="AccessUserExternalID"><![CDATA[E000018]]></column> <column columnName="AccessUserCustomerNumber"><![CDATA[01121212]]></column> <column columnName="AccessUserName"><![CDATA[Mr. Mike Nash]]></column> <column columnName="AccessUserEmail"><![CDATA[spotsmeyer's.furnishings@contoso.com]]></column> <column columnName="AccessUserPhone"><![CDATA[]]></column> <column columnName="AccessUserFax"><![CDATA[]]></column> <column columnName="AccessUserAddress"><![CDATA[612 South Sunset Drive]]></column> <column columnName="AccessUserAddress2"><![CDATA[test1]]></column> <column columnName="AccessUserZip"><![CDATA[US-GA 31772]]></column> <column columnName="AccessUserCity"><![CDATA[Atlanta]]></column> <column columnName="AccessUserCountry"><![CDATA[US]]></column> <column columnName="AccessUserAddressTitle"><![CDATA[Company address]]></column> <column columnName="AccessUserCompany"><![CDATA[Spotsmeyer's Furnishings]]></column> <column columnName="AccessUserCurrencyCharacter"><![CDATA[]]></column> <column columnName="AccessUserActive"><![CDATA[true]]></column> <column columnName="AccessUserWeb"><![CDATA[]]></column> <column columnName="AccessUserGroups"><![CDATA[Customers]]></column> </item> </table> <table tableName="AccessUserAddress"> <item table="AccessUserAddress"> <column columnName="AccessUserAddressUserID"><![CDATA[E000018]]></column> <column columnName="AccessUserAddressType"><![CDATA[1]]></column> <column columnName="AccessUserAddressCallName"><![CDATA[Contact Address]]></column> <column columnName="AccessUserAddressCompany"><![CDATA[Spotsmeyer's Furnishings]]></column> <column columnName="AccessUserAddressName"><![CDATA[Contact Address]]></column> <column columnName="AccessUserAddressAddress"><![CDATA[test 2]]></column> <column columnName="AccessUserAddressAddress2"><![CDATA[]]></column> <column columnName="AccessUserAddressZip"><![CDATA[US-AL 35242]]></column> <column columnName="AccessUserAddressCity"><![CDATA[Birmingham]]></column> <column columnName="AccessUserAddressCountry"><![CDATA[US]]></column> <column columnName="AccessUserAddressCell"><![CDATA[]]></column> <column columnName="AccessUserAddressFax"><![CDATA[]]></column> <column columnName="AccessUserAddressEmail"><![CDATA[mike.nash@contoso.com]]></column> <column columnName="AccessUserAddressCustomerNumber"><![CDATA[01121212]]></column> <column columnName="AccessUserAddressUID"><![CDATA[E000018_ContactAddress]]></column> <column columnName="AccessUserAddressState"><![CDATA[US]]></column> <column columnName="AccessUserAddressPhoneBusiness"><![CDATA[]]></column> <column columnName="AccessUserAddressCountryCode"><![CDATA[US]]></column> <column columnName="AccessUserAddressDefaultAddressCustomFields"><![CDATA[False]]></column> </item> </table> </tables>

The Import Product Groups imports item categories from NAV/Business Central as Dynamicweb product groups. It also imports the following relational tables:

  • EcomShopGroupRelation handles relations between groups and a shop
  • EcomGroupRelation handles internal relations between groups
  • EcomGroupProductRelation handles relations between groups and products

As described in the introduction, you should import product groups before you import products. If you don’t, please be aware that it is not usually practical to work with the products in Dynamicweb PIM unless you have a group structure to navigate.

NAV/Business Central does not contain translations for item categories – but you can still import them to more than one language using the languages parameter:

Parameter

Values

Required?

Comments

languages

A comma-separated list of country codes

No

Defines which additional languages to create the groups in

setLanguage A country code Yes

Defines the language of the imported data – use system language from NAV, i.e. the language you enter data in.

shopID A shop id No - but highly encouraged!

Relates all imported groups to this specific shop or warehouse.

Standard request

XML
<GetEcomData shopID="SHOP13"> <tables> <ProductGroups type="all" setLanguage="DAN" languages="ENG"/> </tables> </GetEcomData>

Standard response:

XML
<?xml version="1.0" encoding="UTF-8"?> <tables version="1.2.0.0_NAV11.0.19394"> <table tableName="EcomGroups"> <item table="EcomGroups"> <column columnName="GroupID"><![CDATA[ARMLÆN]]></column> <column columnName="GroupLanguageID"><![CDATA[DAN]]></column> <column columnName="GroupName"><![CDATA[ARMLÆN]]></column> <column columnName="GroupInheritCategoryFieldsFromParent"><![CDATA[true]]></column> </item> <item table="EcomGroups"> <column columnName="GroupID"><![CDATA[ARMLÆN]]></column> <column columnName="GroupLanguageID"><![CDATA[ENG]]></column> <column columnName="GroupName"><![CDATA[ARMLÆN_ENG_NotTranslated]]></column> <column columnName="GroupInheritCategoryFieldsFromParent"><![CDATA[true]]></column> </item> <item table="EcomGroups"> <column columnName="GroupID"><![CDATA[BORD]]></column> <column columnName="GroupLanguageID"><![CDATA[DAN]]></column> <column columnName="GroupName"><![CDATA[Kontorbord]]></column> <column columnName="GroupInheritCategoryFieldsFromParent"><![CDATA[true]]></column> </item> <item table="EcomGroups"> <column columnName="GroupID"><![CDATA[BORD]]></column> <column columnName="GroupLanguageID"><![CDATA[ENG]]></column> <column columnName="GroupName"><![CDATA[BORD_ENG_NotTranslated]]></column> <column columnName="GroupInheritCategoryFieldsFromParent"><![CDATA[true]]></column> </item> </table> <table tableName="EcomShopGroupRelation"> <item table="EcomShopGroupRelation"> <column columnName="ShopGroupShopID"><![CDATA[SHOP13]]></column> <column columnName="ShopGroupGroupID"><![CDATA[ARMLÆN]]></column> </item> <item table="EcomShopGroupRelation"> <column columnName="ShopGroupShopID"><![CDATA[SHOP13]]></column> <column columnName="ShopGroupGroupID"><![CDATA[BORD]]></column> </item> </table> <table tableName="EcomGroupRelations"> <item table="EcomGroupRelations"> <column columnName="GroupRelationsGroupID"><![CDATA[ARMLÆN]]></column> <column columnName="GroupRelationsParentID"><![CDATA[STOL]]></column> <column columnName="GroupRelationsSorting"><![CDATA[5]]></column> </item> <item table="EcomGroupRelations"> <column columnName="GroupRelationsGroupID"><![CDATA[BORD]]></column> <column columnName="GroupRelationsParentID"><![CDATA[MØBLER]]></column> <column columnName="GroupRelationsSorting"><![CDATA[3]]></column> </item> </table> <table tableName="EcomGroupProductRelation"> <item table="EcomGroupProductRelation"> <column columnName="GroupProductRelationGroupID"><![CDATA[STOL]]></column> <column columnName="GroupProductRelationProductID"><![CDATA[1900-S]]></column> <column columnName="GroupProductRelationIsPrimary"><![CDATA[True]]></column> </item> </table> </tables>

The Import Products feature imports items from NAV/Business Central as Dynamicweb products. Please note, that if you want to place the imported items in product groups or warehouse groups imported from a remote system, make sure you import the group structure before the products.

The importProductProperties attribute allows you to also import item properties from NAV/Business Central as product properties – they are placed in a product category called Imported NAV Item Attributes. This attribute includes a number of related tables, so mind the overhead.

If you have more than 1000 records when importing products we recommend using pagination - see the Import data with paging add-in documentation

The following parameters can be used to control which languages to include in the import:

Parameter

Values

Required?

Comments

setLanguage

A country code

Yes

Defines the language of the imported data – use system language from NAV, i.e. the language you enter data in.

languages

A comma-separated list of country codes

No

Defines which additional translations from NAV to also include in the import.

groupID

A group id No

Imports all products to this specific group - e.g. a New products group. Make sure this group exists and is associated with a shop or warehouse.

 

Usually only relevant for PIM setups where the warehouse structure should be built manually or imported from an different place than the ERP.

 

Set on the GetEcomData request.

Standard request:

XML
//Without product properties <GetEcomData> <tables> <Products type="all" setLanguage="DAN" /> </tables> </GetEcomData> //With product properties <GetEcomData> <tables> <Products type="all" setLanguage="DAN" importProductProperties="true" /> </tables> </GetEcomData> //With a specific groupID set <GetEcomData groupID="GROUP3"> <tables> <Products type="all" setLanguage="DAN" importProductProperties="true" /> </tables> </GetEcomData>

Standard response:

XML
// Without product properties included <?xml version="1.0" encoding="utf-8"?> <tables> <table tableName="EcomProducts"> <item table="EcomProducts"> <column columnName="ProductID"><![CDATA[1900-S]]></column> <column columnName="ProductLanguageID"><![CDATA[DAN]]></column> <column columnName="ProductVariantID"><![CDATA[]]></column> <column columnName="ProductNumber"><![CDATA[1900-S]]></column> <column columnName="ProductName"><![CDATA[PARIS Gæstestol, sort]]></column> <column columnName="ProductShortDescription"><![CDATA[]]></column> <column columnName="ProductPrice"><![CDATA[1,071.00]]></column> <column columnName="ProductStock"><![CDATA[299]]></column> <column columnName="ProductWeight"><![CDATA[8.3]]></column> <column columnName="ProductVolume"><![CDATA[0.25]]></column> <column columnName="ProductManufacturerID"><![CDATA[20000]]></column> <column columnName="ProductActive"><![CDATA[true]]></column> <column columnName="ProductVariantCounter"><![CDATA[0]]></column> <column columnName="ProductDefaultUnitID"><![CDATA[Unit_STK]]></column> <column columnName="EAN"><![CDATA[]]></column> </item> </table> </tables> // With product properties included <?xml version="1.0" encoding="utf-8"?> <tables> <table tableName="EcomProducts"> <item table="EcomProducts"> <column columnName="ProductID"><![CDATA[1900-S]]></column> <column columnName="ProductLanguageID"><![CDATA[DAN]]></column> <column columnName="ProductVariantID"><![CDATA[]]></column> <column columnName="ProductNumber"><![CDATA[1900-S]]></column> <column columnName="ProductName"><![CDATA[PARIS Gæstestol, sort]]></column> <column columnName="ProductShortDescription"><![CDATA[]]></column> <column columnName="ProductPrice"><![CDATA[1,071.00]]></column> <column columnName="ProductStock"><![CDATA[299]]></column> <column columnName="ProductWeight"><![CDATA[8.3]]></column> <column columnName="ProductVolume"><![CDATA[0.25]]></column> <column columnName="ProductManufacturerID"><![CDATA[20000]]></column> <column columnName="ProductActive"><![CDATA[true]]></column> <column columnName="ProductVariantCounter"><![CDATA[0]]></column> <column columnName="ProductDefaultUnitID"><![CDATA[Unit_STK]]></column> <column columnName="EAN"><![CDATA[]]></column> </item> </table> <table tableName="EcomProductCategory"> <item table="EcomProductCategory"> <column columnName="CategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="CategoryProductProperties"><![CDATA[true]]></column> </item> </table> <table tableName="EcomProductCategoryTranslation"> <item table="EcomProductCategoryTranslation"> <column columnName="CategoryTranslationCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="CategoryTranslationLanguageId"><![CDATA[DAN]]></column> <column columnName="CategoryTranslationCategoryName"><![CDATA[Imported NAV Item Attributes]]></column> </item> </table> <table tableName="EcomProductCategoryField"> <item table="EcomProductCategoryField"> <column columnName="FieldId"><![CDATA[ImportedNAVItemAttributes_3]]></column> <column columnName="FieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldTemplateTag"><![CDATA[ImportedNAVItemAttributes_3]]></column> <column columnName="FieldType"><![CDATA[7]]></column> <column columnName="FieldDefaultValue"><![CDATA[200]]></column> <column columnName="FieldPresentationType"><![CDATA[1]]></column> <column columnName="FieldDoNotRender"><![CDATA[false]]></column> <column columnName="FieldHideEmpty"><![CDATA[false]]></column> </item> <item table="EcomProductCategoryField"> <column columnName="FieldId"><![CDATA[ImportedNAVItemAttributes_1]]></column> <column columnName="FieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldTemplateTag"><![CDATA[ImportedNAVItemAttributes_1]]></column> <column columnName="FieldType"><![CDATA[15]]></column> <column columnName="FieldDefaultValue"><![CDATA[2]]></column> <column columnName="FieldPresentationType"><![CDATA[1]]></column> <column columnName="FieldDoNotRender"><![CDATA[false]]></column> <column columnName="FieldHideEmpty"><![CDATA[false]]></column> </item> <item table="EcomProductCategoryField"> <column columnName="FieldId"><![CDATA[ImportedNAVItemAttributes_2]]></column> <column columnName="FieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldTemplateTag"><![CDATA[ImportedNAVItemAttributes_2]]></column> <column columnName="FieldType"><![CDATA[7]]></column> <column columnName="FieldDefaultValue"><![CDATA[60]]></column> <column columnName="FieldPresentationType"><![CDATA[1]]></column> <column columnName="FieldDoNotRender"><![CDATA[false]]></column> <column columnName="FieldHideEmpty"><![CDATA[false]]></column> </item> <item table="EcomProductCategoryField"> <column columnName="FieldId"><![CDATA[ImportedNAVItemAttributes_4]]></column> <column columnName="FieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldTemplateTag"><![CDATA[ImportedNAVItemAttributes_4]]></column> <column columnName="FieldType"><![CDATA[7]]></column> <column columnName="FieldDefaultValue"><![CDATA[170]]></column> <column columnName="FieldPresentationType"><![CDATA[1]]></column> <column columnName="FieldDoNotRender"><![CDATA[false]]></column> <column columnName="FieldHideEmpty"><![CDATA[false]]></column> </item> <item table="EcomProductCategoryField"> <column columnName="FieldId"><![CDATA[ImportedNAVItemAttributes_5]]></column> <column columnName="FieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldTemplateTag"><![CDATA[ImportedNAVItemAttributes_5]]></column> <column columnName="FieldType"><![CDATA[1]]></column> <column columnName="FieldDefaultValue"><![CDATA[]]></column> <column columnName="FieldPresentationType"><![CDATA[1]]></column> <column columnName="FieldDoNotRender"><![CDATA[false]]></column> <column columnName="FieldHideEmpty"><![CDATA[false]]></column> </item> <item table="EcomProductCategoryField"> <column columnName="FieldId"><![CDATA[ImportedNAVItemAttributes_6]]></column> <column columnName="FieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldTemplateTag"><![CDATA[ImportedNAVItemAttributes_6]]></column> <column columnName="FieldType"><![CDATA[6]]></column> <column columnName="FieldDefaultValue"><![CDATA[]]></column> <column columnName="FieldPresentationType"><![CDATA[1]]></column> <column columnName="FieldDoNotRender"><![CDATA[false]]></column> <column columnName="FieldHideEmpty"><![CDATA[false]]></column> </item> <item table="EcomProductCategoryField"> <column columnName="FieldId"><![CDATA[ImportedNAVItemAttributes_8]]></column> <column columnName="FieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldTemplateTag"><![CDATA[ImportedNAVItemAttributes_8]]></column> <column columnName="FieldType"><![CDATA[1]]></column> <column columnName="FieldDefaultValue"><![CDATA[]]></column> <column columnName="FieldPresentationType"><![CDATA[1]]></column> <column columnName="FieldDoNotRender"><![CDATA[false]]></column> <column columnName="FieldHideEmpty"><![CDATA[false]]></column> </item> </table> <table tableName="EcomProductCategoryFieldTranslation"> <item table="EcomProductCategoryFieldTranslation"> <column columnName="FieldTranslationFieldId"><![CDATA[ImportedNAVItemAttributes_3]]></column> <column columnName="FieldTranslationFieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldTranslationLanguageId"><![CDATA[DAN]]></column> <column columnName="FieldTranslationFieldLabel"><![CDATA[Bredde]]></column> <column columnName="FieldTranslationFieldOptions"><![CDATA[<Options />]]></column> </item> <item table="EcomProductCategoryFieldTranslation"> <column columnName="FieldTranslationFieldId"><![CDATA[ImportedNAVItemAttributes_1]]></column> <column columnName="FieldTranslationFieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldTranslationLanguageId"><![CDATA[DAN]]></column> <column columnName="FieldTranslationFieldLabel"><![CDATA[Farve]]></column> <column columnName="FieldTranslationFieldOptions"><![CDATA[<Options><Option Name="DAN Rod" Value="1" Default="" /><Option Name="Orange" Value="2" Default="" /><Option Name="Gul" Value="3" Default="" /><Option Name="Grøn" Value="4" Default="" /><Option Name="Blå" Value="5" Default="" /><Option Name="Violet" Value="6" Default="" /><Option Name="Mørklilla" Value="7" Default="" /><Option Name="Sort" Value="8" Default="" /><Option Name="Hvid" Value="9" Default="" /></Options>]]></column> </item> <item table="EcomProductCategoryFieldTranslation"> <column columnName="FieldTranslationFieldId"><![CDATA[ImportedNAVItemAttributes_2]]></column> <column columnName="FieldTranslationFieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldTranslationLanguageId"><![CDATA[DAN]]></column> <column columnName="FieldTranslationFieldLabel"><![CDATA[DAN Dybde]]></column> <column columnName="FieldTranslationFieldOptions"><![CDATA[<Options />]]></column> </item> <item table="EcomProductCategoryFieldTranslation"> <column columnName="FieldTranslationFieldId"><![CDATA[ImportedNAVItemAttributes_4]]></column> <column columnName="FieldTranslationFieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldTranslationLanguageId"><![CDATA[DAN]]></column> <column columnName="FieldTranslationFieldLabel"><![CDATA[Højde]]></column> <column columnName="FieldTranslationFieldOptions"><![CDATA[<Options />]]></column> </item> <item table="EcomProductCategoryFieldTranslation"> <column columnName="FieldTranslationFieldId"><![CDATA[ImportedNAVItemAttributes_5]]></column> <column columnName="FieldTranslationFieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldTranslationLanguageId"><![CDATA[DAN]]></column> <column columnName="FieldTranslationFieldLabel"><![CDATA[Beskrivelse af materiel]]></column> <column columnName="FieldTranslationFieldOptions"><![CDATA[<Options />]]></column> </item> <item table="EcomProductCategoryFieldTranslation"> <column columnName="FieldTranslationFieldId"><![CDATA[ImportedNAVItemAttributes_6]]></column> <column columnName="FieldTranslationFieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldTranslationLanguageId"><![CDATA[DAN]]></column> <column columnName="FieldTranslationFieldLabel"><![CDATA[Modelår]]></column> <column columnName="FieldTranslationFieldOptions"><![CDATA[<Options />]]></column> </item> <item table="EcomProductCategoryFieldTranslation"> <column columnName="FieldTranslationFieldId"><![CDATA[ImportedNAVItemAttributes_8]]></column> <column columnName="FieldTranslationFieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldTranslationLanguageId"><![CDATA[DAN]]></column> <column columnName="FieldTranslationFieldLabel"><![CDATA[TestAttr]]></column> <column columnName="FieldTranslationFieldOptions"><![CDATA[<Options />]]></column> </item> </table> <table tableName="EcomFieldOption"> <item table="EcomFieldOption"> <column columnName="FieldOptionId"><![CDATA[ImportedNAVItemAttributes_1_1]]></column> <column columnName="FieldOptionFieldId"><![CDATA[ImportedNAVItemAttributes_1]]></column> <column columnName="FieldOptionName"><![CDATA[Rød]]></column> <column columnName="FieldOptionValue"><![CDATA[1]]></column> </item> <item table="EcomFieldOption"> <column columnName="FieldOptionId"><![CDATA[ImportedNAVItemAttributes_1_2]]></column> <column columnName="FieldOptionFieldId"><![CDATA[ImportedNAVItemAttributes_1]]></column> <column columnName="FieldOptionName"><![CDATA[Orange]]></column> <column columnName="FieldOptionValue"><![CDATA[2]]></column> </item> <item table="EcomFieldOption"> <column columnName="FieldOptionId"><![CDATA[ImportedNAVItemAttributes_1_3]]></column> <column columnName="FieldOptionFieldId"><![CDATA[ImportedNAVItemAttributes_1]]></column> <column columnName="FieldOptionName"><![CDATA[Gul]]></column> <column columnName="FieldOptionValue"><![CDATA[3]]></column> </item> <item table="EcomFieldOption"> <column columnName="FieldOptionId"><![CDATA[ImportedNAVItemAttributes_1_4]]></column> <column columnName="FieldOptionFieldId"><![CDATA[ImportedNAVItemAttributes_1]]></column> <column columnName="FieldOptionName"><![CDATA[Grøn]]></column> <column columnName="FieldOptionValue"><![CDATA[4]]></column> </item> <item table="EcomFieldOption"> <column columnName="FieldOptionId"><![CDATA[ImportedNAVItemAttributes_1_5]]></column> <column columnName="FieldOptionFieldId"><![CDATA[ImportedNAVItemAttributes_1]]></column> <column columnName="FieldOptionName"><![CDATA[Blå]]></column> <column columnName="FieldOptionValue"><![CDATA[5]]></column> </item> <item table="EcomFieldOption"> <column columnName="FieldOptionId"><![CDATA[ImportedNAVItemAttributes_1_6]]></column> <column columnName="FieldOptionFieldId"><![CDATA[ImportedNAVItemAttributes_1]]></column> <column columnName="FieldOptionName"><![CDATA[Violet]]></column> <column columnName="FieldOptionValue"><![CDATA[6]]></column> </item> <item table="EcomFieldOption"> <column columnName="FieldOptionId"><![CDATA[ImportedNAVItemAttributes_1_7]]></column> <column columnName="FieldOptionFieldId"><![CDATA[ImportedNAVItemAttributes_1]]></column> <column columnName="FieldOptionName"><![CDATA[Mørklilla]]></column> <column columnName="FieldOptionValue"><![CDATA[7]]></column> </item> <item table="EcomFieldOption"> <column columnName="FieldOptionId"><![CDATA[ImportedNAVItemAttributes_1_8]]></column> <column columnName="FieldOptionFieldId"><![CDATA[ImportedNAVItemAttributes_1]]></column> <column columnName="FieldOptionName"><![CDATA[Sort]]></column> <column columnName="FieldOptionValue"><![CDATA[8]]></column> </item> <item table="EcomFieldOption"> <column columnName="FieldOptionId"><![CDATA[ImportedNAVItemAttributes_1_9]]></column> <column columnName="FieldOptionFieldId"><![CDATA[ImportedNAVItemAttributes_1]]></column> <column columnName="FieldOptionName"><![CDATA[Hvid]]></column> <column columnName="FieldOptionValue"><![CDATA[9]]></column> </item> </table> <table tableName="EcomFieldOptionTranslation"> <item table="EcomFieldOptionTranslation"> <column columnName="EcomFieldOptionTranslationOptionID"><![CDATA[ImportedNAVItemAttributes_1_2]]></column> <column columnName="EcomFieldOptionTranslationLanguageID"><![CDATA[DAN]]></column> <column columnName="EcomFieldOptionTranslationName"><![CDATA[Orange]]></column> </item> <item table="EcomFieldOptionTranslation"> <column columnName="EcomFieldOptionTranslationOptionID"><![CDATA[ImportedNAVItemAttributes_1_3]]></column> <column columnName="EcomFieldOptionTranslationLanguageID"><![CDATA[DAN]]></column> <column columnName="EcomFieldOptionTranslationName"><![CDATA[Gul]]></column> </item> <item table="EcomFieldOptionTranslation"> <column columnName="EcomFieldOptionTranslationOptionID"><![CDATA[ImportedNAVItemAttributes_1_4]]></column> <column columnName="EcomFieldOptionTranslationLanguageID"><![CDATA[DAN]]></column> <column columnName="EcomFieldOptionTranslationName"><![CDATA[Grøn]]></column> </item> <item table="EcomFieldOptionTranslation"> <column columnName="EcomFieldOptionTranslationOptionID"><![CDATA[ImportedNAVItemAttributes_1_5]]></column> <column columnName="EcomFieldOptionTranslationLanguageID"><![CDATA[DAN]]></column> <column columnName="EcomFieldOptionTranslationName"><![CDATA[Blå]]></column> </item> <item table="EcomFieldOptionTranslation"> <column columnName="EcomFieldOptionTranslationOptionID"><![CDATA[ImportedNAVItemAttributes_1_6]]></column> <column columnName="EcomFieldOptionTranslationLanguageID"><![CDATA[DAN]]></column> <column columnName="EcomFieldOptionTranslationName"><![CDATA[Violet]]></column> </item> <item table="EcomFieldOptionTranslation"> <column columnName="EcomFieldOptionTranslationOptionID"><![CDATA[ImportedNAVItemAttributes_1_7]]></column> <column columnName="EcomFieldOptionTranslationLanguageID"><![CDATA[DAN]]></column> <column columnName="EcomFieldOptionTranslationName"><![CDATA[Mørklilla]]></column> </item> <item table="EcomFieldOptionTranslation"> <column columnName="EcomFieldOptionTranslationOptionID"><![CDATA[ImportedNAVItemAttributes_1_8]]></column> <column columnName="EcomFieldOptionTranslationLanguageID"><![CDATA[DAN]]></column> <column columnName="EcomFieldOptionTranslationName"><![CDATA[Sort]]></column> </item> <item table="EcomFieldOptionTranslation"> <column columnName="EcomFieldOptionTranslationOptionID"><![CDATA[ImportedNAVItemAttributes_1_9]]></column> <column columnName="EcomFieldOptionTranslationLanguageID"><![CDATA[DAN]]></column> <column columnName="EcomFieldOptionTranslationName"><![CDATA[Hvid]]></column> </item> <item table="EcomFieldOptionTranslation"> <column columnName="EcomFieldOptionTranslationOptionID"><![CDATA[ImportedNAVItemAttributes_1_1]]></column> <column columnName="EcomFieldOptionTranslationLanguageID"><![CDATA[DAN]]></column> <column columnName="EcomFieldOptionTranslationName"><![CDATA[DAN Rod]]></column> </item> </table> <table tableName="EcomProductCategoryFieldValue"> <item table="EcomProductCategoryFieldValue"> <column columnName="FieldValueFieldId"><![CDATA[ImportedNAVItemAttributes_1]]></column> <column columnName="FieldValueFieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldValueProductId"><![CDATA[1900-S]]></column> <column columnName="FieldValueProductVariantId"><![CDATA[]]></column> <column columnName="FieldValueProductLanguageId"><![CDATA[DAN]]></column> <column columnName="FieldValueValue"><![CDATA[8]]></column> </item> <item table="EcomProductCategoryFieldValue"> <column columnName="FieldValueFieldId"><![CDATA[ImportedNAVItemAttributes_2]]></column> <column columnName="FieldValueFieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldValueProductId"><![CDATA[1900-S]]></column> <column columnName="FieldValueProductVariantId"><![CDATA[]]></column> <column columnName="FieldValueProductLanguageId"><![CDATA[DAN]]></column> <column columnName="FieldValueValue"><![CDATA[70]]></column> </item> <item table="EcomProductCategoryFieldValue"> <column columnName="FieldValueFieldId"><![CDATA[ImportedNAVItemAttributes_3]]></column> <column columnName="FieldValueFieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldValueProductId"><![CDATA[1900-S]]></column> <column columnName="FieldValueProductVariantId"><![CDATA[]]></column> <column columnName="FieldValueProductLanguageId"><![CDATA[DAN]]></column> <column columnName="FieldValueValue"><![CDATA[75]]></column> </item> <item table="EcomProductCategoryFieldValue"> <column columnName="FieldValueFieldId"><![CDATA[ImportedNAVItemAttributes_4]]></column> <column columnName="FieldValueFieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldValueProductId"><![CDATA[1900-S]]></column> <column columnName="FieldValueProductVariantId"><![CDATA[]]></column> <column columnName="FieldValueProductLanguageId"><![CDATA[DAN]]></column> <column columnName="FieldValueValue"><![CDATA[100]]></column> </item> <item table="EcomProductCategoryFieldValue"> <column columnName="FieldValueFieldId"><![CDATA[ImportedNAVItemAttributes_5]]></column> <column columnName="FieldValueFieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldValueProductId"><![CDATA[1900-S]]></column> <column columnName="FieldValueProductVariantId"><![CDATA[]]></column> <column columnName="FieldValueProductLanguageId"><![CDATA[DAN]]></column> <column columnName="FieldValueValue"><![CDATA[Læder, Satinpoleret aluminiumbase]]></column> </item> <item table="EcomProductCategoryFieldValue"> <column columnName="FieldValueFieldId"><![CDATA[ImportedNAVItemAttributes_6]]></column> <column columnName="FieldValueFieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldValueProductId"><![CDATA[1900-S]]></column> <column columnName="FieldValueProductVariantId"><![CDATA[]]></column> <column columnName="FieldValueProductLanguageId"><![CDATA[DAN]]></column> <column columnName="FieldValueValue"><![CDATA[1952]]></column> </item> <item table="EcomProductCategoryFieldValue"> <column columnName="FieldValueFieldId"><![CDATA[ImportedNAVItemAttributes_8]]></column> <column columnName="FieldValueFieldCategoryId"><![CDATA[ImportedNAVItemAttributes]]></column> <column columnName="FieldValueProductId"><![CDATA[1900-S]]></column> <column columnName="FieldValueProductVariantId"><![CDATA[]]></column> <column columnName="FieldValueProductLanguageId"><![CDATA[DAN]]></column> <column columnName="FieldValueValue"><![CDATA[123]]></column> </item> </table> </tables>

The Import Product Stock feature imports product stock from NAV to Dynamicweb. By default, stock is imported as a single summed number regardless of the inventory location, but a modifier – importStockLocations – allows you to import inventory per product per location.

Product stock is also imported (as a summed number) by the Import Products feature – but this feature is comparatively light weight and can be run more frequently without impacting performance.

Standard request:

XML
//Without NAV inventory locations <GetEcomData> <tables> <ProductStock type="all"/> </tables> </GetEcomData> //With NAV inventory locations <GetEcomData> <tables> <ProductStock type="all" importStockLocations="true" /> </tables> </GetEcomData>

Standard response:

XML
//Without NAV inventory locations <?xml version="1.0" encoding="UTF-8"?> <tables> <table tableName="EcomProducts"> <item table="EcomProducts"> <column columnName="ProductID"><![CDATA[1900-S]]></column> <column columnName="ProductVariantID"><![CDATA[]]></column> <column columnName="ProductNumber"><![CDATA[1900-S]]></column> <column columnName="ProductStock"><![CDATA[299]]></column> </item> </table> </tables> //With NAV inventory locations <?xml version="1.0" encoding="UTF-8"?> <tables> <table tableName="EcomStockLocation"> <item table="EcomStockLocation"> <column columnName="StockLocationId"><![CDATA[-1488406033]]></column> <column columnName="StockLocationName"><![CDATA[BLÅ]]></column> <column columnName="StockLocationDescription"><![CDATA[Blåt lager]]></column> <column columnName="StockLocationLanguageId"><![CDATA[ENU]]></column> <column columnName="StockLocationGroupId"><![CDATA[-1488406033]]></column> </item> <item table="EcomStockLocation"> <column columnName="StockLocationId"><![CDATA[1173220836]]></column> <column columnName="StockLocationName"><![CDATA[RØD]]></column> <column columnName="StockLocationDescription"><![CDATA[Rødt lager]]></column> <column columnName="StockLocationLanguageId"><![CDATA[ENU]]></column> <column columnName="StockLocationGroupId"><![CDATA[1173220836]]></column> </item> <item table="EcomStockLocation"> <column columnName="StockLocationId"><![CDATA[884247070]]></column> <column columnName="StockLocationName"><![CDATA[GUL]]></column> <column columnName="StockLocationDescription"><![CDATA[Gult lager]]></column> <column columnName="StockLocationLanguageId"><![CDATA[ENU]]></column> <column columnName="StockLocationGroupId"><![CDATA[884247070]]></column> </item> <item table="EcomStockLocation"> <column columnName="StockLocationId"><![CDATA[1602979415]]></column> <column columnName="StockLocationName"><![CDATA[GRØN]]></column> <column columnName="StockLocationDescription"><![CDATA[Grønt lager]]></column> <column columnName="StockLocationLanguageId"><![CDATA[ENU]]></column> <column columnName="StockLocationGroupId"><![CDATA[1602979415]]></column> </item> </table> <table tableName="EcomStockUnit"> <item table="EcomStockUnit"> <column columnName="StockUnitProductId"><![CDATA[1900-S]]></column> <column columnName="StockUnitVariantId"><![CDATA[]]></column> <column columnName="StockUnitId"><![CDATA[Unit_STK]]></column> <column columnName="StockUnitQuantity"><![CDATA[52]]></column> <column columnName="StockUnitStockLocationId"><![CDATA[-1488406033]]></column> </item> <item table="EcomStockUnit"> <column columnName="StockUnitProductId"><![CDATA[1900-S]]></column> <column columnName="StockUnitVariantId"><![CDATA[]]></column> <column columnName="StockUnitId"><![CDATA[Unit_STK]]></column> <column columnName="StockUnitQuantity"><![CDATA[46]]></column> <column columnName="StockUnitStockLocationId"><![CDATA[1173220836]]></column> </item> <item table="EcomStockUnit"> <column columnName="StockUnitProductId"><![CDATA[1900-S]]></column> <column columnName="StockUnitVariantId"><![CDATA[]]></column> <column columnName="StockUnitId"><![CDATA[Unit_STK]]></column> <column columnName="StockUnitQuantity"><![CDATA[160]]></column> <column columnName="StockUnitStockLocationId"><![CDATA[884247070]]></column> </item> <item table="EcomStockUnit"> <column columnName="StockUnitProductId"><![CDATA[1900-S]]></column> <column columnName="StockUnitVariantId"><![CDATA[]]></column> <column columnName="StockUnitId"><![CDATA[Unit_STK]]></column> <column columnName="StockUnitQuantity"><![CDATA[41]]></column> <column columnName="StockUnitStockLocationId"><![CDATA[1602979415]]></column> </item> </table> </tables>

The Import Countries feature imports countries from NAV/Business Central. Currently, all countries from NAV/Business are imported - for simple setups consider creating the required countried manually instead.

Standard request:

XML
<GetEcomData> <tables> <Countries type="all"/> </tables> </GetEcomData>

Standard response:

XML
<?xml version="1.0" encoding="utf-8"?> <tables> <table tableName="EcomCountries"> <item table="EcomCountries"> <column columnName="CountryCode2"><![CDATA[AE]]></column> </item> </table> <table tableName="EcomCountryText"> <item table="EcomCountryText"> <column columnName="CountryTextCode2"> <![CDATA[AE]]> </column> <column columnName="CountryTextLanguageId"> <![CDATA[ENU]]> </column> <column columnName="CountryTextName"> <![CDATA[Forenede Arabiske Emirater]]> </column> </item> </table> </tables>

XML attributes are used by both batch integration add-ins and the live integration to trigger a particular behavior on the remote side or in the Connectors, such as batch sizes, reimports, and so on.

Some attributes may have to be added manually to your request, depending on the integration architecture.

Here is a (partial) list of attributes and what they are used for:

Attribute

Values

Use

CustomModifier

Any string

When two instances of a website point to one remote instance, this attribute allows the data to be synchronized independently.