Download the PHP package foodticket/deliveroo without Composer
On this page you can find all versions of the php package foodticket/deliveroo. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download foodticket/deliveroo
More information about foodticket/deliveroo
Files in foodticket/deliveroo
Package deliveroo
Short Description A PHP client to integrate with the Deliveroo API
License MIT
Informations about the package deliveroo
Implement the new Deliveroo API
This package allows you to easily make requests to the new Deliveroo API. The full documentation of the Deliveroo API can be found here: https://api-docs.deliveroo.com/v2.0/reference/credentials.
Requirements
- PHP >= 8.3
- Laravel >= 12.0
Installation
You can install the package via composer:
The package will automatically register itself.
Configuration
To start using the Deliveroo API you will need a client ID and client secret. You can get these by creating an app on the Deliveroo Developer Portal. Add the Client ID and client secret to your .env file:
Making requests
Orders
Get orders
Retrieve a paginated list of orders for a specific restaurant. Returns an object with a next cursor and a collection of orders.
| Parameter | Type | Required | Description |
|---|---|---|---|
$brandId |
string |
Yes | Your Deliveroo brand ID |
$restaurantId |
string |
Yes | The restaurant/site ID |
$cursor |
string\|null |
No | Pagination cursor from a previous response |
$startDate |
Carbon\|null |
No | Filter orders from this date (ISO 8601) |
$endDate |
Carbon\|null |
No | Filter orders up to this date (ISO 8601) |
Get order
Retrieve a single order by its ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
$orderId |
string |
Yes | The Deliveroo order ID |
Update order status
Accept, reject, or cancel an order. When rejecting, a $rejectReason is required.
| Parameter | Type | Required | Description |
|---|---|---|---|
$orderId |
string |
Yes | The Deliveroo order ID |
$status |
OrderStatus |
Yes | The new status (see OrderStatus) |
$rejectReason |
OrderRejectReason\|null |
Required when rejecting | Reason for rejection (see OrderRejectReason) |
$notes |
string\|null |
No | Optional notes sent alongside the status update |
Sync order status
Inform Deliveroo whether your system successfully received and processed an order.
| Parameter | Type | Required | Description |
|---|---|---|---|
$orderId |
string |
Yes | The Deliveroo order ID |
$syncStatus |
OrderSyncStatus |
Yes | Sync result (see OrderSyncStatus) |
$occurredAt |
Carbon |
Yes | Timestamp when the sync attempt occurred |
$reason |
Reason\|null |
Required when status is FAILED |
Failure reason (see Reason) |
$notes |
string\|null |
No | Optional notes |
Set order preparation stage
Report the current preparation stage of an order to Deliveroo so it can coordinate courier dispatch.
| Parameter | Type | Required | Description |
|---|---|---|---|
$orderId |
string |
Yes | The Deliveroo order ID |
$stage |
OrderStage |
Yes | Current preparation stage (see OrderStage) |
$occurredAt |
Carbon |
Yes | Timestamp when this stage was reached |
$delay |
int\|null |
No | Expected additional delay in minutes. Allowed values: 0, 2, 4, 6, 8, 10 |
Brands
Get brand ID
Look up brand information by restaurant location ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
$locationId |
string |
Yes | The Deliveroo restaurant location ID |
Get all brands
Retrieve all brands associated with your integrator credentials.
Change integrator webhook configuration
Configure which webhook type each restaurant location should use. Each entry must be a WebhookConfiguration object.
| Parameter | Type | Required | Description |
|---|---|---|---|
$brandId |
string |
Yes | Your Deliveroo brand ID |
$webhookConfigurations |
WebhookConfiguration[] |
Yes | One entry per location (must not be empty) |
Create your own request
If you need to call an endpoint not covered by this package, use the underlying HTTP client directly:
Enums
OrderStatus
Used in updateOrderStatus().
| Case | Value | Description |
|---|---|---|
PLACED |
placed |
Order is placed in the system |
ACCEPTED |
accepted |
Order is accepted by the site |
CONFIRMED |
confirmed |
Scheduled orders only — site has confirmed preparation has started |
REJECTED |
rejected |
Order is rejected by the site or auto-rejected due to no response |
CANCELED |
canceled |
Order was canceled by the site or customer |
OrderRejectReason
Used in updateOrderStatus() when status is REJECTED.
| Case | Value |
|---|---|
CLOSING_EARLY |
closing_early |
BUSY |
busy |
INGREDIENT_UNAVAILABLE |
ingredient_unavailable |
OTHER |
other |
OrderSyncStatus
Used in syncStatusOrder().
| Case | Value |
|---|---|
SUCCEEDED |
succeeded |
FAILED |
failed |
OrderStage
Used in setOrderPreparationStage().
| Case | Value | Description |
|---|---|---|
IN_KITCHEN |
in_kitchen |
Cooking has started |
READY_FOR_COLLECTION_SOON |
ready_for_collection_soon |
Food is a maximum of 60s from being ready to collect |
READY_FOR_COLLECTION |
ready_for_collection |
Food is cooked and packaged |
COLLECTED |
collected |
The order has been collected |
Reason
Used in syncStatusOrder() when sync status is FAILED.
| Case | Value |
|---|---|
PRICE_MISMATCHED |
price_mismatched |
POS_ITEM_ID_MISMATCHED |
pos_item_id_mismatched |
POS_ITEM_ID_NOT_FOUND |
pos_item_id_not_found |
ITEMS_OUT_OF_STOCK |
items_out_of_stock |
LOCATION_OFFLINE |
location_offline |
LOCATION_NOT_SUPPORTED |
location_not_supported |
UNSUPPORTED_ORDER_TYPE |
unsupported_order_type |
NO_WEBHOOK_URL |
no_webhook_url |
WEBHOOK_FAILED |
webhook_failed |
TIMED_OUT |
timed_out |
NO_SYNC_CONFIRMATION |
no_sync_confirmation |
OTHER |
other |
WebhookType
Used in WebhookConfiguration.
| Case | Value |
|---|---|
POS |
pos |
ORDER_EVENTS |
order_events |
POS_AND_ORDER_EVENTS |
pos_and_order_events |
FulfillmentType
| Case | Value |
|---|---|
DELIVEROO |
deliveroo |
RESTAURANT |
restaurant |
CUSTOMER |
customer |
TABLE_SERVICE |
table_service |
Data Objects
WebhookConfiguration
Used when calling changeIntegratorWebhooksConfiguration().
| Property | Type | Description |
|---|---|---|
location_id |
string |
The Deliveroo restaurant location ID |
orders_api_webhook_type |
WebhookType |
The webhook type to assign to this location |
Webhooks
To start receiving webhooks from Deliveroo, you need to add the following route to the App\Providers\RouteServiceProvider file:
Security Vulnerabilities
If you discover a security vulnerability within this project, please email me via [email protected].