Skip to main content

What are Webhooks?

A webhook is an HTTP callback: when an event you subscribed to occurs in Wing, we send a POST request with a JSON body to the endpoint you registered. Your system reacts in real time, without polling our API.

Key Concepts​

Events​

An event is something that happened to one of your orders or parcels: an order was packed, a parcel was created, its status changed… Each webhook configuration subscribes to one or more event types, and only receives those.

Webhook endpoint​

Your endpoint is an HTTPS URL on your side that:

  • accepts POST requests with a JSON body;
  • answers with a 2xx status code once the event is received;
  • answers quickly, and defers any long processing.

Available Events​

Every event type you can subscribe to, when it is sent and the data it carries, is detailed in Events & Payloads.

Request Body​

Every webhook receives the event type, its timestamp, its sequence and the event data:

{
"event": "order.packed",
"timestamp": "2026-10-08T12:55:24.206Z",
"sequence": 128734512,
"message": {
"orderId": "…",
"fulfillmentOrderIds": ["…"],
"fulfillmentOrderId": "…",
"eventDate": "2026-10-08T12:55:24.195Z"
}
}

Ordering and duplicates​

Events may arrive out of order, and the same event may be delivered more than once.

  • Use sequence to order the events of an order or a parcel: a larger sequence is a more recent state. Do not rely on timestamp for this: two changes made at the same time can carry timestamps in the reverse order of the states they describe.
  • Use sequence to detect a duplicate: it is unique per event and does not change when an event is delivered again.