Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 8 Next »

This page contains all the API actions related to the menu.

After guests have selected a store for in-restaurant orders or inputted a delivery address (different service modes), they will navigate through the menu. For menu content, Sanity is the source of the truth. For pricing & availability (P&A), the source of truth is either the POS or the Digital Operations Portal (DOP) depending on the integration in your brand/market.

The menu content is mostly managed on a brand/market-level whereas pricing & availability is more granularly managed on restaurant-level. The Brand Menu refers to the global menu in a given brand/market for content, whereas the Store Menu refers to the restaurant-level menu for pricing & availability.

API Actions - Brand Menu

The GET Brand Menu endpoint is used to retrieve the full brand-menu for a given channel. The brand-menu is not store specific, but it is the source of menu content used to generate the store-menu. Different than the store-menu, the brand-menu does not have any pricing & availability information.

This endpoint is used when the vendor needs the menu content for populating various touchpoints. Some examples of these touchpoints are the aggregator platforms and Kiosk.

The menu response after calling this endpoint has a flat JSON, that means it doesn't have nested structures. All fields are root level properties, so you can refer to them simply by ID. The below example is a walk-through from menu to modifier.

Tenders example

Type

ID

Name

Menu

Group

menu_1

Menu

Section

Group

4763b543-2d04-40a6-8b95-d55750ec554a

Tenders

Picker

Group

xdgrygmaqSf78Pjdh6UrTF

3Pc Tenders Meal

picker_pickerAspect

Group

xdgrygmaqSf78Pjdh6UrTF-76b9c2d3-536e-46bb-a060-f805a63b0063

Choose a Size

picker_pickerAspectOption

Group

xdgrygmaqSf78Pjdh6UrTF-medium

Large Combo

picker_pickerAspect_pickerAspectOption_pickerAspect

Group

xdgrygmaqSf78Pjdh6UrTF-76b9c2d3-536e-46bb-a060-f805a63b0063-medium-b376ee07-5ba9-464d-a3b0-e79ad3643e2a

Choice of Tenders Preparation

picker_pickerAspectOption_pickerAspectOption2

Group

xdgrygmaqSf78Pjdh6UrTF-medium-spicy

Spicy

combo

Combo

00cc6fc6-5ce7-4361-aa95-9d6d726b5bbd

3Pc Tenders Medium Combo - Spicy

comboSlot

Group

group_item_40961

Main Item

comboSlotOption

Group

option_group_item_40961

N/A

item

Item

item_40961

3Pc Tenders - Spicy

modifierGroup

Group

ModifierGroup_60

Sauces - 1 Included

modifier

Modifier

modifierMultiplier_1-00-163758

Default entry: For each Picker & Modifier Group, each group will have a property, “defaultSelection”. DefaultSelection will have an ID for an entry that is default for that group

Groups: The menu has four types: Combo, Item, Group and Modifier. The group type exists to wrap relevant references to walk through the menu. Only Combo, Item and Modifier will be passed to and committed to POS in Cart.

Types of Groups

Description

Display type

Menu

Group of Sections

List

Section

Section is a broad container. It can contain pickers, items , combos as well as other sections

List

Picker

Pickers allows an step by step selection process that ultimate resolve in Combos or Item. Pickers have only one immediate child, a reference to the first aspect.

Single entry

Picker Aspect

Group of Picker Aspect Options

Select

Picker Aspect Option

Group of picker Options - References the next aspect for the picker. The picker options of the last aspect reference the final selection result (combo/item)

Single entry

Combo Slot

Group of Combo Slot Options

Select

Combo Slot Option

References Combo Slot Option

Single entry

Modifier Group

Group of Modifiers

Multi-select

Group display type

Description

List

Group of Sections & Pickers(subsections)

Single-Entry

One option that maps to options to select from (Size, Choice of Prep)

Select

Group with Single Selection Option

Multi-Select

Group with Multiple Selection Options

Menu Content Updated events are dispatched when there are changes to content in the CMS (Sanity). This webhook provides information with what ids were created, updated or deleted considering the menu entries, configOffersEntries, systemWideOffersEntries and rewardEntries.

It will also provide a versionId field so when retrieving the menu, you can compare it against the menu's metadata. This will let consumers know if the version they're consuming is up to date with the latest webhook call.

Since the content is not store nor serviceMode specific, the storeId/serviceMode aren’t present in the payload.

API Actions - Store Menu

To ensure guests are seeing the correct pricing and availability, the POS must send us the PLU-price key/value pair, indicating whether PLU is available or not for the specific store and service mode (delivery or pickup). Receiving data for each service mode is needed even for POS where availability of menu items are not managed differently for service modes on restaurant-level.

Note that the in-restaurant menu uses the same PLUs as what’s being referred to as Pick-Up menu in the API documentation. Pick-up Service Mode Group is the same as In-restaurant.

This endpoint retrieves price & availability for all entries in the store's menu by PLU.

The plus attribute within the endpoint allows users to specify a list of plus (array of strings) to filter the results in case the whole store menu is not needed.

Additionally, the endpoint includes the path parameters: storeId, serviceMode and channel.

For a given store, serviceMode and channel combination, this endpoint provides a history of versions starting from the provided version number. This history contains key/value pairs where the keys refer to a given version and the value contains one object with the created, updated and deleted information for the given version. This endpoint is usually used in conjuction with the https://rbictg.atlassian.net/wiki/spaces/RDP/pages/5285970207/Menu+Management+-+API+Actions#Store-Menu-Version-Webhook and https://rbictg.atlassian.net/wiki/spaces/RDP/pages/5285970207/Menu+Management+-+API+Actions#Menu-Event-Webhook.

This endpoint allows updating multiple PLU pricing & availability values for multiple stores for a given serviceMode. In the request body, the partner can specify plus, region, channel, serviceMode and storeIds. storeIds supports an array of strings, whereas plusis an array of objects supporting specifying mainly the values of availability, price and PLU. For details, refer to the partners API documentation.

This webhook

This webhook

  • No labels