Webhooks

Usa estos recursos para controlar los Webhooks configurados en tus tiendas.

La siguiente tabla describe los diferentes contenidos de los recursos de Webhooks:

RecursoDescripción del Endpoint
GET webhook/{event}Regresa los Webhooks configurados de todas las tiendas del cliente autenticado
PUT webhook/{event}/add-storesAgrega tiendas al evento del webhook especificado
PUT webhook/{event}/change-urlCambia la url para una lista de tiendas
POST webhookCrea un nuevo Webhook para una lista de tiendas del cliente autenticado
DELETE webhook/{event}/remove-storesElimina stores del webhook especificado
PUT webhook/{event}/reset-secretReinicia el secret y genera uno nuevo al cliente autenticado
PUT webhook/{event}/change-statusHabilita 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}

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 respuestaJSON
Requerimientos de autenticaciónToken

Parámetros

ParámetroRequerimientoDescripción
EVENT
string
opcionalRegresa ú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 respuestaDescripció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

Propiedades del Endpoint

Este recurso tiene las siguientes propiedades:

Formato de respuestaJSON
Requerimientos del body de la llamadaJSON
Requerimientos de autenticaciónToken

Parámetros

ParámetroRequerimientoDescripción
event
string
requeridoEl 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:

AtributosRequerimientoDescripción
url
string
opcionalURL a la que se comunica el webhook.
stores
array of strings
opcionalLista 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 respuestaDescripció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

Propiedades del Endpoint

Este recurso tiene las siguientes propiedades:

Formato de respuestaJSON
Requerimientos del body de la llamadaJSON
Requerimientos de autenticaciónToken

Parámetros

ParámetroRequerimientoDescripción
event
string
requeridoEl 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:

AtributosRequerimientoDescripción
url
string
requeridoURL a la que se comunica el webhook.
stores
array of strings
requeridoLista 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 respuestaDescripció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 respuestaJSON
Requerimientos del body de la llamadaJSON
Requerimientos de autenticaciónToken

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:

AtributoRequerimientoDescripción
event
string
requeridoNombre del evento que dispara el webhook.
data
array of Object
requeridoContiene los atributos del webhook a configurar
url
string
requeridoURL a la que se comunica el webhook.
stores
array of strings
opcionalLista 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 respuestaDescripció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

Propiedades del Endpoint

Este recurso tiene las siguientes propiedades:

Formato de respuestaJSON
Requerimientos del body de la llamadaJSON
Requerimientos de autenticaciónToken

Parámetros

ParámetroRequerimientoDescripción
event
string
requeridoEl 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:

AtributosRequerimientoDescripción
stores
array of strings
opcionalLista 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 respuestaDescripció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

Propiedades del Endpoint

Este recurso tiene las siguientes propiedades:

Formato de respuestaJSON
Requerimientos del body de la llamadaJSON
Requerimientos de autenticaciónToken

Parámetros

ParámetroRequerimientoDescripción
event
string
requeridoEl 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 respuestaDescripció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

Propiedades del Endpoint

Este recurso tiene las siguientes propiedades:

Formato de respuestaJSON
Requerimientos del body de la llamadaJSON
Requerimientos de autenticaciónToken

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:

AtributosRequerimientoDescripción
stores
Object
requeridoObjeto que contiene las listas de tiendas a habilitar o deshabilitar
enable
array of strings
opcionalLista de tiendas a habilitar
disable
array of strings
opcionalLista 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 respuestaDescripció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.