Órdenes

Los recursos de órdenes te permiten interactuar con las opciones de órdenes de tus artículos y tiendas.

Important

Dada la expansión y mejoras, se han introducido nuevos endpoints o recursos que amplían las capacidades de órdenes para interactuar con distintas opciones de artículos y tiendas; debido a estos avances, ahora esta sección se divide en dos partes distintas, cada una con su propia lista de dominios por país. Es esencial destacar que la sección de órdenes actual sigue plenamente operativa y contiene los recursos tradicionales que han manejado las opciones de órdenes establecidas previamente.

Los recursos de órdenes te permiten interactuar con las órdenes de tus tiendas.

La siguiente tabla describe los diferentes contenidos del recurso órdenes:

RecursoDescripción
GET ordersRegresa una lista de nuevas órdenes creadas.
GET orders/status/sentRegresa una lista de nuevas órdenes creadas en estado SENT
PUT orders/{orderId}/take/{cookingTime}Toma una orden para comenzar su preparación.
PUT orders/{orderId}/rejectRechaza una orden.
POST orders/{orderId}/ready-for-pickupConfirma que la orden está lista para ser recogida.
GET orders/{orderId}/eventsRegresa los últimos eventos de una orden.

GET orders

Usa este endpoint para obtener una lista con las nuevas órdenes para las tiendas del aliado autenticado.

URL del Endpoint

Usa esta URL para hacer una llamada con este endpoint:

https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/orders

{COUNTRY_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 acepta los siguientes parámetros opcionales:

ParámetroDescripción
{storeId}Regresa únicamente las órdenes de una tienda

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://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/orders

Este es un ejemplo de la llamada:

URL url = new URL("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/orders"); 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());



Ejemplo de Respuesta

Este es un ejemplo de la respuesta:

[ { "order_detail": { "order_id": "392625", "delivery_operation_type": "regular", "cooking_time": 10, "min_cooking_time": 5, "max_cooking_time": 20, "created_at": "2019-04-10T11:12:57.000Z", "delivery_method": "delivery", "payment_method": "cc", "delivery_information": { "city": "Ciudad de México", "complete_address": "Nombre de la calle 5050. Barrio. 12345. Ciudad De México", "street_number": "5050", "neighborhood": "Barrio", "complement": "Portón verde", "postal_code": "12345", "street_name": "Nombre de la calle" }, "billing_information": { "address": "148 Davis Court", "billing_type": "Bill", "document_number": "32432342", "document_type": "DNI", "email": "client@gmail.com", "name": "John Doe", "phone": "43333222" }, "totals": { "total_products": 204000, "total_discounts": 173685, "total_order": 204180, "total_to_pay": 0, "discount_by_support": 0, "charges": { "shipping": 50, "service_fee": 100 }, "other_totals": { "tip": 30, "total_rappi_pay": 0, "total_rappi_credits": 0 } }, "items": [ { "sku": "1234", "id": "2089918083", "name": "Chicken and Apple Salad", "type": "PRODUCT", "comments": "No vinegar", "price": 28900, "quantity": 3, "subitems": [ { "sku": "11", "id": "10005260", "name": "Burrata Cheese", "type": "TOPPING", "price": 13500, "quantity": 1 } ] }, { "id": "2089918082", "name": "Seafood Salad", "comments": "", "price": 34900, "quantity": 2, "subitems": [ { "id": "9928277", "name": "With white vinaigrette", "price": 0, "quantity": 1 }, { "id": "10005257", "name": "Ricotta Cheese", "price": 3500, "quantity": 1 } ] } ], "delivery_discount": { "total_percentage_discount": 100, "total_value_discount": 50 }, "discounts": [ { "value": 7600, "description": "Envío gratis", "title": "Envío gratis", "product_id": null, "sku": null, "type": "shipping", "raw_value": 100, "value_type": "percentage", "max_value": null, "includes_toppings": false, "percentage_by_rappi": 100, "percentage_by_partners": 0, "amount_by_rappi": 7600, "amount_by_partner": 0, "discount_product_units": 0, "discount_product_unit_value": null }, { "value": 100, "description": "Disfruta de 20% de descuento en productos seleccionados.", "title": "Disfruta de 20% de descuento en productos seleccionados.", "product_id": 2089918082, "sku": 2089918082, "type": "offer_by_product", "raw_value": 20, "value_type": "percentage", "max_value": null, "includes_toppings": false, "percentage_by_rappi": 0, "percentage_by_partners": 100, "amount_by_rappi": 0, "amount_by_partner": 100, "discount_product_units": 1, "discount_product_unit_value": 100 } ] }, "customer": { "first_name": "John", "last_name": "Doe", "phone_number": "3163535", "document_number": "34545678", "user_type": "USER_VIP" }, "store": { "internal_id": "30000011", "external_id": "123445", "name": "Store 1" } } ]

