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;

Payload
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

channelLinkId is an individual store’s unique ID in Deliverect.

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

Object keyed by ID; {productId} represents each key.

modifiers
object

Modifiers in the menu, sharing a common attribute structure with products (collectively referred to as items below).

Object keyed by ID; {modifierId} represents each key.

modifierGroups
object

Modifier groups in the menu.

Object keyed by ID; {modifierGroupId} represents each key.

snoozedProducts
object

PLUs of products and modifiers that are currently snoozed and should be unavailable on the menu.

Object keyed by ID; {snoozeId} represents each key.

validations
array
deprecated
validations
bundles
object
deprecated

Legacy

Headers
string
required
Defaults to Deliverect/{version}

Identifies Deliverect as the sender of the webhook, in the format Deliverect/{version}.

string
required
Defaults to {signature}

HMAC-SHA256 signature of the raw request body, generated with your shared secret. Recompute the signature on receipt and compare it to this value to verify the request came from Deliverect (see the HMAC authentication guide).

Responses

LoadingLoading…