Skip to main content
A webhook makes Zippendo tell another system about an event, such as Shipment sent or Tracking updated. You set webhooks up under Settings → Webhooks (open the organization menu and click Manage). For each event, Zippendo sends a message to the Endpoint URL you entered. These are not carrier tracking webhooks. For those, see Carrier tracking webhooks.

What you see

  • Your system never receives anything.
  • The Delivery log of a webhook shows red status codes or text in the Error column.
  • Your system receives the same event more than once.

First, check the delivery log

On Webhooks, click Delivery log on the webhook. Each row is one attempt, with the Event, the Status your system answered with, the Duration and any Error.
  • No deliveries yet: Zippendo has not tried to send anything. See “Nothing is sent” below.
  • A green status: your system received the message. Look for the problem in your own system.
  • A red status or N/A with an error: your system did not accept the message. See “Deliveries fail” below.

Nothing is sent

Deliveries fail

Zippendo counts a delivery as successful only when your system answers with a success status (200-299) within 10 seconds. Otherwise it tries again a few more times within about a minute, 5 attempts in all. After that, the event is not sent again. After you fix the cause, click Send test on the webhook. You see Test event sent, and a new row appears in the Delivery log.
Zippendo does not resend failed events later. If your system was down for a while, look up the shipments or orders you missed in the Zippendo app, or fetch them through the API.

Your system rejects the signature

Each message carries an X-Webhook-Signature header so your system can check that it really came from Zippendo. It is an HMAC-SHA256 of the raw message body, made with the webhook’s secret. Common mistakes:
  • The signature is calculated over the message after it was parsed and rewritten, instead of over the raw body exactly as received.
  • The secret of another webhook is used. Each webhook has its own secret.
Details and code examples: Webhooks quickstart.

The same event arrives twice

If your system answered too slowly or with an error, Zippendo tries again, even if your system did handle the first attempt. Use the X-Webhook-Id header to recognize a message you have already handled. Related: Webhooks, Webhook settings.