Esta tabla describe los objetos dentro de la respuesta de ejemplo:

Objeto en la respuestaDescripción del objeto
order_detail
array of objects
Propiedades de los detalles de la orden.
order_detail.order_id
string
Identificador de la orden.
order_detail.develivey_operation_type
string
Identificador para el tipo de orden: tipo turbo o tipo regular.
order_detail.coooking_time
integer
Tiempo de preparación estimado para la orden.
order_detail.min_cooking_time
integer
Tiempo mínimo de preparación en minutos para esta orden.
order_detail.max_cooking_time
integer
Tiempo máximo de preparación en minutos para esta orden.
order_detail.created_at
string
Fecha en la que se creó la orden.
order_detail.delivery_method
string, enumerable
Método de entrega de la orden. Opciones disponibles: delivery,marketplace, pickup.
order_detail.payment_method
string, enumerable
Metodo de pago de la orden. Opciones disponibles: rappi_pay, cc, cash, paypal, edenred, webpay, masterpass, dc, pos_terminal, elo, sodexo, vale_r, ticket_r, alelo, visa_checkout,google_pay, apple_pay, rappicorp, PSE, PIX, unknown. (Es importante tener en cuenta que Rappi constantemente acepta nuevos métodos de pago, por lo tanto esta lista puede variar en el tiempo y no es necesario validarla.)
order_detail.delivery_information
object
Propiedades de la dirección de entrega.
order_detail.delivery_information.city
string
Ciudad de la dirección de entrega
order_detail.delivery_information.complete_address
string
Dirección de entrega con todos los campos
order_detail.delivery_information.street_number
string
Numero de la calle
order_detail.delivery_information.neighborhood
string
Barrio de la dirección de entrega
order_detail.delivery_information.complement
string
Información adicional de la dirección de entrega
order_detail.delivery_information.postal_code
string
Código postal establecido para la dirección
order_detail.delivery_information.street_name
string
Nombre de la calle establecido para la dirección de entrega
order_detail.billing_information
array of objects
Propiedades de facturación del pago .
order_detail.billing_information.address
string
Dirección de entrega de la orden.
order_detail.billing_information.billing_type
string
Tipo de cobro de la orden.
order_detail.billing_information.document_number
string
Número de documento del cliente.
order_detail.billing_information.document_type
string
Tipo de documento del cliente.
order_detail.billing_information.email
string
Email establecido para recibir información de facturación.
order_detail.billing_information.name
string
Nombre establecido para la facturación.
order_detail.billing_information.phone
string
Teléfono establecido para la facturación.
order_detail.totals
array of objects
Propiedades del total de la orden.
order_detail.totals.total_products
integer
Total de los productos sin descuentos.
order_detail.totals.total_discounts
integer
Total de productos sin descuento en la orden.
order_detail.totals.total_order
integer
Cantidad total que el restaurante recibe.
Cuando el metodo de entrega es marketplace este campo incluye propina y cargos de entrega.
Para otros métodos de entrega, este campo contiene solo el valor total de todos los productos.
En todos los casos, este campo incluye los descuentos asumidos por el restaurante.
order_detail.totals.total_to_pay
integer
El total que el usuario paga al repartidor en efectivo. Aplica únicamente cuando el metodo de entrega es marketplace o pickup, y el método de pago es: cash.
order_detail.totals.discount_by_support
integer
Descuento aplicado al usuario por el equipo de soporte de Rappi.
order_detail.totals.charges
array of objects
Propiedades de cargos adicionales de la orden .
order_detail.totals.charges.shipping
integer
Total de cargos de envío .
order_detail.totals.charges.service_fee
integer
Cargos del servicio de Rappi
order_detail.totals.other_totals
array of objects
Otros cargos incluidos en esta orden.
order_detail.totals.other_totals.tip
integer
Propina para el repartidor.
order_detail.totals.other_totals.total_rappi_pay
integer
Total pagado usando Rappi Pay.
order_detail.totals.othet_totals.total_rappi_credits
integer
Total pagado usando Rappi Creditos .
order_detail.items
array of objects
Propiedades de los artículos que contiene la orden.
order_detail.items.sku
string
SKU del artículo en el menú. El aliado asigna su propio SKU al artículo.
order_detail.items.id
string
Identificador del artículo en la orden.
order_detail.items.name
string
Nombre del artículo en la orden.
order_detail.items.type
string, enumerable
Tipo de artículo. Opciones disponibles:
product, o topping.
order_detail.items.comments
array
Comentarios del usuario para un artículo en la orden.
order_detail.items.price
integer
Precio unitario del artículo sin descuento.
order_detail.items.quantity
integer
Cantidad especificada del artículo en la orden.
order_detail.items.subitems
array of objects
Propiedades de los subartículos en la orden.
order_detail.items.subitems.sku
string
SKU del subartículo en el menú. El aliado asigna su propio SKU al artículo.
order_detail.items.subitems.id
string
Identificador que Rappi asigna al artículo.
order_detail.items.subitems.name
string
Nombre del subartículo en la orden.
order_detail.items.subitems.type
string, enumerable
Tipo del subartículo en la orden. Opciones disponibles: product, o topping.
order_detail.items.subitems.price
integer
Precio unitario del subartículo sin descuento
order_detail.items.subitems.quantity
integer
Cantidad especificada del subartículo en la orden.
order_detail.delivery_discount
integer
Propiedades de los descuentos en la entrega de la orden.
order_detail.delivery_discount.total_percentage_discount
integer
Porcentaje de descuento en la entrega de la orden.
order_detail.delivery_discount.total_value_discount
integer
Monto total del descuento en la entrega.
order_detail.customer
array of objects
Propiedades del usuario de Rappi que crea la orden. Solo se envían cuando el método de entrega es marketplace o si se solicita a Rappi que envíe esta información
order_detail.customer.first_name
string
Nombre del usuario de Rappi que crea la orden.
order_detail.customer.last_name
string
Apellido del usuario de Rappi que crea la orden.
order_detail.customer.phone_number
string
Número de teléfono del usuario de Rappi que crea la orden.
order_detail.customer.document_number
string
Número de documento del usuario de Rappi que crea la orden.
order_detail.customer.user_type
string
Si el usuario es VIP se envía el valor USER_VIP. Para el resto de los usuarios este campo no se envía.
order_detail.store
array of objects
Propiedades de la tienda que prepara la orden.
order_detail.store.internal_id
string
Identificador interno que Rappi asigna a la tienda.
order_detail.store.external_id
string
Identificador de la integración que Rappi asigna a la tienda.
order_detail.store.name
string
Nombre de la tienda que prepara la orden.
order_detail.discounts.value
integer
Valor del descuento reflejado en divisa.
order_detail.discounts.description
string
Mensaje descriptivo explicando el descuento.
order_detail.discounts.title
string
Nombre del descuento.
order_detail.discounts.product_id
integer
ID del producto si el descuento aplica producto.
order_detail.discounts.sku
string
SKU del producto si el descuento aplica producto.
order_detail.discounts.type
string
Indica el tipo del descuento.
order_detail.discounts.raw_value
integer
El valor del descuento, puede representar un porcentaje o un valor en divisa dependiendo del type_value.
order_detail.discounts.value_type
string, enumerable
El tipo de valor del descuento. Opciones disponibles: value, percentage.
order_detail.discounts.max_value
integer
Máximo valor en divisa a descontar.
order_detail.discounts.includes_toppings
boolean
Indica si el descuento se resta del total de producto con toppings o no.
order_detail.discounts.percentage_by_rappi
integer
El porcentaje del descuento asumido por Rappi.
order_detail.discounts.percentage_by_partners
integer
El porcentaje del descuento asumido por el aliado.
order_detail.discounts.amount_by_rappi
integer
Valor del descuento reflejado en divisa asumido por Rappi.
order_detail.discounts.amount_by_partner
integer
Valor del descuento reflejado en divisa asumido por el aliado.
order_detail.discounts.discount_product_units
integer
Cantidad de productos a las que aplicó el descuento.
order_detail.discounts.discount_product_unit_value
integer
Valor del descuento por unidad de producto.

