Webhooks
Usa estos recursos para controlar los Webhooks configurados en tus tiendas.
La siguiente tabla describe los diferentes contenidos de los recursos de Webhooks:
Recurso | Descripción del Endpoint | |
---|---|---|
GET webhook/{event} | Regresa los Webhooks configurados de todas las tiendas del cliente autenticado | |
PUT webhook/{event}/add-stores | Agrega tiendas al evento del webhook especificado | |
PUT webhook/{event}/change-url | Cambia la url para una lista de tiendas | |
POST webhook | Crea un nuevo Webhook para una lista de tiendas del cliente autenticado | |
DELETE webhook/{event}/remove-stores | Elimina stores del webhook especificado | |
PUT webhook/{event}/reset-secret | Reinicia el secret y genera uno nuevo al cliente autenticado | |
PUT webhook/{event}/change-status | Habilita o deshabilita Webhooks para una lista de tiendas |
GET webhook
Usa este endpoint para obtener los Webhooks configurados para tus tiendas.
URL del Endpoint
Utiliza esta URL para hacer una llamada con este endpoint:
https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/webhook/{EVENT}
{COUNTRY_DOMAIN}
: Este es tu dominio por país de Rappi. Mira la lista de dominios por país{EVENT}
: Este es el nombre del evento y es opcional Mira la lista de eventos validos
Ejemplo de Llamada
Este es un ejemplo de una llamada API usando este endpoint:
GET https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/webhook
Este es un ejemplo de la llamada:
URL url = new URL("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/webhook"); 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"); 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()); } System.out.println("Response Code : " + connection.getResponseCode());
Propiedades del Endpoint
Este recurso tiene las siguientes propiedades:
Formato de respuesta | JSON | |
Requerimientos de autenticación | Token |
Parámetros
Parámetro | Requerimiento | Descripción |
---|---|---|
EVENT string | opcional | Regresa únicamente el detalle del evento especificado |
Códigos de Respuesta
Estos son los posibles códigos de respuesta en este endpoint:
Ejemplo de Respuesta
Este es un ejemplo de la respuesta:
[ { "event": "event_1", "stores": [ { "store_id": "1000", "url": "http://testUrl/one", "state": "ENABLE" }, { "store_id": "10001", "url": "http://testUrl/one", "state": "ENABLE" } ] }, { "event": "event_2", "stores": [ { "store_id": "1000", "url": "http://testUrl/one", "state": "ENABLE" } ] } ]
Esta tabla describe los objetos dentro de la respuesta de ejemplo:
Objeto en la respuesta | Descripción del objeto |
---|---|
event string | Nombre del evento que dispara el webhook. |
stores string | Lista de las tiendas donde se dispara el evento. |
store_id string | Id de la tienda que dispara el evento |
url string | URL a la que se comunica el webhook. |
state string | Estado del webhook. Opciones disponibles: ENABLE o DISABLE |
PUT webhook - Agregar Stores
Usa este endpoint para agregar tiendas a un webhook configurado por el cliente autenticado.
URL del Endpoint
Utiliza esta URL para hacer una llamada con este endpoint:
https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/webhook/{EVENT}/add-stores
{COUNTRY_DOMAIN}
: Este es tu dominio por país de Rappi. Mira la lista de dominios por país{EVENT}
: Este es el nombre del evento Mira la lista de eventos validos
Propiedades del Endpoint
Este recurso tiene las siguientes propiedades:
Formato de respuesta | JSON | |
Requerimientos del body de la llamada | JSON | |
Requerimientos de autenticación | Token |
Parámetros
Parámetro | Requerimiento | Descripción |
---|---|---|
event string | requerido | El nombre del evento del webhook a actualizar |
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:
PUT https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/webhook/NEW_ORDER/add-stores
Este es un ejemplo de la llamada:
[ { "url": "http://testDomain/webhook/data", "stores": ["1000", "1001"] } ]
URL url = new URL("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/webhook/NEW_ORDER/add-stores"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("PUT"); 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.setDoOutput(true); String jsonInputString = "[{\n" + " \"url\":\"http://testDomain/webhook/data\",\n" + " \"stores\":[\n" + " \"1000\",\n" + " \"1001\"\n" + " ]\n" + "}]"; try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8); os.write(input, 0, input.length); } 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()); } System.out.println("Response Code : " + connection.getResponseCode());
Esta tabla describe los atributos que el JSON
de tu llamada requiere:
Atributos | Requerimiento | Descripción |
---|---|---|
url string | opcional | URL a la que se comunica el webhook. |
stores array of strings | opcional | Lista de las tiendas donde se dispara el evento. |
Respuesta de ejemplo
Este es un ejemplo de la respuesta:
{ "event": "NEW_ORDER", "stores": [ { "store_id": "1000", "url": "http://testDomain/webhook/data", "state": "ENABLE" } ] }
Esta tabla describe los objetos dentro de la respuesta de ejemplo:
Objeto en la respuesta | Descripción del objeto |
---|---|
event string | Nombre del evento que dispara el webhook. |
stores string | Lista de las tiendas donde se dispara el evento. |
store_id string | Id de la tienda que dispara el evento |
url string | URL a la que se comunica el webhook. |
state string | Estado del webhook. Opciones disponibles: ENABLE o DISABLE |
PUT webhook - Cambiar Url
Usa este endpoint para agregar tiendas a un webhook configurado por el cliente autenticado.
URL del Endpoint
Utiliza esta URL para hacer una llamada con este endpoint:
https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/webhook/{event}/change-url
{COUNTRY_DOMAIN}
: Este es tu dominio por país de Rappi. Mira la lista de dominios por país{EVENT}
: Este es el nombre del evento Mira la lista de eventos validos
Propiedades del Endpoint
Este recurso tiene las siguientes propiedades:
Formato de respuesta | JSON | |
Requerimientos del body de la llamada | JSON | |
Requerimientos de autenticación | Token |
Parámetros
Parámetro | Requerimiento | Descripción |
---|---|---|
event string | requerido | El nombre del evento del webhook a actualizar |
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:
PUT https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/webhook/NEW_ORDER/change-url
Este es un ejemplo de la llamada:
{ "url": "http://testDomain/webhook/data", "stores": ["1000", "1001"] }
URL url = new URL("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/webhook/NEW_ORDER/change-url"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("PUT"); 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.setDoOutput(true); String jsonInputString = "{\n" + " \"url\":\"http://testDomain/webhook/data\",\n" + " \"stores\":[\n" + " \"1000\",\n" + " \"1001\"\n" + " ]\n" + "}"; try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8); os.write(input, 0, input.length); } 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()); } System.out.println("Response Code : " + connection.getResponseCode());
Esta tabla describe los atributos que el JSON
de tu llamada requiere:
Atributos | Requerimiento | Descripción |
---|---|---|
url string | requerido | URL a la que se comunica el webhook. |
stores array of strings | requerido | Lista de las tiendas donde se dispara el evento. |
Respuesta de ejemplo
Este es un ejemplo de la respuesta:
{ "event": "NEW_ORDER", "stores": [ { "store_id": "1000", "url": "http://testDomain/webhook/data", "state": "ENABLE" } ] }
Esta tabla describe los objetos dentro de la respuesta de ejemplo:
Objeto en la respuesta | Descripción del objeto |
---|---|
event string | Nombre del evento que dispara el webhook. |
stores array of Stores | Lista de las tiendas donde se dispara el evento. |
store_id string | Id de la tienda que dispara el evento |
url string | URL a la que se comunica el webhook. |
state string | Estado del webhook. Opciones disponibles: ENABLE o DISABLE |
POST webhook
Usa este endpoint para crear un webhook para tus tiendas.
URL del Endpoint
Utiliza esta URL para hacer una llamada con este endpoint:
https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/webhook
{COUNTRY_DOMAIN}
: Este es tu dominio por país de Rappi. Mira la lista de dominios por país.
Propiedades del Endpoint
Este recurso tiene las siguientes propiedades:
Formato de respuesta | JSON | |
Requerimientos del body de la llamada | JSON | |
Requerimientos de autenticación | Token |
Parámetros
Este endpoint no permite parámetros adicionales.
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://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/webhook
Este es un ejemplo de la llamada:
{ "event": "test_event", "data": [ { "url": "http://testDomain/webhook/data", "stores": ["1000", "1001"] } ] }
URL url = new URL("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/webhook"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); 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.setDoOutput(true); String jsonInputString = "{\n" + " \"event\":\"test_event\",\n" + " \"data\": [ {" + " \"url\":\"http://testDomain/webhook/data\",\n" + " \"stores\":[\n" + " \"1000\",\n" + " \"1001\"\n" + " ]\n" + " } ]" + "}"; try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8); os.write(input, 0, input.length); } 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()); } System.out.println("Response Code : " + connection.getResponseCode());
Esta tabla describe los atributos que el JSON
de tu llamada requiere:
Atributo | Requerimiento | Descripción |
---|---|---|
event string | requerido | Nombre del evento que dispara el webhook. |
data array of Object | requerido | Contiene los atributos del webhook a configurar |
url string | requerido | URL a la que se comunica el webhook. |
stores array of strings | opcional | Lista de las tiendas donde se dispara el evento. Si no envías este atributo, se aplica a todas las tiendas el cliente autenticado. |
Ejemplo de Respuesta
Este es un ejemplo de la respuesta:
{ "event": "test_1", "stores": [ { "url": "https://localhost:8080/test", "store_id": "1000", "state": "ENABLE" }, { "url": "https://localhost:8080/test", "store_id": "1001", "state": "ENABLE" } ], "secret": "TEST_SECRET" }
Esta tabla describe los objetos dentro de la respuesta de ejemplo:
Objeto en la respuesta | Descripción del objeto |
---|---|
event string | Nombre del evento que dispara el webhook. |
stores array of strings | Lista de las tiendas donde se dispara el evento. |
url string | URL a la que se comunica el webhook. |
store_id string | Id de la tienda que dispara el evento |
state string | Estado del webhook. Opciones disponibles: ENABLE o DISABLE |
secret string | Secret Key para crear la firma de seguridad de cada evento webhook. |
DELETE webhook
Usa este endpoint para eliminar tiendas de un webhook.
URL del Endpoint
Usa esta URL para hacer llamadas con este endpoint:
https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/webhook/{EVENT}/remove-stores
{COUNTRY_DOMAIN}
: Este es tu dominio por país de Rappi. Mira la lista de dominios por país{EVENT}
: Este es el nombre del evento Mira la lista de eventos validos
Propiedades del Endpoint
Este recurso tiene las siguientes propiedades:
Formato de respuesta | JSON | |
Requerimientos del body de la llamada | JSON | |
Requerimientos de autenticación | Token |
Parámetros
Parámetro | Requerimiento | Descripción |
---|---|---|
event string | requerido | El nombre del evento del webhook a actualizar |
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:
DELETE https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/webhook/NEW_ORDER/remove-stores
Este es un ejemplo de la llamada:
{ "stores": ["1000"] }
URL url = new URL("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/webhook/NEW_ORDER/remove-stores"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("DELETE"); 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.setDoOutput(true); String jsonInputString = "{\n" + " \"stores\":[\n" + " \"1000\"\n" + " ]\n" + "}"; try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8); os.write(input, 0, input.length); } 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()); } System.out.println("Response Code : " + connection.getResponseCode());
Esta tabla describe los atributos que el JSON
de tu llamada requiere:
Atributos | Requerimiento | Descripción |
---|---|---|
stores array of strings | opcional | Lista de las tiendas donde se eliminará el webhook |
Ejemplo de Respuesta
Este es un ejemplo de la respuesta:
{ "stores": ["1000"], "message": "Store settings removed successfully." }
Esta tabla describe los objetos dentro de la respuesta de ejemplo:
Objeto en la respuesta | Descripción del objeto |
---|---|
stores array of strings | Lista de las tiendas donde se dispara el evento. |
message string | Mensaje del resultado de la llamada. |
PUT webhook reset secret
Usa este endpoint para reiniciar el secret y crear uno nuevo para el aliado autenticado.
URL del Endpoint
Utiliza esta URL para hacer una llamada con este endpoint:
https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/webhook/{EVENT}/reset-secret
{COUNTRY_DOMAIN}
: Este es tu dominio por país de Rappi. Mira la lista de dominios por país{EVENT}
: Este es el nombre del evento Mira la lista de eventos validos
Propiedades del Endpoint
Este recurso tiene las siguientes propiedades:
Formato de respuesta | JSON | |
Requerimientos del body de la llamada | JSON | |
Requerimientos de autenticación | Token |
Parámetros
Parámetro | Requerimiento | Descripción |
---|---|---|
event string | requerido | El nombre del evento del webhook a actualizar |
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:
PUT https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/webhook/NEW_ORDER/reset-secret
Este es un ejemplo de la llamada:
URL url = new URL("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/webhook/NEW_ORDER/reset-secret"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("PUT"); 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.setDoOutput(true); 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()); } System.out.println("Response Code : " + connection.getResponseCode());
Ejemplo de Respuesta
Este es un ejemplo de la respuesta:
{ "event": "NEW_ORDER", "stores": [ { "store_id": "1000", "url": "http://localhost", "state": "ENABLE" } ], "secret": "NEW_SECRET" }
Esta tabla describe los objectos dentro de la respuesta de ejemplo:
Objeto en la respuesta | Descripción del objeto |
---|---|
event string | Nombre del evento que dispara el webhook. |
stores array of strings | Lista de las tiendas donde se dispara el evento. |
store_id string | Id de la tienda |
url string | URL a la que se comunica el webhook. |
state string | Estado del webhook. Opciones disponibles: ENABLE o DISABLE |
secret string | Secret Key para crear la firma de seguridad de cada evento webhook. |
PUT webhook change status
Usa este endpoint para cambiar la disponibilidad de un webhook existente.
URL del Endpoint
Utiliza esta URL para hacer una llamada con este endpoint:
https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/webhook/{EVENT}/change-status
{COUNTRY_DOMAIN}
: Este es tu dominio por país de Rappi. Mira la lista de dominios por país{EVENT}
: Este es el nombre del evento Mira la lista de eventos validos
Propiedades del Endpoint
Este recurso tiene las siguientes propiedades:
Formato de respuesta | JSON | |
Requerimientos del body de la llamada | JSON | |
Requerimientos de autenticación | Token |
Parámetros
Este endpoint no permite parámetros adicionales.
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:
PUT https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/webhook/NEW_ORDER/change-status
Este es un ejemplo de la llamada:
{ "stores": { "enable": ["1001"], "disable": ["1000"] } }
URL url = new URL("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/webhook/NEW_ORDER/change-status"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("PUT"); 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.setDoOutput(true); String jsonInputString = "{\"stores\": {\"enable\": [\"1001\"],\"disable\": [\"1000\" ] } }"; try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8); os.write(input, 0, input.length); } 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()); } System.out.println("Response Code : " + connection.getResponseCode());
Esta tabla describe los atributos que el JSON
de tu llamada requiere:
Atributos | Requerimiento | Descripción |
---|---|---|
stores Object | requerido | Objeto que contiene las listas de tiendas a habilitar o deshabilitar |
enable array of strings | opcional | Lista de tiendas a habilitar |
disable array of strings | opcional | Lista de tiendas a deshabilitar |
Ejemplo de Respuesta
Este es un ejemplo de la respuesta:
{ "event": "NEW_ORDER", "stores": [ { "store_id": "1001", "url": "http://localhost", "state": "ENABLE" }, { "store_id": "1000", "url": "http://localhost", "state": "ENABLE" } ] }
Esta tabla describe los objetos dentro de la respuesta de ejemplo:
Objeto en la respuesta | Descripción del objeto |
---|---|
event string | Nombre del evento que dispara el webhook. |
stores array of Stores | Lista de las tiendas donde se dispara el evento. |
store_id string | Id de la tienda que dispara el webhook |
url string | URL a la que se comunica el webhook. |
state string | Nueva disponibilidad definida en la llamada. |