Menu API Order Platform Webhooks

Upload Menu

The Upload Menu endpoint is designed to allow external food aggregators, online ordering platforms, etc... to recieve a new menu or existing menu updates for stores. This functionality is essential for keeping store menus up to date, including items, categories, prices, and availability. When a call is made to this endpoint, the entire menu for a specific store or stores should be overwritten with the new menu data provided in the request, replacing any existing menu configurations.

The menu payload has the following structure. alt text

post/menus

Request

  • Base URL
    https://order_platform_url
  • URL
    https://order_platform_url/menus
  • Auth
    none declared

Request body

idstring required

Unique identifier for the menu, provided by GrubTech.

imageUrlstring required

URL pointing to an image of the item. <br/> Image Specifications: <br/> - File size less than 2MB. <br/> - Image format in JPEG, PNG. <br/> - Resolution for the images will be 800 x 800 px.

currencyCodestring required

Applicable currency code for the menu. According to ISO-4217

storeIdsstring[] required

Unique identifiers for each location for which the menu should be updated.

externalDatastring

(optional) Free-form text field reserved for the api consumer to use, e.g. for POS integrations

tagsstring[] required

(optional) List of tags

Example request

{
  "id": "601e50ce6053727605dc5a1c",
  "imageUrl": "https://cdn.staging.grubtech.io/default-menu-cover.jpg",
  "currencyCode": "AED",
  "storeIds": [
    "5fe33b6a48c2a05c552e669b"
  ],
  "items": [
    {
      "id": "601e50ce9509110c35650e01",
      "classifications": [
        "VEG"
      ],
      "imageUrl": "https://cdn.staging.grubtech.io/IMAGE_RECIPE-b086a720-63e1-480e-ace3-1973fa19cc40.jpeg",
      "quantityInfo": {
        "maxPermitted": 10
      },
      "type": "ITEM"
    }
  ],
  "modifierGroups": [
    {
      "id": "601e4eddcadaefc990e652a45fec41c6fd8e121b65dfa02e",
      "quantityInfo": {
        "maxPermitted": 10
      },
      "modifiers": [
        "601e50ce9509110c35650e02"
      ]
    }
  ],
  "categories": [
    {
      "id": "601e50cd6053727605dc5a17",
      "background": {
        "type": "IMAGE",
        "value": "IMAGE_CATEGORY-3cb9f4ed-48d6-4088-a88b-d04cc8faaaab.jpeg"
      },
      "servingHours": [
        {
          "dayOfWeek": "MONDAY",
          "timePeriods": [
            {
              "start": "08:30",
              "end": "23:30"
            }
          ]
        }
      ],
      "items": [
        "601e50ce9509110c35650e01"
      ]
    }
  ]
}

Response

Successful response OK

idstring required

Unique id for the menu.

externalReferenceIdstring required

Grubtech unique id for the menu

Changes

No recorded changes to this operation across all 1 revision of this API.