What an order channel is
A channel is a named connection on your organization. After it is connected and Active:- New orders from that source appear under Orders.
- The channel name is listed in the sidebar under Channel orders, so you can open that store’s orders in one click.
- Opening an order shows the Order Channel, customer, address, and lines. Use Create Shipment (or Send order if a shipment already exists) to fulfil it.
Supported channels in the app
Open Order Channels from the sidebar. The page title is Order Channels. The subtitle is Connect your e-commerce platforms to import orders automatically. Two tabs sit in the header (they are URL state —?tab=):


Available integrations lists Shopify, WooCommerce, and Custom channel


Connected stores shows live channels as Active cards; leftovers sit under Disconnected channels
Connect WooCommerce
One-click connect is the default. You enter your store URL, approve the connection on your own store, and WooCommerce generates the REST API keys. Prefer to paste keys you created in wp-admin? Use Enter API keys manually in the same modal.Before you start
- WooCommerce admin access.
- The store reachable over HTTPS for one-click connect. If the store is not on HTTPS, use the API keys step.
- At least one sender address under Settings → Sender if you want a Default Address on the channel (used as the sender on shipments created from this store). You can skip it and set it later.
One-click connect
Open Available integrations
Click Connect WooCommerce
Enter Store URL
https://mystore.dk). Optionally choose a Default Address. The help text explains that Zippendo sends you to the store to approve the connection.Click Connect


Connect WooCommerce Store modal on the One-click step
Enter API keys manually
Use this when you already have keys, or one-click cannot reach the store.Generate a REST API key in WooCommerce
Switch the Zippendo modal to API keys
Fill Store URL, Consumer Key, and Consumer Secret
Click Connect


API keys step with Consumer Key, Consumer Secret, and How to get API Keys
WooCommerce settings after connect
Open the store from Connected stores. The header description is the store URL (or WooCommerce store settings). WooCommerce admin opens{store}/wp-admin in a new tab.
Two tabs (these are on the settings page, not in the URL):
Orders & checkout
- Automatic sync — periodically poll the store for new orders as a backup to webhooks.
- Sync interval (minutes) — 5–1440.
- Only unfulfilled orders — import only orders that are not yet fulfilled.
- Auto-create shipments — create a shipment when a new order arrives.
- Auto-fulfill in WooCommerce — on by default. Pushes tracking back to WooCommerce when you dispatch a shipment.
- Brand — orders from this channel belong to this brand.
- Default sender address — sender for shipments created from WooCommerce orders.
- Save changes after you edit the draft.
- Checkout token — for the WooCommerce checkout plugin. Generate token / Rotate token / Revoke. The plaintext token is shown once.
- Store URL, Status (Active / Disabled), Last sync (or Never).
- Test connection — verify the stored keys still reach the store.
- Webhooks — WooCommerce order hooks and their status (Active or Disabled by WooCommerce). WooCommerce turns a hook off after repeated delivery failures. Re-register recreates them.
- Danger zone — Disconnect removes the channel and its webhooks. Orders already in Zippendo stay.
Create a custom channel
Use Custom channel for a webshop, ERP, or WMS Zippendo does not have a one-click integration for. Orders arrive as signed pushes to an Ingest URL, or throughPOST /orgs/{orgId}/orders with an API token. Tracking goes back out through org webhooks (shipment.dispatched, tracking.updated), not a per-channel callback.
Open Available integrations
Click Create channel
Enter Channel name
e.g. My webshop. If your organization has brands, a Brand picker is shown.Click Create channel


Create custom channel modal with Channel name
Custom channel settings
The settings header uses the channel name. Description: Your own integration: push orders to the ingest URL, or use the API and SDKs. View documentation opens the custom channels reference.

Custom channel settings: Order ingestion and Operations
- Every push must include an HMAC-SHA256 signature of the raw body, keyed with the signing secret.
- Ingest URL — copy your URL from this field. Production looks like
https://api.zippendo.com/webhooks/order-channels/{channelId}. Screenshots in this tutorial were taken against a local docs environment, so the host may showlocalhost— do not paste that into a live shop. - Generate secret the first time, then Rotate secret / Revoke.
- After a generate or rotate, Zippendo shows the secret once: Copy the secret now — it is only shown once.


After Generate secret or Rotate secret, copy the signing secret immediately
X-Zippendo-Topic (order.created, order.updated, order.cancelled, or ping) and X-Zippendo-Signature. Payload, status codes, and a ping connectivity test are in Custom channels.
Operations
Other ways orders get in
The catalog is only Shopify, WooCommerce, and Custom channel. These are the other paths that still use a channel row:- REST API / SDKs —
POST /orgs/{orgId}/orderswithorderChannelIdset to a custom (or other) channel. DuplicateexternalIdon the same channel returns409 ORDER_EXISTS. See Custom channels and the REST API quickstart. - Manual / leftover rows — a
manualchannel has no connect card and no settings screen. It shows under Disconnected channels if nothing else represents it (for example after a store was removed). Remove cleans it up. - Sidebar → Channel orders — not a fourth channel type. It lists the channels you already have so you can filter Orders to one store.
How orders appear after connecting
WooCommerce: webhooks fire on create/update/cancel, and Zippendo also polls on the interval you set (Automatic sync). Custom: your system pushes, or you create the order via the API. Either way the list is the same.

Orders list with Order ID, Customer, Status, Channel, Shipments, and Created At


Order detail with Order Channel, lines, and Send order when a shipment already exists
- No shipment yet, and the order is not fulfilled or cancelled: header action is Create Shipment.
- A shipment is already attached and ready: header action is Send order.
- Shipments tab lists existing shipments or No shipments yet.