Order Integration
With the Picking API, updated, amended, accepted orders and status updates are sent directly to your service via a webhook.
Once the Picking Webhook URL is configured, Deliveroo will begin notifying you about any updates, amended, accepted, rejected or cancelled orders on your webhook. You may also opt-in to receive events related to rider status through an additional Rider Events webhook through Order API.
Webhooks?
A webhook is a mechanism that calls your HTTPS endpoint when certain event occurs. In this case, the event is the Deliveroo order or a change related to it and the HTTPS call is what informs your till about order details.
Your webhook should be an HTTPS endpoint which listens to events from Deliveroo.
Picking API or Deliveroo Picking App is a tablet-less mode, your integration will have to follow the flow described below.
Picking Order Integration without Updating Order
- A customer places an order through Deliveroo's website or app.
- Deliveroo sends an
order.status_update
via the Picking Events webhook with the order's status asplaced
. - The Integrator would notify Deliveroo for Start Picking by calling our Start Picking Process for Order within 10 mins to avoid auto-rejection.
- Deliveroo will reset
time_to_accept
to 10 mins and will further increase 5 mins incase no response for accepting or rejecting is received by Integrator. - The Integrator would notify Deliveroo to Accept or reject order by calling respective endpoint.
- Deliveroo sends an
order.status_update
via the Picking Events webhook with the order's status asaccepted
. - Via the Picking webhook, we send you all the notifications throughout an order’s lifecycle.
Picking Order Integration with Updating Order
- A customer places an order through Deliveroo's website or app.
- Deliveroo sends an
order.status_update
via the Picking Events webhook with the order's status asplaced
. - The Integrator would notify Deliveroo for Start Picking by calling our Start Picking Process for Order within 10 mins to avoid auto-rejection.
- The Integrator also has the option to Update order item quantities or amend the order by calling through endpoint Make amendments (including substitutions) for placed orders.
- To substitute an item, the integrator is required to obtain the
subsitution_id
of the item which would be substituted. It can be obtained through Get allowed item substitutions - The Integrator would notify Deliveroo to Accept or reject order by calling respective endpoint.
- Deliveroo sends an
order.status_update
via the Picking Events webhook with the order's status asaccepted
. - Via the Picking webhook, we send you all the notifications throughout an order’s lifecycle.
Important points for Integrators:
- To amend the order and substitute an item, partners would need to set the following:
- Items as
is_eligible_as_replacement=true
andis_eligible_for_substitution": true
during menu creation. By default the values are set totrue
during menu is created unless explicitly changed tofalse
. - Deliveroo needs to enable sites to allow substitutions with values of
Max price of the item being substituted
andMax price difference between original item and substitution
for every store. For more clarification and default values on the parameters, please discuss with your account manager or Deliveroo technical team.
- Items as
- By Default, all the cheaper and relevant items in the same category would be allowed for substitution and upper limit would depend on the above mentioned parameters set for every site.
- Integrators will not be able to substitute an items with another item which contains any modifiers.
Known Facts:
- Items will not be shown for a substitute when:
- items which are out of a stock on a given day will not listed as possible substitutes.
- Items marked as
is_eligible_as_replacement=false
oris_eligible_for_substitution": false
- Items available across other categories in the menu.
Updated 7 months ago