Catalogue Integration

What is the Catalogue API?

The Catalogue API is an innovative solution tailored for the efficient management of catalogues and inventory, specifically designed for grocery and retail partners. While bearing similarities to the existing Restaurant-focused Menu API , it is engineered to accommodate substantially larger catalogue sizes and will incorporate numerous grocery and retail-specific functionalities in upcoming iterations. Partners familiar with the Menu API structure will recognize resemblances in the Catalogue API format, yet notable differences exist to cater to the distinct requirements of grocery and retail partners.

Upload Catalogue - Asynchronous

Uploading catalogues is now completely asynchronous. This means that rather than providing all catalogue data in a single HTTP request, there are additional steps

  1. Integrator calls the /catalogue/uploads URL. Successful requests will receive an upload url and an upload id, which is used for tracking the entire catalogue upload lifecycle
  2. Integrator uploads all catalogue data to the upload url . When upload is complete catalogue processing will begin
  3. When processing is complete, or a problem occurs, the user will be notified via a webhook , containing the upload id. Webhook URLs can be set by the user via the dev portal or discuss with Deliveroo Integration Manager.

๐Ÿ“˜

Point to Note:

While uploading catalogue JSON on the Deliveroo returned URL, No Auth is required.

JSON example can be found here

Get Catalogue

The Get Catalogue API enables you to fetch the currently active catalogue associated with your brand. Upon querying the Get Catalogue API, a webhook call is initiated, providing a response that includes the catalogue_url. This URL facilitates the download of the catalogue JSON for further processing.

{
  "brand_id": "partner-brand",
  "catalogue_url": "https://xxx/GetCatalogueResponse/xx/xx.json",
  "created_at": "2024-04-22T15:10:35.288037557Z",
  "event": "get_catalogue",
  "external_id": "5000",
  "get_catalogue_id": "7b999a37-012e-4471-aa33-6179fa7c49ce",
  "status": "success",
  "updated_at": "2024-04-22T15:10:35.288037627Z"
}

Managing Stock Unavailabilities

A partner can manage stock unavailability through the Update Unavailabilities API.

There are two possible statuses of an item:

  • available (default) - the item is visible on the site for the customers
  • unavailable - the item is "greyed out", "strike-through" and marked as "sold out" on our platform

A partner should get the status of the existing items through Get Unavailabilities and then mark the items accordingly via Update Unavailabilities API.

{
    "item_unavailabilities": [
        {
            "item_id": "789",
            "status": "unavailable"
        }
    ]
}
{
    "version": "unavailabilities-v1",
    "reset_all_item_availabilities": false, 
    "item_unavailabilities": [
        {"item_id": "789","status": "unavailable"}
    ]
}

Bulk Sites

The Restaurant Menu API allowed sites with identical items to share a menu, however Grocery and Retail sites often have different item selections depending on the size and layout of the site, and many other factors. The Catalogue API allows multiple sites, with completely different item selections, to be uploaded at the same time. We hope this will simplify integrations for grocery and retail partners that may not want to make large numbers of API calls.