GET orders status sent

Usa este endpoint para obtener una lista con las nuevas órdenes en estado SENT para las tiendas del aliado autenticado.

URL del Endpoint

Usa esta URL para hacer una llamada con este endpoint:

https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/orders/status/sent

{COUNTRY_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 acepta los siguientes parametros opcionales:

ParámetroDescripción
{storeId}Regresa únicamente las órdenes en estado SENT de una tienda

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://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/orders/status/sent

Este es un ejemplo de la llamada:

URL url = new URL("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/orders/status/sent"); 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());



Ejemplo de Respuesta

Este es un ejemplo de la respuesta:

[ { "order_detail": { "order_id": "392625", "delivery_operation_type": "turbo", "cooking_time": 10, "min_cooking_time": 5, "max_cooking_time": 20, "created_at": "2019-04-10T11:12:57.000Z", "delivery_method": "delivery", "payment_method": "cc", "delivery_information": { "city": "Ciudad de México", "complete_address": "Nombre de la calle 5050. Barrio. 12345. Ciudad De México", "street_number": "5050", "neighborhood": "Barrio", "complement": "Portón verde", "postal_code": "12345", "street_name": "Nombre de la calle" }, "billing_information": { "address": "148 Davis Court", "billing_type": "Bill", "document_number": "32432342", "document_type": "DNI", "email": "client@gmail.com", "name": "John Doe", "phone": "43333222" }, "totals": { "total_products": 204000, "total_discounts": 173685, "total_order": 204180, "total_to_pay": 0, "discount_by_support": 0, "charges": { "shipping": 50, "service_fee": 100 }, "other_totals": { "tip": 30, "total_rappi_pay": 0, "total_rappi_credits": 0 } }, "items": [ { "sku": "1234", "id": "2089918083", "name": "Chicken and Apple Salad", "type": "PRODUCT", "comments": "No vinegar", "price": 28900, "quantity": 3, "subitems": [ { "sku": "11", "id": "10005260", "name": "Burrata Cheese", "type": "TOPPING", "price": 13500, "quantity": 1 } ] }, { "id": "2089918082", "name": "Seafood Salad", "comments": "", "price": 34900, "quantity": 2, "subitems": [ { "id": "9928277", "name": "With white vinaigrette", "price": 0, "quantity": 1 }, { "id": "10005257", "name": "Ricotta Cheese", "price": 3500, "quantity": 1 } ] } ], "delivery_discount": { "total_percentage_discount": 100, "total_value_discount": 50 }, "discounts": [ { "value": 7600, "description": "Envío gratis", "title": "Envío gratis", "product_id": null, "sku": null, "type": "shipping", "raw_value": 100, "value_type": "percentage", "max_value": null, "includes_toppings": false, "percentage_by_rappi": 100, "percentage_by_partners": 0, "amount_by_rappi": 7600, "amount_by_partner": 0, "discount_product_units": 0, "discount_product_unit_value": null }, { "value": 100, "description": "Disfruta de 20% de descuento en productos seleccionados.", "title": "Disfruta de 20% de descuento en productos seleccionados.", "product_id": 2089918082, "sku": 2089918082, "type": "offer_by_product", "raw_value": 20, "value_type": "percentage", "max_value": null, "includes_toppings": false, "percentage_by_rappi": 0, "percentage_by_partners": 100, "amount_by_rappi": 0, "amount_by_partner": 100, "discount_product_units": 1, "discount_product_unit_value": 100 } ] }, "customer": { "first_name": "John", "last_name": "Doe", "phone_number": "3163535", "document_number": "34545678", "user_type": "USER_VIP" }, "store": { "internal_id": "30000011", "external_id": "123445", "name": "Store 1" } } ]

