Overview
Introduction
In response to the dynamic landscape of the retail and grocery sectors, Deliveroo is proud to introduce the Catalogue API, a purpose-built integration solution tailored for non-restaurant partners. This initiative arises from the evolving demands of our Grocery and Retail partners, highlighting the need for a versatile platform that seamlessly adapts to their unique requirements.
What is the Catalogue API?
The Catalogue API is designed to empower non-restaurant partners, such as Grocery, Specialist and Retail businesses, to effortlessly integrate with the Deliveroo platform. Unlike the Menu API, which originated with a focus on restaurants, the Catalogue API is crafted to meet the diverse needs of the non-restaurant sector, providing a streamlined solution for uploading and managing extensive item catalogues.
Benefits for Grocery and Retail Partners
Future-Proof Integration
One of the key advantages of the Catalogue API is the commitment to providing partners with all new and future releases. This ensures that our Grocery and Retail partners will always have access to the latest features and enhancements, allowing them to stay at the forefront of the evolving digital landscape. Please note that the features and enhancements released as part of the Catalogue API will not be available on the Menu API.
Support for Larger SKU Counts
The Catalogue API is designed to handle large-scale item catalogues, supporting larger SKU counts fit for purpose for partners. This scalability is crucial for partners in the Grocery and Retail sectors, accommodating their diverse array of products and ensuring a seamless integration experience.
Retail and Grocery-Specific Data Attributes
Recognizing the unique attributes and terminology in the Retail and Grocery domains, the Catalogue API includes tailored features. This allows partners to manage their catalogues with precision, incorporating industry-specific data attributes such as barcodes, substitution control flags, and legal classifications for items like medicines.
Catalogue API vs. Menu API
While the Menu API was initially developed for restaurant partners and later adapted for Grocery, the Catalogue API is purposefully designed for non-restaurant partners. It addresses the specific needs of the Grocery and Retail sectors, providing a dedicated integration path for partners outside the restaurant domain.
The Catalogue API aims to bridge the existing gap by offering a comprehensive solution for non-restaurant partners. It accommodates extensive catalogues, and non-restaurant-specific data attributes, and allows for independent evolution over time, distinct from the restaurant-focused Menu API.
Details of the Menu API offering can be found here.
Features Matrix of Catalogue APIs
Feature | Description | Available | Upcoming Releases |
---|---|---|---|
Create Catalogue | Ability to create catalogues & allow customization for each site with a tailored product assortment | ✓ | |
Detailed Items Information | Ability to store comprehensive item and category details, including modifiers and classification data | ✓ | |
Real-time Updates | Ability to get instant successful or unsuccessful updates to the catalogue with rate limiting for optimal system usage | ✓ | |
Item SKU Range Up to 10K | Ability to create a catalogue up to 10K SKUs | ✓ | |
Barcodes | Ability to assign multiple GTINs/Barcodes per item | ✓ | |
Next Generation Menu (NGM) Support | Ability to publish the catalogue in NGM format, along with the default non-NGM format | ✓ | |
Update Stock Catalogue | Ability to set Items stock to 'available' and 'unavailable' statuses | ✓ | |
Item SKU Range Up to 30K | Ability to create a catalogue up to 30K SKUs | ✓ | |
Catalogue Delta Updates | Ability to make delta updates to the catalogue when adding/removing items | ✓ | |
Catalogue API via Developer portal | Ability to self-service Catalogue API in the Developer Portal | ✓ | |
Variable Weight | Ability to capture item and order data used for products sold by weight (or by other units of measurement) | ✓ |
Examples
{
"version": "catalogue-upload-v1",
"items": [
{
"id": "789",
"plu" : "789-plu",
"barcodes" : ["5000169153666"],
"name": {
"en": "Deliveroo Bananas 5 per Pack"
},
"description": {
"en": "Deliveroo Bananas 5 per Pack"
},
"media": [
{
"media_type":"main_image",
"media_url": "https://xxx/FRUITS-APPLES_BANANAS.jpg"
}
],
"price_info": {
"price": 150
},
"tax_rate": "20.0",
"is_eligible_as_replacement": true,
"is_eligible_for_substitution": true,
"is_returnable": false,
"classifications": [],
"allergies": ["no_allergens"],
"diets": [],
"max_quantity": null,
"nutritional_info": {
"energy_kcal": {
"low": 89,
"high": 100
}
},
"highlights": ["in_store_price"],
"modifier_ids": [],
"operational_name": "Deliveroo Bananas 5 per Pack"
}
],
"sites": [{
"external_id": "5000",
"site_ids": ["5000"],
"item_ids": ["789"],
"hero_image": { "url": "https://xxx/Store_hero_image.jpg" },
"experience": "aisles",
"merchandise_collections": {
"item_categories": [
{
"id": "beer",
"name": {"en": "Yummy Fruits"},
"description": {"en": "Hot Summers - Chilled Beers"},
"item_ids": ["789"]
}
]
},
"categories": {
"item_categories": [
{
"id": "fruit",
"name": {"en": "Fruits"},
"description": {"en": "Fruits"},
"item_ids": ["789"]
}]
},
"modifiers": []
}]
}
{
"brand_id": "partner-brand",
"created_at": "2024-04-18T15:54:01.202080484Z",
"error_messages": [
"items: (4: (barcodes: the length must be no more than 1.).)."
],
"event": "catalogue_upload",
"status": "error",
"updated_at": "2024-04-18T15:54:07.60131891Z",
"upload_id": "eda51ef1-deda-4951-86f9-61d8aface7b1"
}
{
"brand_id": "partner-brand",
"created_at": "2024-04-18T15:55:07.633822806Z",
"event": "catalogue_upload",
"status": "success",
"updated_at": "2024-04-18T15:55:14.644485829Z",
"upload_id": "73f06b39-3c1d-4d4a-8e27-88c1666981da"
}
Unchanged Catalogue
In the case of the catalogue details to be uploaded are the same as the existing details, then an error response is returned with the additional information of the result. The result will contain the error message File already uploaded.
{ "brand_id": "partner-brand", "created_at": "2024-04-18T15:52:14.49683622Z", "error_messages": [ "file already uploaded" ], "event": "catalogue_upload", "status": "error", "updated_at": "2024-04-18T15:52:23.001059154Z", "upload_id": "ae8dd9b6-4d2d-4c53-a9a2-afd433229500" }
Updated 13 days ago