Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

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

Contents

Table of Contents
stylenone

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.

Info

The menu content is mostly managed on a brand/market-level (e.g. Burger King UK) 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.

...

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.

...

Info

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, as well as additional version metadata referring to the latest version of the menu.

...

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 .

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.

Store Menu Version events are dispatched via this webhook when a store's menu changes. Menus can change for a variety of reasons. Some stores may update the availability of an item to make it unavailable for orders ("stock out"). Operators also make frequent changes to menu prices throughout the day, and at the brand-level menu entries are being added and removed continuously.

...

  1. Create or update by making a PUT call on the following Partners-API endpoint /api/v1/stores/{storeId}/menu/plus. For the sake of our example, let’s use the following payload:

    Code Block
    {
      "plus": [
        {
          "plu": "502",
          "prices": [
            {
              "price": {
                "currency": "USD",
                "amount": 100
              },
              "channel": "WHITELABEL_IN_STORE"
            }
          ]
        }
      ]
    } 
  2. This will asynchronously trigger a few internal processes that will generate the following MENU_PRICES_AVAILABILITY_UPDATE webhook event. This also generates a StoreMenuVersion

    record in our database, which will be kept for 7 days.

    Code Block
    {
      "brand": "BK",
      "channel": "whitelabel",
      "chunk": 0,
      "country": "NZ",
      "data": {
        "created": [
        {
          "channel": "whitelabel",
          "country": "NZ",
          "plu": "502",
          "price": 100,
          "serviceMode": "pickup",
          "startDate": 1680016297075,
          "storeId": "456471",
          "version": 20230328151137129
        }
        ],
        "deleted": [
        ],
        "updated": [
        ]
      },
      "serviceMode": "pickup",
      "storeId": "456471",
      "eventTime": "2023-03-28T22:41:03.279Z",
      "eventType": "MENU_PRICES_AVAILABILITY_UPDATE"
    }

This webhook is a more generic webhook similar to the https://rbictg.atlassian.net/wiki/spaces/RDP/pages/5285970207/Menu+Management+-+API+Actions#Store-Menu-Version-Webhook . It is being published upon menu pricing & availability changes, however it doesn’t specify which data points have specifically changed. Therefore, upon receiving this webhook update, vendors usually do a full sync of the menu to fetch the most up-to-date version of the menu,

...