Versions Compared

Key

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

Contents

Table of Contents
stylenone

Overview

RBI’s Orders API is designed to allow guests to place orders using RBI mobile apps. Guests select the items they want to order via the app, and the RBI platform communicates with the restaurant’s POS system to calculate the basket price and place the order.

This document explains how the integration works between RBI systems, the POS and optional payload translation services.

Calculate basket price

Direct integration

When a guest loads the checkout page, the RBI mobile app communicates with the RBI platform to request the basket price by indicating the full basket contents. In turn, the RBI platform sends the full basket contents to the POS using the Price Order Webhook.

The POS must have previously developed the ability to accept calls from the Price Order Webhook, and respond with a call to the Price Order Webhook Callback (using the callbackUrl parameter sent with the original request).

...

uuid39f104e4-5aa1-4c62-96a6-8af7c9c4a833
customContentId4712595582
updatedAt2024-05-14T11:34:01Z

With a translation service

Calls to the Price Order Webhook send the full basket contents under the cart request parameter. This parameter has a standard format, which must be translated to the format that each POS expects to receive. Typically this is accomplished with a service such as Khumbu. In case a translation service is used, communication between systems happens as follows:

...

uuid39f104e4-5aa1-4c62-96a6-8af7c9c4a833
customContentId4712169603
updatedAt2024-05-14T11:36:32Z

Place order

Note

Work in progress

Payload format

Info

This section explains changes to the format of the cart object used to make a request to Price Order Webhook. It will be moved to the Partner API Reference Documentation soon.

Reward with an item

Code Block
"cart": [
  {
    "menuSelections": [
      {
        "id": "7ee7338a-a016-47c6-aef6-3783d40c003e", // Reward Sanity id
        "externalReferenceId": "123", // Reward constant plu defined in Sanity
        "quantity": 1,
        "price": {
          "amount": 0,
          "currency": "SAR",
        }
        "type": "OfferCombo", // OfferCombo
        "menuSelections": [
          {
            "externalReferenceId": "51056", // item constant plu
            "id": "item_1862", // item Sanity id
            "menuSelections": [],
            "price": {
                "amount": 2495, // normal price
                "currency": "SAR"
          },
            "quantity": 1,
            "type": "Item"
          }
        ], // item 51056
      }
    ]
  }
]

Reward with a combo

Code Block
"cart": {
        "menuSelections": [
            {
                "externalReferenceId": "8350",
                "id": "43b4cf07-79c9-4aff-98d1-bce9cf2d890f",
                "menuSelections": [
                    {
                        "externalReferenceId": "10059",
                        "id": "item_1852",
                        "menuSelections": [],
                        "price": {
                            "amount": 0,
                            "currency": "SAR"
                        },
                        "quantity": 1,
                        "type": "Item"
                    },
                    {
                        "externalReferenceId": "80007",
                        "id": "4f99db1e-128a-4e53-b23b-dffc0fedf636",
                        "menuSelections": [],
                        "price": {
                            "amount": 0,
                            "currency": "SAR"
                        },
                        "quantity": 1,
                        "type": "Item"
                    },
                    {
                        "externalReferenceId": "80001",
                        "id": "16f482db-2f13-4476-88d3-d2eec26057f3",
                        "menuSelections": [],
                        "price": {
                            "amount": 0,
                            "currency": "SAR"
                        },
                        "quantity": 1,
                        "type": "Item"
                    },
                    {
                        "externalReferenceId": "141139",
                        "id": "141139",
                        "menuSelections": [],
                        "price": {
                            "amount": 0,
                            "currency": "SAR"
                        },
                        "quantity": 1,
                        "type": "Item"
                    }
                ],
                "price": {
                    "amount": 0,
                    "currency": "SAR"
                },
                "quantity": 1,
                "type": "OfferCombo"
            }
        ]
    },

Offer with a combo

Code Block
"cart": {
        "menuSelections": [
            {
                "externalReferenceId": "8167",
                "id": "d90a7113-0620-44d9-b678-743330a2f207",
                "menuSelections": [
                    {
                        "externalReferenceId": "80003",
                        "id": "ce847c79-9eb5-4be3-8a1e-842919aa5ba0",
                        "menuSelections": [],
                        "price": {
                            "amount": 0,
                            "currency": "SAR"
                        },
                        "quantity": 1,
                        "type": "Item"
                    },
                    {
                        "externalReferenceId": "142538",
                        "id": "142538",
                        "menuSelections": [],
                        "price": {
                            "amount": 0,
                            "currency": "SAR"
                        },
                        "quantity": 1,
                        "type": "Item"
                    }
                ],
                "price": {
                    "amount": 500,
                    "currency": "SAR"
                },
                "quantity": 1,
                "type": "OfferCombo"
            }
        ]
    },

Offer with a picker

...

Introduction

This is the home page of the RBI Orders endpoints, which are used by POS systems to place orders made by guests using the RBI mobile apps.

Info

You should read this documentation if you are:

  • A POS system integrating with the RBI platform

  • A middleware system connecting the RBI platform with a POS system

Contents

Page Tree
rootRDP:RDP:RDP:RDP:RDP:RDP:COG:@self
startDepth1