↑↓select↵openescclose

Webhooks

The restaurant rejected the order

EVENTorder.rejected

Headers

X-Partner-SignaturestringRequired

t=<unix seconds>,v1=<hex HMAC-SHA256(secret, "<t>.<raw body>")>, one v1= per active secret (two during a rotation; the key is the whole whsec_… string). Recomputed at every attempt. Verify against the raw body, reject t more than 300 s off, compare in constant time.

X-Partner-Event-IdstringRequiredpattern: ^evt_

The event's id; deduplicate by it.

X-Partner-Event-TypestringWebhookEventTypeRequiredorder.acceptedorder.readyorder.completedorder.rejectedorder.cancelledmenu.updatedstore.status_changedconnection.revoked

Payload

application/jsonRequired

idstringRequiredpattern: ^evt_
typestringWebhookEventTypeRequiredValue: order.rejected
createdAtstringRequiredformat: date-time
connectionIdstringRequiredpattern: ^pc_[0-9a-f]{20}$
dataobjectOrderRejectedDataRequired
Show child attributesHide child attributes
orderIdstringRequiredpattern: ^oo_[0-9a-f]{64}$

Our order id

externalIdstringRequiredpattern: ^[A-Za-z0-9._~-]{1,64}$

Your order id, unique per connection

versionintegerRequired≥ 2
occurredAtstringRequiredformat: date-time
statusstringRequiredValue: rejected
reasonobjectEventReasonRequired
Show child attributesHide child attributes
codestringRequiredRESTAURANT_REJECTEDRESTAURANT_CANCELLEDPARTNER_REQUESTED
messagestringRequired

The restaurant's text or a default

Expected response

200Stored. Answer 2xx within 3 s, as soon as the event is stored. Timeouts, network errors, 429 and 5xx are

retried (Retry-After first; else after about 1, 2, 10 min, then every 30 min, for 24 h). Other 4xx and every 3xx are final.