Esta tabla describe los objetos dentro de la respuesta de ejemplo:

Objeto en la respuestaDescripción del objeto
order_detail
array of objects
Propiedades de los detalles de la orden.
order_detail.order_id
string
Identificador de la orden.
order_detail.develivey_operation_type
string
Identificador para el tipo de orden: tipo turbo o tipo regular.
order_detail.coooking_time
integer
Tiempo de preparación estimado para la orden.
order_detail.min_cooking_time
integer
Tiempo mínimo de preparación en minutos para esta orden.
order_detail.max_cooking_time
integer
Tiempo máximo de preparación en minutos para esta orden.
order_detail.created_at
string
Fecha en la que se creó la orden.
order_detail.delivery_method
string, enumerable
Método de entrega de la orden. Opciones disponibles: delivery,marketplace, pickup.
order_detail.payment_method
string, enumerable
Metodo de pago de la orden. Opciones disponibles: rappi_pay, cc, cash, paypal, edenred, webpay, masterpass, dc, pos_terminal, elo, sodexo, vale_r, ticket_r, alelo, visa_checkout,google_pay, apple_pay, rappicorp, PSE, PIX, unknown.
order_detail.delivery_information
object
Propiedades de la dirección de entrega.
order_detail.delivery_information.city
string
Ciudad de la dirección de entrega
order_detail.delivery_information.complete_address
string
Dirección de entrega con todos los campos
order_detail.delivery_information.street_number
string
Numero de la calle
order_detail.delivery_information.neighborhood
string
Barrio de la dirección de entrega
order_detail.delivery_information.complement
string
Información adicional de la dirección de entrega
order_detail.delivery_information.postal_code
string
Código postal establecido para la dirección
order_detail.delivery_information.street_name
string
Nombre de la calle establecido para la dirección de entrega
order_detail.billing_information
array of objects
Propiedades de facturación del pago .
order_detail.billing_information.address
string
Dirección de entrega de la orden.
order_detail.billing_information.billing_type
string
Tipo de cobro de la orden.
order_detail.billing_information.document_number
string
Número de documento del cliente.
order_detail.billing_information.document_type
string
Tipo de documento del cliente.
order_detail.billing_information.email
string
Email establecido para recibir información de facturación.
order_detail.billing_information.name
string
Nombre establecido para la facturación.
order_detail.billing_information.phone
string
Teléfono establecido para la facturación.
order_detail.totals
array of objects
Propiedades del total de la orden.
order_detail.totals.total_products
integer
Total de los productos sin descuentos.
order_detail.totals.total_discounts
integer
Total de productos sin descuento en la orden.
order_detail.totals.total_order
integer
Cantidad total que el restaurante recibe.
Cuando el metodo de entrega es marketplace este campo incluye propina y cargos de entrega.
Para otros métodos de entrega, este campo contiene solo el valor total de todos los productos.
En todos los casos, este campo incluye los descuentos asumidos por el restaurante.
order_detail.totals.total_to_pay
integer
El total que el usuario paga al repartidor en efectivo. Aplica únicamente cuando el metodo de entrega es marketplace o pickup, y el método de pago es: cash.
order_detail.totals.discount_by_support
integer
Descuento aplicado al usuario por el equipo de soporte de Rappi.
order_detail.totals.charges
array of objects
Propiedades de cargos adicionales de la orden .
order_detail.totals.charges.shipping
integer
Total de cargos de envío .
order_detail.totals.charges.service_fee
integer
Cargos del servicio de Rappi
order_detail.totals.other_totals
array of objects
Otros cargos incluidos en esta orden.
order_detail.totals.other_totals.tip
integer
Propina para el repartidor.
order_detail.totals.other_totals.total_rappi_pay
integer
Total pagado usando Rappi Pay.
order_detail.totals.othet_totals.total_rappi_credits
integer
Total pagado usando Rappi Creditos .
order_detail.items
array of objects
Propiedades de los artículos que contiene la orden.
order_detail.items.sku
string
SKU del artículo en el menú. El aliado asigna su propio SKU al artículo.
order_detail.items.id
string
Identificador del artículo en la orden.
order_detail.items.name
string
Nombre del artículo en la orden.
order_detail.items.type
string, enumerable
Tipo de artículo. Opciones disponibles:
product, o topping.
order_detail.items.comments
array
Comentarios del usuario para un artículo en la orden.
order_detail.items.price
integer
Precio unitario del artículo sin descuento.
order_detail.items.quantity
integer
Cantidad especificada del artículo en la orden.
order_detail.items.subitems
array of objects
Propiedades de los subartículos en la orden.
order_detail.items.subitems.sku
string
SKU del subartículo en el menú. El aliado asigna su propio SKU al artículo.
order_detail.items.subitems.id
string
Identificador que Rappi asigna al artículo.
order_detail.items.subitems.name
string
Nombre del subartículo en la orden.
order_detail.items.subitems.type
string, enumerable
Tipo del subartículo en la orden. Opciones disponibles: product, o topping.
order_detail.items.subitems.price
integer
Precio unitario del subartículo sin descuento
order_detail.items.subitems.quantity
integer
Cantidad especificada del subartículo en la orden.
order_detail.delivery_discount
integer
Propiedades de los descuentos en la entrega de la orden.
order_detail.delivery_discount.total_percentage_discount
integer
Porcentaje de descuento en la entrega de la orden.
order_detail.delivery_discount.total_value_discount
integer
Monto total del descuento en la entrega.
order_detail.customer
array of objects
Propiedades del usuario de Rappi que crea la orden. Solo se envían cuando el método de entrega es marketplace o si se solicita a Rappi que envíe esta información
order_detail.customer.first_name
string
Nombre del usuario de Rappi que crea la orden.
order_detail.customer.last_name
string
Apellido del usuario de Rappi que crea la orden.
order_detail.customer.phone_number
string
Número de teléfono del usuario de Rappi que crea la orden.
order_detail.customer.document_number
string
Número de documento del usuario de Rappi que crea la orden.
order_detail.customer.user_type
string
Si el usuario es VIP se envía el valor USER_VIP. Para el resto de los usuarios este campo no se envía.
order_detail.store
array of objects
Propiedades de la tienda que prepara la orden.
order_detail.store.internal_id
string
Identificador interno que Rappi asigna a la tienda.
order_detail.store.external_id
string
Identificador de la integración que Rappi asigna a la tienda.
order_detail.store.name
string
Nombre de la tienda que prepara la orden.
order_detail.discounts.value
integer
Valor del descuento reflejado en divisa.
order_detail.discounts.description
string
Mensaje descriptivo explicando el descuento.
order_detail.discounts.title
string
Nombre del descuento.
order_detail.discounts.product_id
integer
ID del producto si el descuento aplica producto.
order_detail.discounts.sku
string
SKU del producto si el descuento aplica producto.
order_detail.discounts.type
string
Indica el tipo del descuento.
order_detail.discounts.raw_value
integer
El valor del descuento, puede representar un porcentaje o un valor en divisa dependiendo del type_value.
order_detail.discounts.value_type
string, enumerable
El tipo de valor del descuento. Opciones disponibles: value, percentage.
order_detail.discounts.max_value
integer
Máximo valor en divisa a descontar.
order_detail.discounts.includes_toppings
boolean
Indica si el descuento se resta del total de producto con toppings o no.
order_detail.discounts.percentage_by_rappi
integer
El porcentaje del descuento asumido por Rappi.
order_detail.discounts.percentage_by_partners
integer
El porcentaje del descuento asumido por el aliado.
order_detail.discounts.amount_by_rappi
integer
Valor del descuento reflejado en divisa asumido por Rappi.
order_detail.discounts.amount_by_partner
integer
Valor del descuento reflejado en divisa asumido por el aliado.
order_detail.discounts.discount_product_units
integer
Cantidad de productos a las que aplicó el descuento.
order_detail.discounts.discount_product_unit_value
integer
Valor del descuento por unidad de producto.

