Dashboard > ChannelAdvisor Developer Network > ChannelAdvisor Developer Network > Intro to integrations
Log In   View a printable version of the current page.
Intro to integrations
Added by Greg Smith, last edited by Greg Smith on Jul 01, 2008  (view change)
Labels: 
(None)


This page is a high level introduction to the most typical system integration.  I use the name System2 as the non-ChannelAdvisor system.  This integration involves sending ChannelAdvisor inventory, and then pulling 'Ready To Ship' orders.  Finally, System2 sends ChannelAdvisor a shipping confirmation.  The diagram tries to convey this flow, follow the numbers.  (No system integration is complete without a goofy, overly simplified diagram.)
 



Order Sync

Pulling Orders From ChannelAdvisor Into System2

Typically people want to pull orders that are ready to ship (payment Cleared and UnShipped). They want to pull the order only one time, so they don't duplicate their downloads. This entails calling OrderService.GetOrderList (http://developer.channeladvisor.com/display/cadn/GetOrderList) to get the orders, and then calling OrderService.SetOrdersExportStatus(http://developer.channeladvisor.com/display/cadn/SetOrdersExportStatus) to mark the order as already downloaded.  GetOrderList does allow for querying for orders that are in a different state, but I use Ready To Ship in the example as it is the most common.

A working sample and detailed explanation is here: http://developer.channeladvisor.com/display/cadn/GetOrderList+by+ExportedState. The end result of the sample code is an xml file for each order that is "Ready To Ship". The integrator would need to load the xml into the system they are integrating with.

Updating Shipping Status From System2 to ChannelAdvisor

Once the order ships from their system, they can send us the shipping details by using ShippingService.OrderShipped (http://developer.channeladvisor.com/display/cadn/OrderShipped).The shipping carrier-class that is sent to ChannelAdvisor must be a valid ChannelAdvisor shipping code. That list is available through the GetShippingCarrierList (http://developer.channeladvisor.com/display/cadn/GetShippingCarrierList).

Inventory Sync

When Using System2 as the Master Inventory

For best performance, it's recommended that System2 only sends us inventory that has changed since the last sync was performed. InventoryService.SynchInventoryItemList (http://developer.channeladvisor.com/display/cadn/SynchInventoryItemList) can be used to update or add new inventory. The ChannelAdvisor Inventory item is pretty complex as it has many fields specific to CA. As many integrations don't use all the fields, most of them can be left out. It's important to note that leaving a field out (or passing a null) will cause it not to be modified, but passing an empty value for a field will cause the value to be cleared.

Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5.1 Build:#806 May 06, 2007) - Bug/feature request - Contact Administrators