Browse all articles

Set up Shopify order webhooks

Last updated

Connect your Shopify store first

ChannelDock recognises a webhook by the store’s .myshopify.com domain. If the store is not yet connected as a sales channel in ChannelDock, the webhook is rejected with No API!. Connect the store under My Channels before continuing.

The webhook endpoint

Field Value
URL https://channeldock.com/portal/webhook/shopify/orders
Event / topic Order creation
Format JSON
API version Latest (leave the Shopify default)

Copy the URL exactly — no trailing slash. ChannelDock matches the incoming call to your connected store automatically via the X-Shopify-Shop-Domain header.

Steps in Shopify admin

1 Open your Shopify admin

Go to admin.shopify.com and sign in to the store you connected to ChannelDock.

2 Go to Settings → Notifications

Click Settings (bottom-left), then Notifications.

3 Open the Webhooks section

On the Notifications page, click Webhooks (near the bottom). Then click Create webhook.

4 Configure the webhook

Fill in the dialog exactly as below:

Setting Choose
Event Order creation
Format JSON
URL https://channeldock.com/portal/webhook/shopify/orders
Webhook API version Leave as default

5 Save

Click Save. Shopify will now send every new order to ChannelDock as it comes in.


Optional: add more events

The same URL accepts other order events. Repeat step 4 for each one you want, using the same URL and JSON format.

Order creation

Recommended. Imports new orders instantly. This is the one event you need for real-time import.

Order payment

Optional. Useful if you only want to act on orders once they are marked paid.


Verify it works

  1. Place a test order in your Shopify store (or use Shopify’s Send test notification button next to the webhook).
  2. Within a moment the order should appear in ChannelDock under your orders.

Troubleshooting

You see What it means / fix
No API! The store isn’t connected in ChannelDock, or the URL there doesn’t match the store’s .myshopify.com domain. Reconnect under My Channels.
Webhook fails / non-200 in Shopify Check the URL is exact (no trailing slash, https) and the format is JSON.
Order doesn’t appear ChannelDock skips orders it already has. Use a brand-new test order to confirm import.

Webhooks complement — they don’t replace — the regular ChannelDock sync. If a webhook is ever missed, the normal scheduled sync still picks the order up.


Was this helpful?

Related articles