PUT orders/{orderId}/take/{cookingTime}

Usa este endpoint para tomar una orden para que la tienda comience a pepararla.

URL del Endpoint

Utiliza esta URL para hacer una llamada con este endpoint:

https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/orders/{orderId}/take/{cookingTime}

  • {COUNTRY_DOMAIN}: Este es tu Dominio por País de Rappi. Mira la lista de dominios por país.
  • {orderId}: Este es el identificador de la orden.
  • {cookingTime}: Este es el nuevo tiempo de preparación de la orden. Puedes dejar este campo vacío para mantener el tiempo de preparación por defecto.

Propiedades del Endpoint

Este recurso tiene las siguientes propiedades:

Formato de respuestaJSON
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/orders/392625/take/20

Este es un ejemplo de la llamada:

final Integer orderId = 392625; final Integer cookingTime = 20; URL url = new URL(String.format("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/orders/%s/take/%s", orderId, cookingTime)); 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); System.out.println("Response Code : " + connection.getResponseCode());



Ejemplo de Respuesta

Este endpoint únicamente regresa un código de estado.

PUT orders/{orderId}/reject

Usa este endpoint para rechazar una orden.

URL del Endpoint

Utiliza esta URL para hacer llamadas con este endpoint:

https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/orders/{orderId}/reject

