Webhooks
We provide webhook callbacks for the order's lifecycle as well as rider's status so that partners can provide customers with realtime information about the arrival of their order.
Generally, a healthy order lifecycle has the following status changes: placed
=> accepted
=> rider_assigned
=> rider_arrived
=> rider_in_transit
=> rider_nearby
=> delivered
.
Keep in mind that while every attempt is made to make callbacks in the order they occurred and in a timely manner, neither can be absolutely guaranteed. It is also possible to receive the same callback more than once.
The following status changes are sent to the status_url
:
Status | Description |
---|---|
placed | The order was created. |
accepted | The restaurant confirmed the order. |
rider_assigned | A rider is assigned to the order. |
rider_arrived | The rider arrived at the restaurant. |
rider_in_transit | The rider picked up the order and is en route to the delivery address. |
rider_nearby | Rider is arriving at customer. |
delivered | A terminal status for a successfully delivered order. |
The following status changes are sent to the refund_url
only:
Order Status | Description |
---|---|
canceled | A terminal status for when an order is canceled. |
rejected | A terminal status for when an order is rejected. |
undeliverable | A terminal status for when the rider is unable to deliver an order. |
If an order reaches a terminal status, the customer should be refunded the full amount.
Customers can request compensation by calling Deliveroo if the order did not meet their expectations and they will be provided with compensation if the claims are valid.
A customer may be entitled to a partial or full refund, if Deliveroo support approves a compensation claim, you will be notified through the refund_url
for this action and we will provide you with the approved refund_amount
and reason
so that you can process the customer's compensation.
Customers may be provided with an option to accept credit
instead of a refund. If that is the case, we will notify you for this action via the credit_url
and we will provide you with the approved credit_amount
and reason
so that you can process a customer's compensation of your choice, for example a voucher.
An alternative option to credit or refund that customers may choose, is the option to receive a redelivery
which may include all or specific items from the original order. If that is the case, we will generate a new order internally and notify you via the redelivery_url
where we would expect your response on whether you wish to accept or reject this order. Following your response, the order status will update accordingly and you will receive further updates like you would receive them on a normal order via the status_url
.
When a redelivery webhook is received you should respond with the appropriate json body confirming if you want to accept or reject the request, this is marked by the decision
field in the json response, and also a reason
message if it is rejected.
Redelivery Decision | Description |
---|---|
accepted | The restaurant has accepted the redelivery request and will prepare a new order. |
rejected | The restaurant has rejected the redelivery request. In this case please also provide a reason field to indicate why it was rejected, e.g. items out of stock, or restaurant closed. |
Updated over 1 year ago