Contents
Table of Contents | ||
---|---|---|
|
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).
...
uuid | 39f104e4-5aa1-4c62-96a6-8af7c9c4a833 |
---|---|
customContentId | 4712595582 |
updatedAt | 2024-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:
...
uuid | 39f104e4-5aa1-4c62-96a6-8af7c9c4a833 |
---|---|
customContentId | 4712169603 |
updatedAt | 2024-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:
|
Contents
Page Tree | ||||
---|---|---|---|---|
|