Skip to main content
A custom channel is for a webshop, ERP, or WMS Zippendo does not have a one-click integration for. This page is every control on create and settings, plus how to send an order. The catalog walkthrough is Connect order channels. Payload reference: Custom channels. Open Order ChannelsAvailable integrations (?tab=available-integrations). The Custom channel card reads Connect your own webshop or ERP system. Features: Signed webhook order ingestion, Full REST API with official SDKs, Automatic shipment creation and dispatch. The button is Create channel.
Order Channels Available integrations tab with the Custom channel card and Create channel buttonOrder Channels Available integrations tab with the Custom channel card and Create channel button

Custom channel card on Available integrations

Create the channel

Click Create channel. Modal id create-custom-channel. Title Create custom channel. Subtitle: A channel for your own webshop or ERP integration.
Create custom channel modal with Channel name filled as My webshop, Create channel, and CancelCreate custom channel modal with Channel name filled as My webshop, Create channel, and Cancel

Create custom channel modal with Channel name

On success Zippendo opens the new channel’s settings.

Order ingestion

Header title is 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. Loading: Loading channel…
Order ingestion card with HMAC description, Ingest URL, Copy, and Generate secret or Rotate secretOrder ingestion card with HMAC description, Ingest URL, Copy, and Generate secret or Rotate secret

Order ingestion with Ingest URL and Generate secret

Card title Order ingestion. Description: Your system pushes signed order events to the ingest URL below. Every request must carry an HMAC-SHA256 signature of the raw body, computed with the signing secret.
The Ingest URL in screenshots may show http://localhost:8000/… because these docs were captured against a local environment. Copy the URL from your channel settings.
After Generate secret or Rotate secret, the plaintext is shown once:
Order ingestion with one-time signing secret, Copy, Revoke, and Rotate secretOrder ingestion with one-time signing secret, Copy, Revoke, and Rotate secret

Copy the signing secret immediately — it is only shown once

Warning: Copy the secret now — it is only shown once. Rotating it later invalidates the current one immediately. The secret starts with zwhs_. There is no “enable webhooks” toggle — minting a signing secret is what turns ingest on.

Send an order

POST the Ingest URL with two headers: order.created and order.updated both upsert on externalId. order.cancelled body is { "externalId": "…" }. ping returns 200 { "received": true } without touching data.
Required payload fields: externalId, orderNumber, orderLines (at least one line with name and quantity). Optional: customerName, customerEmail, shippingAddress, subtotalAmount, totalAmount, currency, notes, shippingMethodTitle, serviceCode. Full field table: Custom channels. When Channel enabled is off, pushes are rejected until you turn it back on. REST alternative: POST /orgs/{orgId}/orders with orderChannelId and an API token. Duplicate externalId on the same channel returns 409 ORDER_EXISTS. Tracking back to your system uses org Webhooks (shipment.dispatched, tracking.updated), not a per-channel callback. There is no shipping-method mapping UI on this screen. A successful push lands under Orders. Status can be Error when Zippendo imported the order but could not create a ready shipment (no matching shipping rule or incomplete address). The order is still on the channel.
Orders list showing an ingested custom-channel orderOrders list showing an ingested custom-channel order

Orders list after a signed ingest

Operations

Operations card with Channel enabled on, Auto-dispatch shipments, Default sender address, Last order received, and Save changesOperations card with Channel enabled on, Auto-dispatch shipments, Default sender address, Last order received, and Save changes

Operations — Channel enabled, Auto-dispatch, Brand, Default sender address

Save changes / Saving… applies auto-dispatch and the default address. Toast Order channel updated successfully / Failed to update order channel.

Enable, disable, and disconnected

Turn Channel enabled off. The Connected stores card shows Disabled (not Disconnected). Custom channels stay on Connected stores — they are never leftover Disconnected channels rows.
Connected stores custom channel card with Disabled badge, Custom integration subtitle, and No orders received yet or Last order receivedConnected stores custom channel card with Disabled badge, Custom integration subtitle, and No orders received yet or Last order received

Disabled custom channel on Connected stores

An Active custom card shows Custom integration, Connected date, and Last order received {date} or No orders received yet. Leftover platform stores (no live integration) appear under Disconnected channels with No active integration and Remove. That is not a custom channel. See Order channel settings.

Delete

Danger zoneDelete channel. Description: Remove this custom channel. Your integration will no longer be able to push orders.
Danger zone with Delete channel and Delete buttonDanger zone with Delete channel and Delete button

Danger zone Delete channel

Confirm: Delete this custom channel? Its ingest URL stops accepting orders immediately. Button Delete / Deleting…. Toast Order channel deleted successfully / Failed to delete order channel.

Connect order channels

Create the channel from the catalog, then open Orders.

Custom channels reference

Full ingest payload, cancel, ping, and REST examples.

Order channel settings

Enable, disable, and leftover disconnected channels.

Create an API token

Token for POST /orgs/{orgId}/orders instead of signed ingest.