Menu
The Menu enables interaction with a store's menu. Represents a grouping of items within categories. Each menu can have its own combination as long as it uses the catalog (list of items/categories) from its store.
The following table outlines the available Menu resources:
Resource | Endpoint description |
---|---|
GET v1/stores/{store_id}/menu | Retrieves the menus of a store by Store ID. |
POST v1/stores/{store_id}/menu | Create or Update the menus by store ID. |
DELETE v1/stores/{store_id}/menu | Delete the specified menus by store ID. |
GET v1/stores/{store_id}/menu/{menu_id} | Retrieves the specified menu with all relations of information by store ID. |
GET Menus By Store ID
Use this endpoint to retrieve the menus of a store by Store ID.
Endpoint URL
Use this URL to make a request with this endpoint:
https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{store_id}/menu
{NEW_DOMAIN}
: This is your Rappi Country Domain. See the list of Country Domains.
Endpoint Properties
This resource has the following properties:
Response formats | JSON |
Authentication requirements | Token |
Parameters
This endpoint has the following parameters:
Parameter | Type | Required | Description |
---|---|---|---|
store_id | int | Yes | The unique identifier of the store whose menu is being requested. |
This parameter is used to specify which store's menu should be retrieved. The store_id should be a valid integer representing a store registered in the system.
Status Codes
These are the possible status codes of the response for this endpoint:
Sample Request
This is an example of an API request using this endpoint:
GET https://api.dev.rappi.com/restaurants/menu/v1/stores/{store_id}/menu
This is an example of the request:
String storeId = "232"; String urlString = "https://api.dev.rappi.com/restaurants/menu/v1/stores/" + storeId + "/menu"; URL url = new URL(urlString); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Accept", "application/json"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); int responseCode = connection.getResponseCode(); System.out.println("Response Code: " + responseCode); try (BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8))) { StringBuilder response = new StringBuilder(); String responseLine; while ((responseLine = br.readLine()) != null) { response.append(responseLine.trim()); } System.out.println("Response body: " + response.toString()); }
Sample Response "Success 200"
This is an example of the response "Success 200":
[ { "id": 9, "store_id": 232, "super_store_id": 232, "menu_type": "DEFAULT", "categories": [ { "id": 625, "sku": "abc", "index": 0, "is_category_active": true }, { "id": 637, "sku": "def", "index": 0, "is_category_active": true } ] } ]
POST Upsert Menu By Store ID
Use this endpoint to create or update the store´s menu.
Endpoint URL
Use this URL to make a request with this endpoint:
https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{store_id}/menu
{NEW_DOMAIN}
: This is your Rappi Country Domain. See the list of Country Domains.
Endpoint Properties
This resource has the following properties:
Response formats | JSON |
Authentication requirements | Token |
Parameters
This endpoint has the following parameters:
Parameter | Type | Required | Description |
---|---|---|---|
store_id | int | Yes | The unique identifier of the store whose menu is being requested. |
Important Notes
Request Fields Description
Field | Type | Description |
---|---|---|
id | int | Unique identifier of the store's menu. |
menu_type | string | Type of menu (e.g., "DEFAULT"), indicating the menu classification. |
categories | array | List of categories included in the store's menu. |
categories[].id | int | Unique identifier of the category. |
categories[].sku | string | Stock Keeping Unit (SKU) associated with the category. |
categories[].index | int | Position of the category within the menu. |
categories[].is_category_active | boolean | Indicates whether the category is active (true ) or inactive (false ). |
Status Codes
These are the possible status codes of the response for this endpoint:
Sample Request
This is an example of an API request using this endpoint:
POST https://api.dev.rappi.com/restaurants/menu/v1/stores/232/menu
This is an example of the request:
import okhttp3.*; public class Main { public static void main(String[] args) throws Exception { OkHttpClient client = new OkHttpClient(); String json = "[{\"id\": 9, \"menu_type\": \"DEFAULT\", \"categories\": [{\"id\": 6, \"sku\": \"abc\", \"index\": 0, \"is_category_active\": false }]}]"; RequestBody body = RequestBody.create(json, MediaType.get("application/json")); Request request = new Request.Builder() .url("https://api.dev.rappi.com/restaurants/menu/v1/stores/232/menu") .addHeader("Content-Type", "application/json") .addHeader("x-authorization", "Bearer YOUR_TOKEN") .addHeader"x-authorization", "Bearer YOUR_TOKEN") .post(body) .build(); try (Response response = client.newCall(request).execute()) { System.out.println(response.body().string()); } } }
Sample Response 'Success 200'
This is an example of the response "Success 200":
{ "message": "Your request has been accepted." }
DELETE Menu By Store ID
Use this endpoint allows the deletion of a specific list of menus from a store.
Endpoint URL
Use this URL to make a request with this endpoint:
https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{store_id}/menu
{NEW_DOMAIN}
: This is your Rappi Country Domain. See the list of Country Domains.
Endpoint Properties
This resource has the following properties:
Response formats | JSON |
Authentication requirements | Token |
Parameters
This endpoint has the following parameters:
Parameter | Type | Required | Description |
---|---|---|---|
store_id | int | Yes | The unique identifier of the store whose menu is being requested. |
Status Codes
These are the possible status codes of the response for this endpoint:
Sample Request
The request must be sent in JSON format with an array of menu IDs to be deleted. This is an example of an API request using this endpoint:
DELETE https://api.dev.rappi.com/restaurants/menu/v1/stores/232/menu
This is an example of the request:
import okhttp3.*; public class Main { public static void main(String[] args) throws Exception { OkHttpClient client = new OkHttpClient(); String json = "[1,2]"; RequestBody body = RequestBody.create(json, MediaType.get("application/json")); Request request = new Request.Builder() .url("https://api.dev.rappi.com/restaurants/menu/v1/stores/232/menu") .delete(body) .addHeader("Content-Type", "application/json") .addHeader("x-authorization", "Bearer YOUR_TOKEN") .addHeader("x-authorization", "Bearer YOUR_TOKEN") .build(); try (Response response = client.newCall(request).execute()) { System.out.println(response.body().string()); } } }
Sample Response 'Success 200'
This is an example of the response "Success 200":
{ "message": "Your request has been accepted." }
GET Menu By Store ID
Use this endpoint to retrieve the details of a specific menu from a store.
Endpoint URL
Use this URL to make a request with this endpoint:
https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{store_id}/menu/{menu_id}
{NEW_DOMAIN}
: This is your Rappi Country Domain. See the list of Country Domains.
Endpoint Properties
This resource has the following properties:
Response formats | JSON |
Authentication requirements | Token |
Path Parameter
Parameter | Type | Required | Description |
---|---|---|---|
store_id | int | Yes | The unique identifier of the store whose menu is being requested. |
menu_id | int | Yes | The unique identifier of the menu that is requested. |
This parameter is used to specify which store's menu should be retrieved. The store_id should be a valid integer representing a store registered in the system.
Status Codes
These are the possible status codes of the response for this endpoint:
Sample Request
This is an example of an API request using this endpoint:
GET https://api.dev.rappi.com/restaurants/menu/v1/stores/{store_id}/menu/{menu_id}
This is an example of the request:
String storeId = "232"; String menuId = "9"; String urlString = "https://api.dev.rappi.com/restaurants/menu/v1/stores/" + storeId + "/menu/" + menuId; URL url = new URL(urlString); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Accept", "application/json"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); int responseCode = connection.getResponseCode(); System.out.println("Response Code: " + responseCode); try (BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8))) { StringBuilder response = new StringBuilder(); String responseLine; while ((responseLine = br.readLine()) != null) { response.append(responseLine.trim()); } System.out.println("Response body: " + response.toString()); }
Sample Response "Success 200"
This is an example of the response "Success 200":
{ "id": 9, "store_id": 232, "super_store_id": 232, "menu_type": "DEFAULT", "categories": [ { "id": 6, "sku": "abc", "index": 0, "is_category_active": true } ] }
This table describes the objects contained in the response example:
Campo | Tipo | Descripción |
---|---|---|
id | int | Unique identifier of the store's menu |
menu_type | string | Type of menu (e.g., "DEFAULT"), indicating the menu classification |
store_id | int | Unique identifier of the store within the Rappi application |
super_store_id | int | Unique identifier of the super store within the Rappi application |
categories | array | List of categories included in the store's menu |
categories[].id | int | nique identifier of the category |
categories[].sku | string | Stock Keeping Unit (SKU) associated with the category" |
categories[].index | int | Position of the category within the menu |
categories[].is_category_active | boolean | Indicates whether the category is active (true) or inactive (false) |