Menu
El Menú permite la interacción con el menú de una tienda. Representa una agrupación de artículos dentro de categorías. Cada menú puede tener su propia combinación siempre que utilice el catálogo (lista de artículos/categorías) de su tienda.
La siguiente tabla describe los recursos disponibles del Menú:
| Recurso | Descripción |
|---|---|
GET v1/stores/{store_id}/menu | Recupera los menús de una tienda por ID de tienda. |
POST v1/stores/{store_id}/menu | Crea o actualiza los menús por ID de tienda. |
DELETE v1/stores/{store_id}/menu | Elimina los menús especificados por ID de tienda. |
GET v1/stores/{store_id}/menu/{menu_id} | Recupera el menú especificado con todas las relaciones de información por ID de tienda. |
GET Menus por ID de tienda
Use este endpoint para recuperar los menús de una tienda por ID de tienda.
URL del Endpoint
Usa esta URL para realizar una solicitud con este endpoint:
https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{store_id}/menu
{NEW_DOMAIN}: Este es tu Dominio por País de Rappi. Mira la lista de Dominios por país.
Propiedades del Endpoint
Este recurso tienes las siguiente propiedades:
| Formato de respuesta | JSON |
| Requerimientos de autenticación | Token |
Parámetros
Este endpoint tiene los siguientes parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
store_id | uint64 | Sí | El identificador único de la tienda cuyo menú se está solicitando. |
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.
Códigos de Respuesta
Estos son los posibles códigos de respuesta en este endpoint:
Ejemplo de Solicitud
Este es un ejemplo de una llamada API usando este endpoint:
GET https://api.dev.rappi.com/restaurants/menu/v1/stores/{store_id}/menu
Este es un ejemplo de la llamada:
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()); }
Ejemplo de Respuesta
Este es un ejemplo de la respuesta:
[ { "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
Usa este endpoint para crear o actualizar el menú de la tienda.
URL del Endpoint
Usa esta URL para realizar una solicitud con este endpoint.
https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{store_id}/menu
{NEW_DOMAIN}: Este es tu Dominio por País de Rappi. Mira la lista de Dominios por país.
Propiedades del Endpoint
Este recurso tienes las siguiente propiedades:
| Formato de respuesta | JSON |
| Requerimientos de autenticación | Token |
Parámetros
Este endpoint tiene los siguientes parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
store_id | uint64 | Sí | El identificador único de la tienda cuyo menú se está solicitando. |
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.
Notas Importantes
Descripción de los Campos de Solicitud
| Campo | Tipo | Descripción |
|---|---|---|
id | int | Identificador único del menú de la tienda. |
menu_type | string | Tipo de menú (por ejemplo, "DEFAULT"), que indica la clasificación del menú. |
categories | array | Lista de categorías incluidas en el menú de la tienda. |
categories[].id | int | Identificador único de la categoría. |
categories[].sku | string | Stock Keeping Unit (SKU) asociado con la categoría. |
categories[].index | int | Posición de la categoría dentro del menú. |
categories[].is_category_active | boolean | Indica si la categoría está activa (true) o inactiva (false). |
Códigos de Respuesta
Estos son los posibles códigos de respuesta en este endpoint:
Ejemplo de Llamada
Este es un ejemplo de una llamada API usando este endpoint:
POST https://api.dev.rappi.com/restaurants/menu/v1/stores/900159641/menu
Este es un ejemplo de la llamada:
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\": 625, \"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()); } } }
Respuesta de Ejemplo "Éxito 200"
Este es un ejemplo de la respuesta "Éxito 200":
{ "message": "Your request has been accepted." }
DELETE Menu By Store ID
Usar este endpoint permite la eliminación de una lista específica de menús de una tienda dentro.
URL del Endpoint
Usa esta URL para realizar una solicitud con este endpoint:
https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{store_id}/menu
{NEW_DOMAIN}: Este es tu Dominio por País de Rappi. Mira la lista de Dominios por país.
Propiedades del Endpoint
Este recurso tienes las siguiente propiedades:
| Formato de respuesta | JSON |
| Requerimientos de autenticación | Token |
Parámetros
Este endpoint tiene los siguientes parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
store_id | int | Yes | El identificador único de la tienda cuyo menú se está solicitando |
Códigos de Respuesta
Estos son los posibles códigos de respuesta en este endpoint:
Códigos de Respuesta
La solicitud debe enviarse en formato JSON con un array de IDs de menús a eliminar. Este es un ejemplo de una solicitud a la API utilizando este endpoint:
DELETE https://api.dev.rappi.com/restaurants/menu/v1/stores/900152558/menu
Este es un ejemplo de la llamada:
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()); } } }
Respuesta de Ejemplo "Éxito 200"
Este es un ejemplo de la respuesta "Éxito 200":
{ "message": "Your request has been accepted." }
GET Menu By Store ID
Usa este endpoint para obtener los detalles de un menú específico de una tienda dentro.
URL del Endpoint
Usa esta URL para realizar una solicitud con este endpoint:
https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{store_id}/menu/{menu_id}
{NEW_DOMAIN}: Este es tu Dominio por País de Rappi. Mira la lista de Dominios por país.
Propiedades del Endpoint
Este recurso tienes las siguiente propiedades:
| Formato de respuesta | JSON |
| Requerimientos de autenticación | Token |
Parámetros
Este endpoint tiene los siguientes parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
store_id | uint64 | Sí | El identificador único de la tienda cuyo menú se está solicitando. |
menu_id | uint64 | Sí | El identificador único de un menú. |
Este parámetro se utiliza para especificar qué menú de tienda debe recuperarse. El store_id debe ser un número entero válido que represente una tienda registrada en el sistema.
Códigos de Respuesta
Estos son los posibles códigos de respuesta en este endpoint:
Ejemplo de Llamada
Este es un ejemplo de una llamada API usando este endpoint:
GET https://api.dev.rappi.com/restaurants/menu/v1/stores/{store_id}/menu/{menu_id}
Este es un ejemplo de la llamada:
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()); }
Ejemplo de Respuesta
Este es un ejemplo de la respuesta:
{ "id": 9, "store_id": 232, "super_store_id": 232, "menu_type": "DEFAULT", "categories": [ { "id": 625, "sku": "abc", "index": 0, "is_category_active": true } ] }
Esta tabla describe los objetos contenidos en el ejemplo de respuesta:
| Campo | Tipo | Descripción |
|---|---|---|
id | int | Identificador único del menú de la tienda. |
menu_type | string | Tipo de menú (por ejemplo, "DEFAULT"), que indica la clasificación del menú. |
store_id | int | Identificador único de la tienda dentro de la aplicación de Rappi. |
super_store_id | int | Identificador único de la super tienda dentro de la aplicación de Rappi. |
categories | array | Lista de categorías incluidas en el menú de la tienda. |
categories[].id | int | Identificador único de la categoría. |
categories[].sku | string | Stock Keeping Unit (SKU) asociado con la categoría. |
categories[].index | int | Posición de la categoría dentro del menú. |
categories[].is_category_active | boolean | Indica si la categoría está activa (true) o inactiva (false). |