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

  1. A customer places an order through Deliveroo's website or app.
  2. Deliveroo sends an order.status_update via the Picking Events webhook with the order's status as placed.
  3. The Integrator would notify Deliveroo for Start Picking by calling our Start Picking Process for Order within 10 mins to avoid auto-rejection.
  4. 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.
  5. The Integrator would notify Deliveroo to Accept or reject order by calling respective endpoint.
  6. Deliveroo sends an order.status_update via the Picking Events webhook with the order's status as accepted.
  7. Via the Picking webhook, we send you all the notifications throughout an order’s lifecycle.

Picking Order Integration with Updating Order

  1. A customer places an order through Deliveroo's website or app.
  2. Deliveroo sends an order.status_update via the Picking Events webhook with the order's status as placed.
  3. The Integrator would notify Deliveroo for Start Picking by calling our Start Picking Process for Order within 10 mins to avoid auto-rejection.
  4. 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.
  5. 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
  6. The Integrator would notify Deliveroo to Accept or reject order by calling respective endpoint.
  7. Deliveroo sends an order.status_update via the Picking Events webhook with the order's status as accepted.
  8. Via the Picking webhook, we send you all the notifications throughout an order’s lifecycle.

Important points for Integrators:

  1. To amend the order and substitute an item, partners would need to set the following:
    1. Items as is_eligible_as_replacement=true and is_eligible_for_substitution": true during menu creation. By default the values are set to true during menu is created unless explicitly changed to false.
    2. Deliveroo needs to enable sites to allow substitutions with values of Max price of the item being substituted and Max 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.
  2. 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.
  3. 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 or is_eligible_for_substitution": false
    • Items available across other categories in the menu.