Categorías
El recurso de Categoría permite la interacción con las categorías en los menús de la tienda.
La siguiente tabla describe los recursos disponibles de Categoría:
| Recurso de Categorías | Descripción del Endpoint |
|---|---|
GET v1/stores/{store_id}/categories | Recupera las categorías de una tienda por su ID. |
POST v1/stores/{store_id}/categories | Crea o actualiza las categorías por ID de tienda. |
DELETE v1/stores/{store_id}/categories | Elimina las categorías por ID de tienda. |
GET v1/stores/{store_id}/categories/{category_id} | Recupera la categoría especificada con todas sus relaciones de información. |
GET Categorías por ID de Tienda
Este endpoint recupera la lista de categorías disponibles en una tienda específica.
URL del Endpoint
Utiliza esta URL para hacer una solicitud con este endpoint:
https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{store_id}/categories
{NEW_DOMAIN}: Este es el dominio de tu país en Rappi. Consulta la lista de dominios por país.
Propiedades del Endpoint
Este recurso tiene las siguientes propiedades:
| Formatos de respuesta | JSON |
| Requisitos de autenticación | Token |
Parámetros
Este endpoint tiene los siguientes parámetros
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
store_id | int | Sí | Identificador único de la tienda cuyo menú se está solicitando. |
Este parámetro se usa para especificar de qué tienda se debe recuperar el menú. El store_id debe ser un número entero válido que represente una tienda registrada en el sistema.
Códigos de Estado
Estos son los posibles códigos de estado de la respuesta para este endpoint:
Ejemplo de Solicitud
Este es un ejemplo de una solicitud de API utilizando este endpoint:
GET https://api.dev.rappi.com/restaurants/menu/v1/stores/{store_id}/categories
Este es un ejemplo de la solicitud:
String storeId = "232"; String urlString = "hhttps://api.dev.rappi.com/restaurants/menu/v1/stores/" + storeId + "/categories"; 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"); 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()); }
Respuesta de Ejemplo "Éxito 200"
Este es un ejemplo de la respuesta "Éxito 200":
{ "id": 9, "sku": "abc", "store_id": 232, "title": "Bebidas", "last_updated": "2025-02-19T17:19:50.78726Z", "items": [], "menus": [], "schedules": [ { "days_of_week": "fri", "time_periods": [ { "start_time": "12:00", "end_time": "10:00" } ] }
POST Crear o Actualizar Categorías por ID de Tienda
Este endpoint permite crear o actualizar categorías en una tienda específica.
URL del Endpoint
Utiliza esta URL para hacer una solicitud con este endpoint:
https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{store_id}/categories
{NEW_DOMAIN}: Este es el dominio de tu país en Rappi. Consulta la lista de dominios por país.
Propiedades del Endpoint
Este recurso tiene las siguientes propiedades:
| Formatos de respuesta | JSON |
| Requisitos de autenticación | Token |
Parámetros
Este endpoint tiene los siguientes parámetros:
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
store_id | int | Sí | El identificador único de la tienda cuyo menú se está modificando. |
Notas Importantes
Descripción de los Campos de Solicitud
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
id | int | Sí | Identificador de la categoría en el menú de la tienda. |
sku | string | No | Identificador SKU (Stock Keeping Unit) de la categoría. |
store_id | int | Sí | Identificador de la tienda en la aplicación de Rappi. |
title | string | Sí | Nombre o título de la categoría. |
items | array | No | Lista de elementos dentro de esta categoría |
items[].id | int | Si | ID del elemento en la categoría |
items[].sku | string | No | SKU del elemento en la categoría |
items[].index | int | Si | Posición del elemento en la categoría |
items[].menu_type | string | Sí | Tipo de menú al que pertenece el elemento |
menus | array | No | Lista de menús asociados |
menus[].id | int | Si | Id del menu |
menus[].menu_type | string | Sí | Tipo de menú (ej. "DEFAULT") |
menus[].index | int | Si | Posición del menú |
menus[].is_category_active | boolean | Sí | Indica si la categoría está activa en este menú |
schedules | array | No | Lista de horarios que definen la disponibilidad de la categoría. |
schedules[].days_of_week | string | Sí | Días de la semana en que el horario está activo (por ejemplo, "fri"). |
schedules[].time_periods | array | Sí | Lista de periodos de tiempo dentro del horario. |
schedules[].time_periods[].start_time | string | Sí | Hora de inicio del horario en formato HH:MM. |
schedules[].time_periods[].end_time | string | Sí | Hora de finalización del horario en formato HH:MM. |
Códigos de Estado
Estos son los posibles códigos de estado de la respuesta para este endpoint:
Ejemplo de Solicitud
Este es un ejemplo de una solicitud de API utilizando este endpoint:
POST https://api.dev.rappi.com/restaurants/menu/v1/stores/900159641/categories
Este es un ejemplo de la solicitud:
import okhttp3.*; public class Main { public static void main(String[] args) throws Exception { OkHttpClient client = new OkHttpClient(); String json = "[{\"id\": 99, \"sku\": \"abc\", \"store_id\": 232, \"title\": \"Bebidas22\", \"last_updated\": \"2025-02-19T17:19:50.78726Z\", \"items\": [], \"menus\": [], \"schedules\": [{\"id\": 182, \"days_of_week\": \"fri\", \"time_periods\": [{\"id\": 378, \"start_time\": \"12:00\", \"end_time\": \"10:00\"}]}]}]"; 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/categories") .addHeader("Content-Type", "application/json") .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 Eliminar Categorías por ID de Tienda
Este endpoint permite eliminar múltiples categorías de una tienda proporcionando sus identificadores.
URL del Endpoint
Utiliza esta URL para hacer una solicitud con este endpoint:
https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{store_id}/categories
{NEW_DOMAIN}: Este es el dominio de tu país en Rappi. Consulta la lista de dominios por país.
Propiedades del Endpoint
Este recurso tiene las siguientes propiedades:
| Formatos de respuesta | JSON |
| Requisitos de autenticación | Token |
Parámetros
Este endpoint tiene los siguientes parámetros:
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
store_id | int | Sí | El identificador único de la tienda cuyo menú está siendo modificado. |
Códigos de Estado
Estos son los posibles códigos de estado de la respuesta para este endpoint:
Ejemplo de Solicitud
La solicitud debe enviarse en formato JSON con un array de IDs de categorías a eliminar. Este es un ejemplo de una solicitud de API utilizando este endpoint:
DELETE https://api.dev.rappi.com/restaurants/menu/v1/stores/900152558/categories
Este es un ejemplo de la solicitud:
import okhttp3.*; public class Main { public static void main(String[] args) throws Exception { OkHttpClient client = new OkHttpClient(); String json = "{\"ids\": [1, 2, 22]}"; 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/categories") .delete(body) .addHeader("Content-Type", "application/json") .addHeader("x-authorization", "Bearer YOUR_TOKEN") .build(); try (Response response = client.newCall(request).execute()) { System.out.println(response.body().string()); } } }
OBTENER Categoría por ID de Tienda
Este endpoint se utiliza para recuperar los detalles de una categoría específica de una tienda.
URL del Endpoint
Utiliza esta URL para hacer una solicitud con este endpoint:
https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{store_id}/categories/{category_id}
{NEW_DOMAIN}: Este es el dominio de tu país en Rappi. Consulta la lista de dominios por país.
Propiedades del Endpoint
Este recurso tiene las siguientes propiedades:
| Formatos de respuesta | JSON |
| Requisitos de autenticación | Token |
Parámetros:
Este endpoint tiene los siguientes parámetros
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
store_id | int | Sí | El identificador único de la tienda cuyo menú está siendo consultado. |
category_id | int | Sí | El identificador único de la categoría solicitada. |
Este parámetro se utiliza para especificar el menú de qué 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 Estado
Estos son los posibles códigos de estado de la respuesta para este endpoint:
Ejemplo de Solicitud
Este es un ejemplo de una solicitud de API utilizando este endpoint:
GET https://api.dev.rappi.com/restaurants/menu/v1/stores/{store_id}/categories/{category_id}
Este es un ejemplo de la solicitud:
String storeId = "232"; String categoryId = "10" String urlString = "https://api.dev.rappi.com/restaurants/menu/v1/stores/" + storeId + "/categories/" + categoryId}; 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"); 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()); }
Respuesta de Ejemplo "Éxito 200"
Este es un ejemplo de la respuesta "Éxito 200":
{ "id": 10, "sku": "abc", "store_id": 232, "title": "Platos Fuertes", "last_updated": "2025-01-10T15:40:31.464312Z", "items": [], "menus": [], "schedules": [ { "days_of_week": "mon,tue,wed,thu,fri,sat,sun,hol", "time_periods": [ { "start_time": "18:08", "end_time": "22:39" } ] } ] }
Esta tabla describe los objetos contenidos en el ejemplo de respuesta:
| Objeto | Tipo | Descripción |
|---|---|---|
id | int | Identificador único de la categoría |
sku | string | SKU (Stock Keeping Unit) de la categoría |
store_id | int | Identificador de la tienda en la aplicación de Rappi |
title | string | Nombre de la categoría |
last_updated | string | Marca de tiempo de la última actualización (formato ISO 8601) |
items | array | Lista de productos dentro de esta categoría (actualmente vacía) |
menus | array | Lista de menús asociados a esta categoría (actualmente vacía) |
schedules | array | Lista de horarios en los que esta categoría está disponible |
schedules[].days_of_week | string | Días de la semana en los que el horario está activo (ej. lun, mar, mié) |
schedules[].time_periods | array | Lista de períodos de tiempo que definen la disponibilidad de la categoría |
schedules[].time_periods[].start_time | string | Hora de inicio del período de tiempo (formato HH:mm) |
schedules[].time_periods[].end_time | string | Hora de finalización del período de tiempo (formato HH:mm) |