order.status_changed
The order's status changed after it was placed (the restaurant accepted,
started, completed, declined or cancelled it, or an online payment
moved it on). data.previousStatus is the status before the change.
POST
order.status_changedHeader parameters
- X-Unipage-Signaturestringrequired
sha256=plus the hex HMAC-SHA256 of<X-Unipage-Timestamp>.<raw body>with your webhook's signing secret. See Order webhooks.
Request body JSON required
Example request
{
"id": "3f6c2a1e-9b7d-4c1a-8e2f-0a5b6c7d8e9f",
"event": "order.created",
"created_at": "2026-10-28T11:30:00+00:00",
"business_id": "k3x9p",
"data": {
"order": {
"id": "q4m8z",
"status": "PLACED",
"label": "Order received",
"orderType": "TAKEOUT",
"slotAt": 1792750500,
"paymentType": "online",
"isPaid": true,
"customerNotifications": true,
"lines": [
{
"productId": "p7d2x",
"name": "Medium fries",
"quantity": 1,
"optionsLabel": "",
"total": 4
}
],
"subtotal": 4,
"deliveryCost": 0,
"serviceCost": 0.5,
"couponDiscount": 0,
"total": 4.5,
"currency": "EUR",
"locale": "nl",
"customer": {
"firstName": "Ann",
"lastName": "Example",
"email": "ann@example.com"
},
"delivery": {
"street": "string",
"number": "string",
"postcode": "string",
"city": "string",
"zone": "string"
},
"createdAt": 1792749000
},
"previousStatus": "PLACED"
}
}Returns
200
Any 2xx acknowledges the event. Anything else (a 3xx included, redirects are not followed) or no answer within 5 seconds is a failed delivery.