Skip to main content
A custom channel lets your own webshop, ERP or warehouse system send orders straight into Zippendo, when there is no ready-made connection for it. This page covers every control on the create window and the channel settings, and how a developer sends an order. The click-through journey is Connect order channels. The full payload reference is Custom channels. Click Order channels in the sidebar, then the Catalog tab. The Custom channel card reads Connect your own webshop or ERP system. Its button is Create channel.
Order channels catalog with the Custom channel card and the Create channel buttonOrder channels catalog with the Custom channel card and the Create channel button

The Custom channel card in the catalog

Create the channel

Click Create channel. The Create custom channel window opens: An order channel for your own webshop or ERP system.
Create custom channel window with Channel name filled in as My webshop, Create channel and CancelCreate custom channel window with Channel name filled in as My webshop, Create channel and Cancel

Create custom channel: enter a Channel name

Click Create channel (it shows Creating…). You see Order channel created, and Zippendo opens the new channel’s settings. If you see Couldn’t create the order channel, try again. Cancel closes the window.

Order ingestion

The settings page is headed by the channel name and Your own integration: send orders to the ingest URL, or use the API and SDKs. View documentation opens the Custom channels reference.
Order ingestion card with the Ingest URL, Copy and Generate secretOrder ingestion card with the Ingest URL, Copy and Generate secret

Order ingestion: the Ingest URL and Generate secret

The Order ingestion card: Your system sends signed orders to the ingest URL below. Sign the raw body of every request with HMAC-SHA256, using the signing secret. The channel only accepts orders once a signing secret exists. There is no separate switch to turn ingestion on. After Generate secret or Replace secret, the secret is shown once:
Order ingestion with the one-time signing secret, Copy, Revoke and Replace secretOrder ingestion with the one-time signing secret, Copy, Revoke and Replace secret

Copy the signing secret now. It is only shown once

Copy the secret now. It is only shown once. If you replace it later, the current secret stops working at once. The secret starts with zwhs_. Store it in your system’s configuration.

Send an order

POST to the Ingest URL with two headers: order.created and order.updated both create or update the order by its externalId. The order.cancelled body is { "externalId": "…" }. ping returns 200 { "received": true } without changing anything.
Required payload fields: externalId, orderNumber and orderLines (at least one line with name and quantity). Optional: customerName, customerEmail, shippingAddress, subtotalAmount, totalAmount, currency, notes, shippingMethodTitle and serviceCode. Full field table: Custom channels. Prefer request and response? Create orders with POST /orgs/{orgId}/orders, passing orderChannelId, and an API token. A second order with the same externalId on the same channel returns 409 ORDER_EXISTS. To get tracking numbers and status changes back, subscribe to your organization’s webhooks (shipment.dispatched, tracking.updated). A custom channel has no tracking callback of its own, and no shipping method mapping screen. An order you send appears under Orders. Its status can be Error when Zippendo imported the order but could not create a shipment that is ready to send, for example because no shipping rule matched or the address is incomplete. The order still belongs to the channel.
Orders list with an order that arrived through a custom channelOrders list with an order that arrived through a custom channel

An order sent by your system on the Orders page

Operations

Operations card with Channel enabled turned on, Send shipments automatically, Default sender address, Last order received and Save changesOperations card with Channel enabled turned on, Send shipments automatically, Default sender address, Last order received and Save changes

Operations: Channel enabled, Send shipments automatically and Default sender address

Save changes (Saving…) saves Send shipments automatically and Default sender address. You see Order channel updated, or Couldn’t update the order channel.

Turn a channel off

Turn Channel enabled off. On the Connected tab, the channel’s row in the Custom channel card then says Disabled. Custom channels always stay on the Connected tab, and never become leftover channels.
Order channels page with a custom channel marked DisabledOrder channels page with a custom channel marked Disabled

A custom channel that is turned off

Leftover Shopify or WooCommerce channels, marked No active connection and Disconnected, are something else. See Order channel settings.

Delete

Under Danger zone, find Delete channel: Delete this custom channel. Your integration can no longer send orders to it.
Danger zone with Delete channel and the Delete buttonDanger zone with Delete channel and the Delete button

Delete channel under Danger zone

Click Delete and confirm: Delete this custom channel? Its ingest URL stops accepting orders immediately. You see Order channel deleted, or Couldn’t delete the order channel.

Connect order channels

Create the channel from the catalog, then open Orders.

Custom channels reference

Full payload, cancel, ping and REST examples.

Order channel settings

The Order channels page, brands and leftover channels.

Create an API token

A token for POST /orgs/{orgId}/orders instead of signed pushes.