Propiedades del Endpoint

Este recurso tiene las siguientes propiedades:

Formato de respuestaJSON
Requerimientos del body para llamadasJSON
Requerimientos de autenticaciónToken

Parámetros

NombreRequeridoDescripción
orderId
string
requeridoRechaza una orden en especifico.
items_ids
array of string
opcionalLista de los ids de los items con error. Aca se envia el rappi id
items_skus
array of string
opcionalLista de skus de los items con error. Aca se envia el sku
cancel_type
string
enumerable
requeridoEnum: "ITEM_WRONG_PRICE", "ITEM_NOT_FOUND", "ITEM_OUT_OF_STOCK", "ORDER_MISSING_INFORMATION", "ORDER_MISSING_ADDRESS_INFORMATION", "ORDER_TOTAL_INCORRECT"

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/orders/392625/reject

Este es un ejemplo de la llamada:

{ "reason": "The order has invalid items" }

Este es un ejemplo de la llamada con items con error:

{ "reason": "The order has invalid items", "cancel_type": "ITEM_NOT_FOUND", "items_skus": ["sku1", "sku2"] }
final Integer orderId = 3320025; URL url = new URL(String.format("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/orders/%s/reject", orderId)); 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 = "{\"reason\":\"The order has invalid items\"}"; try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8); os.write(input, 0, input.length); } System.out.println("Response Code : " + connection.getResponseCode());



