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 anX-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.
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 theX-Webhook-Id header to recognize a message you have already handled.
Related: Webhooks, Webhook settings.