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ú:

RecursoDescripción
GET v1/stores/{store_id}/menuRecupera los menús de una tienda por ID de tienda.
POST v1/stores/{store_id}/menuCrea o actualiza los menús por ID de tienda.
DELETE v1/stores/{store_id}/menuElimina 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 respuestaJSON
Requerimientos de autenticaciónToken

Parámetros

Este endpoint tiene los siguientes parámetros:

ParámetroTipoRequeridoDescripción
store_iduint64El 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 respuestaJSON
Requerimientos de autenticaciónToken

Parámetros

Este endpoint tiene los siguientes parámetros:

ParámetroTipoRequeridoDescripción
store_iduint64El 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

CampoTipoDescripción
idintIdentificador único del menú de la tienda.
menu_typestringTipo de menú (por ejemplo, "DEFAULT"), que indica la clasificación del menú.
categoriesarrayLista de categorías incluidas en el menú de la tienda.
categories[].idintIdentificador único de la categoría.
categories[].skustringStock Keeping Unit (SKU) asociado con la categoría.
categories[].indexintPosición de la categoría dentro del menú.
categories[].is_category_activebooleanIndica 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 respuestaJSON
Requerimientos de autenticaciónToken

Parámetros

Este endpoint tiene los siguientes parámetros:

ParámetroTipoRequeridoDescripción
store_idintYesEl 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 respuestaJSON
Requerimientos de autenticaciónToken

Parámetros

Este endpoint tiene los siguientes parámetros:

ParámetroTipoRequeridoDescripción
store_iduint64El identificador único de la tienda cuyo menú se está solicitando.
menu_iduint64El 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:

CampoTipoDescripción
idintIdentificador único del menú de la tienda.
menu_typestringTipo de menú (por ejemplo, "DEFAULT"), que indica la clasificación del menú.
store_idintIdentificador único de la tienda dentro de la aplicación de Rappi.
super_store_idintIdentificador único de la super tienda dentro de la aplicación de Rappi.
categoriesarrayLista de categorías incluidas en el menú de la tienda.
categories[].idintIdentificador único de la categoría.
categories[].skustringStock Keeping Unit (SKU) asociado con la categoría.
categories[].indexintPosición de la categoría dentro del menú.
categories[].is_category_activebooleanIndica si la categoría está activa (true) o inactiva (false).