Esta tabla describe los atributos que el JSON de tu llamada requiere:

AtributosRequeridoDescripción
reason
string
requeridoRazón por la que la orden se rechazó

Ejemplo de Llamada

Este endpoint regresa solo un código de respuesta.

POST orders/{orderId}/ready-for-pickup

Usa este endpoint para notificar al repartidor en la app de Rappi que su orden está lista para ser recogida. Al realizar la primera solicitud, si no hay un repartidor asignado, el sistema acelerará el proceso de asignación; si ya hay un repartidor asignado, se le enviará una notificación y el estado de la orden cambiará a READY_FOR_PICKUP. En la segunda solicitud, si el repartidor ya está asignado, se enviará una nueva notificación al repartidor asignado.

URL del Endpoint

Usa esta URL para hacer llamadas con este endpoint:

https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/orders/{orderId}/ready-for-pickup

Propiedades del Endpoint

Este recurso tiene las siguientes propiedades:

Formato de respuestaJSON
Requerimientos de autenticaciónToken

Parámetros

Este endpoint no permite parámetros adicionales.

Important

Para evitar el uso indebido del endpoint, nos reservamos el derecho de revocar el acceso a aquellos clientes que lo utilicen de manera inapropiada. Es por ello que después de tres solicitudes, el sistema dejará de ejecutar acciones adicionales, por lo que cualquier intento posterior será considerado un uso incorrecto del endpoint.

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/orders/392625/ready-for-pickup

Este es un ejemplo de la llamada:

final Integer orderId = 392625; URL url = new URL(String.format("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/orders/%s/ready-for-pickup", orderId)); 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"); System.out.println("Response Code : " + connection.getResponseCode());



Ejemplo de Respuesta

Este endpoint regresa unicamente un código de respuesta.

GET orders/{orderId}/events

Usa este endpoint para para obtener las últimas actualizaciones de una orden.

URL del Endpoint

Utiliza esta URL para hacer llamadas con este endpoint:

https://{COUNTRY_DOMAIN}/api/v2/restaurants-integrations-public-api/orders/{orderId}/events

Propiedades del Endpoint

Este recurso tiene las siguientes propiedades:

Formato de respuestaJSON
Requerimientos de autenticaciónToken

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/orders/392625/events

Este es un ejemplo de la llamada:

final Integer orderId = 392625; URL url = new URL(String.format("https://microservices.dev.rappi.com/api/v2/restaurants-integrations-public-api/orders/%s/events", orderId)); 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());



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": "canceled_with_charge", "event_time": "2020-05-28T12:31:12.501Z", "additional_information": {} }, { "event": "taken_visible_order", "event_time": "2020-05-28T12:30:12.501Z", "additional_information": { "eta_to_store": "15" } } ]

Esta tabla describe los objetos dentro de la respuesta de ejemplo: Tiempo estimado de llegada del repartidor a la tienda

Objeto en la respuestaDescripción del objeto
event
string
Último evento de la orden.
event_time
string
Hora del evento. Formato: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'.
additional_information
array of objects
Información adicional de la orden. El formato puede variar dependiendo del evento.
additional_information.eta_to_store
string
Tiempo estimado de llegada del repartidor a la tienda.