π ChannelDock: Data Mapping & Synchronisation
This guide details the data flow between ChannelDock and Optiply. It outlines what data is synchronised, the frequency of updates, and the specific field mappings used for each entity.
β±οΈ Synchronisation General Board
The following table outlines the data entities and their update frequency.
Entity | Direction | Frequency |
Products | ChannelDock β Optiply | Every 60 minutes |
Suppliers | ChannelDock β Optiply | Every 60 minutes |
Supplier Products | ChannelDock β Optiply | Every 60 minutes |
Sell Orders | ChannelDock β Optiply | Every 60 minutes |
Sell Order Deletions | ChannelDock β Optiply | Every 60 minutes (*1) (*2) |
Buy Orders | ChannelDock β Optiply | Every 60 minutes |
Buy Order Deletions | ChannelDock β Optiply | Every 60 minutes (*3) |
Receipt Lines (Item Deliveries) | ChannelDock β Optiply | Every 60 minutes |
*(1) Partial Deletions:* We only handle the deletion of full Sell Orders. We do not process deletions of individual lines within an order.
*(2) Sell Order Logic:* We delete Sell Orders in Optiply if the status in ChannelDock is set to
cancelled.*(3) Buy Order Logic:* We delete Buy Orders in Optiply if the status in ChannelDock is set to
cancelled.
πΊοΈ Data Mapping Details
1. Products
Data is retrieved from /seller/inventory.
Optiply | ChannelDock | Logic / Notes |
Remote ID |
| - |
Name |
| - |
Article Code |
| - |
SKU Code |
| - |
EAN Code |
| - |
Price |
| - |
Minimum Stock |
| - |
Stock Level |
| - |
Assembled |
| if is_bundle_productβ True. Else β False. |
Note regarding Bundles: In ChannelDock, a bundle's stock usually depends on the availability of its child_products.
2. Product Compositions
Mapping for bundle components found within /seller/inventory.
Optiply | ChannelDock |
Composed Product ID |
|
Part Product ID |
|
Part Quantity |
|
Remote ID | Calculated: |
3. Suppliers
Data is retrieved from /seller/suppliers.
Optiply | ChannelDock |
Name |
|
| |
Remote ID |
|
4. Supplier Products
Data is retrieved from /seller/inventory (using supplier data linked to inventory).
Optiply | ChannelDock |
Name |
|
SKU Code |
|
EAN Code |
|
Price |
|
Product ID |
|
Supplier ID |
|
5. Sell Orders
Data is retrieved from /seller/orders.
Optiply Field | ChannelDock Field | Logic / Notes |
Total Value |
| - |
Placed Date |
| - |
Completed Date |
| Set only if |
Remote ID |
| - |
6. Sell Order Lines
Data is retrieved from /seller/orders.order_products[].
Optiply Field | ChannelDock Field |
Product ID |
|
Quantity |
|
Subtotal Value |
|
7. Buy Orders
Data is retrieved from /seller/delivery?delivery_type=inbound.
Optiply Field | ChannelDock Field | Logic / Notes |
Supplier ID |
| - |
Placed Date |
| - |
Remote ID |
| - |
Total Value |
| - |
Completed Date |
| Set only if |
Expected Delivery |
| - |
8. Buy Order Lines
Data is retrieved from /seller/delivery?delivery_type=inbound.items[].
Optiply Field | ChannelDock Field | Notes |
Buy Order ID |
| - |
Subtotal Value |
| No price exists on the lines level in this endpoint. |
Quantity |
| - |
Product ID |
| - |
Remote ID |
| Concatenated ID. |
9. Receipt Lines (Item Deliveries)
Data is retrieved from /seller/delivery?delivery_type=inbound.items[].
Optiply Field | ChannelDock Field | Notes |
Quantity |
| - |
Occurred |
| - |
Buy Order Line ID |
| - |
Remote ID |
| Concatenated ID. |
β Frequently Asked Questions (FAQs)
Why is the subtotal value for Buy Order Lines 0?
The ChannelDock API endpoint for inbound delivery items does not provide a price per line. Therefore, Optiply maps this value as 0. The total value is captured at the Buy Order level instead.
How are cancelled orders handled?
Sell Orders: If an order status changes to "cancelled" in ChannelDock, Optiply deletes the order.
Buy Orders: If a delivery status changes to "cancelled" in ChannelDock, Optiply deletes the order.
Does Optiply handle partial order deletions?
No. We only process deletions for the entire order. If you delete a single line item from an order in ChannelDock, that specific change is not synced to Optiply.
