- Push orders in: your system sends signed webhook events to the channel’s own ingest URL, or calls the REST API (official SDKs available).
- Hear back: subscribe to Zippendo’s outbound webhooks (
shipment.dispatched,tracking.updatedand more) to receive tracking numbers and status changes.
1. Create the channel
In app.zippendo.com, click Order channels, open the Catalog tab and click Create channel on the Custom channel card. Or create it through the API:2. Generate the signing secret
On the channel’s settings page, click Generate secret, or callPOST /orgs/{orgId}/order-channels/{channelId}/webhook-secret. The response contains the ingest URL and the secret:
3. Push orders
Send aPOST to the ingest URL with two headers:
Order payload (order.created / order.updated)
Both topics behave identically: the order is upserted on externalId, so redeliveries and out-of-order updates are safe. Push whichever your system finds easier.
Cancel payload (order.cancelled)
Connectivity test (ping)
Any signed body with X-Zippendo-Topic: ping returns 200 { "received": true } without changing any data. Use it to check your signature code.
Responses
What happens to a pushed order
- The order is upserted into the channel (inheriting the channel’s brand, if any).
- A shipping rule is resolved: the explicit
serviceCode, else the channel’s shipping-method mappings matched againstshippingMethodTitle. - A shipment is created. Shipments with a matched rule are ready to send. With only a Default sender address set, a draft is created instead.
- If Send shipments automatically is on for the channel, a shipment with a matched rule is sent to the carrier immediately, and the label lands in Zippendo (automatic printing on the rule applies).
REST alternative
If you prefer request/response over webhooks, create orders through the API with an API token:- A duplicate
externalIdon the same channel returns409 ORDER_EXISTS. Treat it as “already received”. - Passing
shippingRuleIdorshippingMethodTitle(or turning on Send shipments automatically for the channel) creates the shipment in the same call, exactly like a push. - Order channels are part of the public API, so the SDKs cover every step: create the channel, generate the secret, push orders and list shipments.
Getting tracking back
Zippendo notifies your system through outbound webhooks: subscribe toshipment.dispatched and tracking.updated in Settings → Webhooks. Shipments carry your order number as their reference, and the payload includes the orderId for lookups.
Next steps
Outbound webhooks
Receive tracking and status events, and verify our signatures.
API reference
Every order-channel and order endpoint, with examples.