Skip to main content

ChannelDock- Data Mapping & Synchronisation

Learn how Optiply synchronizes data with ChannelDock. This guide covers sync frequencies, detailed field mappings for products and orders, and logic for handling bundles and deletions.

Carla Domingos avatar
Written by Carla Domingos
Updated over a week ago

πŸ”— 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

id

-

Name

title

-

Article Code

product_reference

-

SKU Code

sku

-

EAN Code

ean

-

Price

price

-

Minimum Stock

stock_advice_iron_stock

-

Stock Level

stock

-

Assembled

is_bundle_product

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

id of the parent product (the bundle).

Part Product ID

id of the child_product inside the array.

Part Quantity

quantity (field inside child_product).

Remote ID

Calculated: parentID_childID.

3. Suppliers

Data is retrieved from /seller/suppliers.

Optiply

ChannelDock

Name

company

Email

email

Remote ID

id

4. Supplier Products

Data is retrieved from /seller/inventory (using supplier data linked to inventory).

Optiply

ChannelDock

Name

title

SKU Code

sku

EAN Code

ean

Price

purchase_price

Product ID

id

Supplier ID

supplier_id

5. Sell Orders

Data is retrieved from /seller/orders.

Optiply Field

ChannelDock Field

Logic / Notes

Total Value

price_total

-

Placed Date

order_date

-

Completed Date

updated_at

Set only if order_status == "shipment".

Remote ID

id

-

6. Sell Order Lines

Data is retrieved from /seller/orders.order_products[].

Optiply Field

ChannelDock Field

Product ID

product.id

Quantity

quantity

Subtotal Value

price * quantity

7. Buy Orders

Data is retrieved from /seller/delivery?delivery_type=inbound.

Optiply Field

ChannelDock Field

Logic / Notes

Supplier ID

supplier_id

-

Placed Date

delivery_date

-

Remote ID

id

-

Total Value

amount * purchase_price

-

Completed Date

stocked_at

Set only if status == "stocked".

Expected Delivery

delivery_date

-

8. Buy Order Lines

Data is retrieved from /seller/delivery?delivery_type=inbound.items[].

Optiply Field

ChannelDock Field

Notes

Buy Order ID

delivery.id

-

Subtotal Value

0

No price exists on the lines level in this endpoint.

Quantity

items.amount

-

Product ID

items.product_id

-

Remote ID

delivery.id + items.id

Concatenated ID.

9. Receipt Lines (Item Deliveries)

Data is retrieved from /seller/delivery?delivery_type=inbound.items[].

Optiply Field

ChannelDock Field

Notes

Quantity

is_processed

-

Occurred

updated_At

-

Buy Order Line ID

items.id

-

Remote ID

delivery.id + items.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.

Did this answer your question?