Menu Update

Purpose

Menus will be routinely published to a provided Menu Update URL. The JSON payload contains all the necessary attributes to display a customer menu(s) as intended

Menu types

All menu types below will be shown as "menuType" and the corresponding integer. This represents the intended ordering format which the menu is suitable for.

NameInteger Value
Delivery and pickup0
Delivery1
Pickup2
Eat-in3
Curbside4

Product Configurations

Item Identifier
The unique identifier for each item is its plu which should be referenced when creating orders

Each item in a menu has a specific type as shown in the table below

For more detail on products types and different product configurations follow the link below;

Product TypeDescriptionInteger Value
ProductA 'top level' item on a menu (can also be grouped within a modifier group)1
ModifierOptions selectable when ordering a product, typically modifications of the product2
Modifier GroupA grouping of modifiers (can also group products)3

Images

See more information on how various image types are sent within a menu;

Currency

See a list of the currency types we will send within a published menu;

Translations

Find in the link below all the translatable elements of the menu and the list of translations codes.

Store Opening Times

A Location's opening times are communicated within the menu payload as "availabilities" and covered in more detail within the guide below;

Product Availability

There are two indicators of a product availability which are it's "snoozed" state and "visible" status. These are detailed in the page below;

Multiple menus per fulfillment type

Check out the guide below that details handling menu content when more than one menu is received;

Sample Menu JSON

Follow the guide How to recieve menus to create and publish a test menu to your channel from your Deliverect test account. See full JSON sample below;

Body Params
string

The name of the menu. Always present.

menuTranslations
object

Translation of the menu name with language codes as keys (see guide here).

string

Description of the menu.

descriptionTranslations
object

Translation of the menu description with language codes as keys (see guide here).

string

Header/Banner image url of the menu (more info on images here).

string

Internal Deliverect menu id. Always present.

integer
enum

Five different types of menus, with each representing the intended ordering type for which the menu is suitable: DELIVERY_AND_PICKUP = 0, DELIVERY = 1, PICKUP = 2, EAT_IN = 3, CURBSIDE = 4. Always present.

Allowed:
string

The id for the channelLink that this menu is published to. Always present.

boolean

Indicates if nested modifiers are present in the menu (see section here for further reference). Always present.

integer

Currency of the menu.

productTags
array of integers

Array of all tags that exist in the menu (see guide here).

productTags
availabilities
array of objects

The times during which the menu should be available. This will in most cases equate to the store's opening hours.

availabilities
categories
array of objects

The categories within a menu.

categories
products
object

Keyed object of products, keyed by product _id. Shares a common attribute structure with modifiers and modifierGroups (collectively referred to as items below).

modifiers
object

Keyed object of modifiers, keyed by modifier _id. Shares a common attribute structure with products and modifierGroups (collectively referred to as items below).

modifierGroups
object

Keyed object of modifier groups, keyed by modifier group _id. Shares a common attribute structure with products and modifiers (collectively referred to as items below).

snoozedProducts
object

PLUs of products and modifiers that are currently snoozed and should be unavailable on the menu, keyed by a unique snooze reference.

validations
array
deprecated

Deprecated.

validations
bundles
object
deprecated
Headers
string
Defaults to Deliverect/{version}

Deliverect/{version}

string
Defaults to {signature}

{signature}

Responses

Language
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json