Developer forum

Forum » Integration » How to get Order Shipping Status from Business Central to DW

How to get Order Shipping Status from Business Central to DW

Girish Kamble
Reply

Hi,

I am integrating Endpoint to get the order details from Business Central to DW. However, I cannot get the fields required for Shipping Status from Business  Central.

Please let me know how we can get the Shipping Status from BC to DW.


Replies

 
Dmitriy Benyuk Dynamicweb Employee
Dmitriy Benyuk
Reply

Hi Girish,
we already support adding custom fields to the response for different entities (including Sales Orders) out of the box by configuring them in BC UI explained here:
https://doc.dynamicweb.com/documentation-9/integration/integration-framework/erp-plug-in-units/nav-and-business-central-requests-and-responses#sideNavTitle1-13
BR, Dmitrij

 
Girish Kamble
Reply

Hi Dmitrij,

It is related to the Shipping Details from BC to DW and currently, I am getting only the Shipping Date from BC. I need to have some other fields as well.

Regards,
Girish

 
Dmitriy Benyuk Dynamicweb Employee
Dmitriy Benyuk
Reply

Can you give more information what Shipping details from BC do you wnat to get? What are the table/entity names in BC? Where do you need it on the Dynamicweb side: Live integration, batch import or smth else?

 
Girish Kamble
Reply

Hi Dmitriy,

We are looking out for ShippingStatus, whenever something changes on the Orders at Business Central which will update the DynamicWeb EcomOrders table.
Here ShippingStatus is the custom field in Dynamicweb EcomOrders table. It could be live or batch data.


Currently, we are unable to get anything from BC when we have a test request on Simple Orders data. But while fetching OpenOrders we are getting the following data:

<?xml version="1.0" encoding="utf-8"?>
<Items type="OpenOrder" version="1.2.0.32_NAV22.0.60366.0">
  <item>
    <column columnName="id"><![CDATA[SO200526]]></column>
    <column columnName="orderDate"><![CDATA[2022/08/02]]></column>
    <column columnName="shipDate"><![CDATA[2022/08/02]]></column>
    <column columnName="dueDate"><![CDATA[]]></column>
    <column columnName="postingDate"><![CDATA[2022/08/02]]></column>
    <column columnName="documentDate"><![CDATA[2022/08/02]]></column>
    <column columnName="totalAmount"><![CDATA[0.00]]></column>
    <column columnName="totalAmountIncVat"><![CDATA[0.00]]></column>
  </item>
</Items>

Thanks and Regards,
Girish
 

 
Matthias Sebastian Sort Dynamicweb Employee
Matthias Sebastian Sort
Reply

Hi Girish,

I am not sure which fields you are looking for in your BC, but maybe this solution can help you out.

If you do this through an activity, you could do an OData Provider (Source) to Order Provider (Destination).

Then the question is, what endpoint should you add in the "Integration --> Endpoint management" and use in the OData Provider, as if the type of the field in BC is a custom-field then you need to expose the page as a web service in BC if not then the default API should do it.

In your job-settings for the OData Provider you can select a "mode" to run only delta called "Delta replication" so you're only fetching updated records from BC (since last run of this activity, meaning first run will be a Full replication, next will be Delta).

For your tablle-mapping from salesOrders (or if it's V4 then the name you've given it in your web service on BC) to EcomOrders you can add some conditionals so you only fetches the orders that you want to look at. This will be added as a $filter on the calls to BC.

Hope this can help you out, if you have further questions then you know where to write! :)

BR

Matthias Sort

 

You must be logged in to post in the forum