Developer forum

Forum » Integration » How Customer Address Integration works from D365

How Customer Address Integration works from D365

Kayla Lumpford-Mitchell
Reply

We have a customer using DW 10 who wants to sync addresses from a customer in D365 down to all users associated with that customer in DW. The DW users are not created in D365 so the only thing tying them to the D365 customer is the customer number field we fill out on the user's external ID in DW backend. How can we sync billing and delivery addresses to all users with that customer number and ensure they atay up to date without duplicating addresses or limiting it to only apply to the first user the scheduled job comes across with that customer number?


Replies

 
Nuno Aguiar Dynamicweb Employee
Nuno Aguiar
Reply

Hi Kayla,

 

Using the new User apps you can get the addresses by Customer Number instead of by User (ID). This allows you to import the addresses into the "Account".

In the Shopping Cart app, you also have that selection under Payment & Delivery

 

What you can do is create the a user group (or a dummy user - but not as flexible) for each account and have the addresses be associated with the user group.

 

Best Regards,

Nuno Aguiar

 
Dmitriy Benyuk Dynamicweb Employee
Dmitriy Benyuk
Reply

Hi Kayla,
you can use the request: <GetEcomData><tables><Addresses type="all" /></tables></GetEcomData>
to get the D365BC addresses. That request is a part of import customers request but can be used just to get only the addresses.
The response contains the xml with a customer number column like that:
 

<tables version="1.2.0.60_NAV27.0.42473.0">
<table tableName="AccessUserAddress">
<item table="AccessUserAddress">
<column columnName="AccessUserAddressUserID"><![CDATA[CT000014]]></column>
<column columnName="AccessUserAddressType"><![CDATA[1]]></column>
<column columnName="AccessUserAddressCompany"><![CDATA[Adatum Corporation]]></column>
<column columnName="AccessUserAddressName"><![CDATA[Contact Address]]></column>
<column columnName="AccessUserAddressAddress"><![CDATA[Station Road, 21]]></column>
<column columnName="AccessUserAddressAddress2"><![CDATA[]]></column>
<column columnName="AccessUserAddressZip"><![CDATA[CB1 2FB]]></column>
<column columnName="AccessUserAddressCity"><![CDATA[Cambridge]]></column>
<column columnName="AccessUserAddressCountry"><![CDATA[GB]]></column>
<column columnName="AccessUserAddressCell"><![CDATA[]]></column>
<column columnName="AccessUserAddressFax"><![CDATA[]]></column>
<column columnName="AccessUserAddressEmail"><![CDATA[robert.townes@contoso.com]]></column>
<column columnName="AccessUserAddressCustomerNumber"><![CDATA[10000]]></column>
<column columnName="AccessUserAddressUID"><![CDATA[CT000014_ContactAddress]]></column>
<column columnName="AccessUserAddressState"><![CDATA[GB]]></column>
<column columnName="AccessUserAddressPhoneBusiness"><![CDATA[]]></column>
<column columnName="AccessUserAddressCountryCode"><![CDATA[GB]]></column>
<column columnName="AccessUserAddressDefaultAddressCustomFields"><![CDATA[False]]></column>
<column columnName="AccessUserAddressExternalId"><![CDATA[]]></column>
</item>

You can try to map the source column AccessUserAddressCustomerNumber to AccessUserAddressUserID and use the User provider as destination.

BR, Dmitrij

 

You must be logged in to post in the forum