Skip to content

Event types

Subscribe to the events you need with PUT /v1/merchant/webhook/events, or leave the list empty to get all of them. webhook.test is always delivered. Every event has the same envelope; see Receiving webhooks.

Event Sent when Useful data
order.placed The order is placed (placed, or awaiting_goods on demand). For a held order, when the sale completes. A successor order sends its own. Create the order in your system here. predecessorId on a successor
order.scheduled A window order is booked on its window. window
order.searching On demand: goods released, driver search started.
order.driver_assigned On demand: a driver accepted. Sent on the first accept only. sale on a held order
order.picked_up The driver has the goods.
order.delivered Delivered. proofOfDelivery
order.cancelled Cancelled. reason
order.failed Failed. Your fallback policy may follow. reason
Event Sent when Useful data
order.ready_at_changed You stated when the goods will be ready. readyAt
order.ready_overdue The goods are due (readyBy) and not reported ready. Send processing or ready, or the order fails goods_not_ready after the grace period.
order.window_changed Booked on another window than quoted, after onWindowFull: reschedule. window, previousWindow
Event Sent when Useful data
order.awaiting_recipient The recipient may choose a window. choiceDeadline
order.successor_created A failed order got a window successor. successorId
order.fallback_cancelled No successor follows the failed order. fallbackReason (expired, no_window)
Event Sent when
order.held An order is held for a sale still pending at your checkout. It is not an order-creation trigger: order.placed follows POST …/sale.
Event Sent when
webhook.test You call POST /v1/merchant/webhooks/test. data.test is true and there is no order.

The API reference has the full schema of every event.