Professional Documents
Culture Documents
Order Management APIs (July 2021)
Order Management APIs (July 2021)
Order Management APIs (July 2021)
com/orders/<order_id>/accept(reject)(ready)
To do this, the merchant must have a POS/Order management system that can accept, reject, and update orders that
are received on Wolt. Wolt offers a range of API endpoints that make this integration possible.
When we receive an order from a consumer on Wolt, a webhook call is made to a URL that should be provided by
the merchant/integrator. The webhook call will have an order notification payload. This means that the webhook
does not send the entire order details, but only the order notification with details needed to GET the entire order.
The merchant’s middleware then GETs the order details using a resource URL that will be present in the order
notification payload.
For more details about this please refer to the Order API documentation.
Wolt orders go through an order workflow that can be managed using a set of APIs by the merchant. Orders can go
through the following states: received, production, ready, delivered, rejected.
When orders are received, the status will be “received”. While in this status orders can still be rejected using the
Reject endpoint, if the venue estimates that it cannot service the order.
If the venue can service the order, the order is accepted using the Accept endpoint. The order then moves into a
production state. At this point the Wolt consumer has been notified that order will be ready in x minutes. The order
can no longer be rejected. Note that the order must be accepted within 3 minutes of being received. If the order is not
accepted within 3 minutes, it is automatically rejected
If a venue cannot service the order - the order will move into a rejected state. The consumer will not be charged and
other other related activities at the venues should not proceed.
When the order is ready the venue marks it as ready using the Mark Order Ready endpoint. A Wolt courier or
consumer will get a notification that the food is ready to be picked up.
When a courier delivers the food or consumer picks it up, the order will move into the delivered state.
Scheduled Orders
Scheduled orders are first confirmed using the Pre-order Confirmation endpoint. These orders must also be
accepted by the middleware using the Accept endpoint. There is no reminder for this, so the middleware must
calculate an appropriate time before the scheduled delivery time, to automatically accept the order.
Pre-orders must be confirmed within 15 minutes of a venue being online after receiving a pre-order. Pre-orders once
confirmed cannot be rejected.
We recommend the following flow to ensure the best consumer and merchant experience.
Step 1: Wolt systems receive an order and send an order notification to the merchant’s webhook URL
Step 2: Merchant middleware GETs the order details using the resource URL from the order notification. The API
key must be used when making the call to GET order details
Step 3: Venue staff view the order on the POS/Order management system or the order is auto accepted by the
merchant middleware using the Order Accept/Reject API(s)
Step 4: Venue staff accept (or reject) the order from the POS/Order management system if not auto accepted
Step 5: Wolt systems send another notification with the updated order status. The status after the order has
been accepted will be “production”
Step 6: Merchant middleware sends order details to POS/KDS only when then order status is production
Step 7: Order is marked ready from the merchant POS/Order management system using the Mark Order Ready
API
Authorization
All APIs require an API key that will be provided by Wolt. The same key is used for receiving order notifications and
getting order details.
Header Parameters
WOLT-API-KEY API Key WOLT-API-KEY=WFPDE-HNXrjBB7EPN3 Venue specific token / API key that
PFAGUn94P0Poui6g-eS93SMv8= needs to be provided in every request
The key is mandatory and must be passed in the Authorization-header (see above). All venues under a merchant
have the same API key, but each venue must be added to the credentials. This addition of venues to the credentials is
handled by Wolt restaurant partner managers.
Key Considerations
● Merchants must have a POS/Order management system that allows venue staff to accept/reject/update
orders
● Orders must be accepted within 3 minutes of being received or are automatically rejected by Wolt
● Auto acceptance is possible, but must be confirmed with the Wolt team before implementation
● Confirming a pre-order is necessary to manage scheduled orders
○ There is no reminder to accept the pre-order x minutes before the scheduled delivery time. Merchant
middleware will need to calculate this and accept the order accordingly
Accept Endpoint
https://pos-integration-service.wolt.com/orders/<order_id>/accept
Accept Body
{}
OR
{
"adjusted_pickup_time": "2019-08-24T14:15:22Z"
}
adjusted_pickup_time ISO 8601 The time when the order should be picked up in case the current
pickup time is too early for the venue to prepare the order
Important!
The maximum time addition possible is 25 minutes i.e. the adjusted
pick up time cannot be greater than 25 minutes from the initial
calculated pick up time estimate.
Reject Endpoint
https://pos-integration-service.wolt.com/orders/<order_id>/reject
Reject Body
{
"reason": "Out of stock"
}
reason string The reason that must be entered by venue staff for rejecting the order
Important!
Rejection reason is mandatory and appears to the consumer. It should
be entered in local language
https://pos-integration-service.wolt.com/orders/<order_id>/ready
https://pos-integration-service.wolt.com/orders/<order_id>/confirm-preorder
Changelog