v1

latestOpenAPI 3.0.3Apache 2.02026-07-2478177179.1 KB
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 body

idstring required

Unique identifier for the menu, provided by Grubtech.

imageUrlstring

(optional) URL pointing to an image of the item. <br/>Image requirements <br/>- File size must be less than 10MB. <br/>- Image must be in GIF, JFIF, PJPEG, JPG, PJPG, PNG, WEBP <br/>- Minimum resolution for the images will be 200x200 px and maximum resolution will be 4000x4000

currencyCodestring required

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

storeIdstring required

Unique identifier for the location in which the menu was created or updated. This ID will be provided by either Grubtech or the aggregator.

externalDatastring

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

latestNotificationIdstring required

Unique identifier for the latest menu update notification

lastUpdatedAtstring required

The time the menu updated, represented in ISO 8601 format.

Example request

{
  "id": "bc19f8e9-6b15-443f-a9c0-23daf8bc68b2",
  "name": {
    "translations": {
      "en-us": "grubtech"
    }
  },
  "description": {
    "translations": {
      "en-us": "grubtech"
    }
  },
  "imageUrl": "https://cdn.staging.grubtech.io/default-menu-cover.jpg",
  "currencyCode": "AED",
  "storeId": "a9f3ded6-c10b-4f17-ad42-5788e061b0a6",
  "items": [
    {
      "id": "601e50ce9509110c35650e01",
      "sku": "FG-00923",
      "barcodes": [
        "703546147070869504"
      ],
      "name": {
        "translations": {
          "en-us": "grubtech"
        }
      },
      "description": {
        "translations": {
          "en-us": "grubtech"
        }
      },
      "brandName": "Anchor",
      "imageUrl": "https://cdn.staging.grubtech.io/IMAGE_RECIPE-b086a720-63e1-480e-ace3-1973fa19cc40.jpeg",
      "unitPrice": 1200,
      "discountedPrice": 1000,
      "quantityInfo": {
        "amount": 100,
        "measureUnit": "g",
        "itemSize": "500"
      },
      "type": "ITEM",
      "availability": "AVAILABLE",
      "tags": [
        "Chef's special"
      ]
    }
  ],
  "categories": [
    {
      "id": "601e50cd6053727605dc5a17",
      "background": {
        "type": "IMAGE",
        "value": "IMAGE_CATEGORY-3cb9f4ed-48d6-4088-a88b-d04cc8faaaab.jpeg"
      },
      "name": {
        "translations": {
          "en-us": "grubtech"
        }
      },
      "description": {
        "translations": {
          "en-us": "grubtech"
        }
      },
      "items": [
        "601e50ce9509110c35650e01"
      ]
    }
  ],
  "latestNotificationId": "a9f3ded6-c10b-4f17-ad42-5788e061b0a6",
  "lastUpdatedAt": "2020-08-02T09:23:54.723Z"
}

Response

Successful response OK

idstring required

Unique id for the request.

externalReferenceIdstring required

Grubtech unique id for the request