Ó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.
La siguiente tabla describe los diferentes contenidos del recurso órdenes:
Recurso | Descripción |
---|---|
GET orders | Regresa una lista de nuevas órdenes creadas. |
GET orders/status/sent | Regresa 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}/reject | Rechaza una orden. |
POST orders/{orderId}/ready-for-pickup | Confirma que la orden está lista para ser recogida. |
GET orders/{orderId}/events | Regresa 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 respuesta | JSON |
Requerimientos de autenticación | Token |
Parámetros
Este endpoint acepta los siguientes parámetros opcionales:
Parámetro | Descripció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 respuesta | Descripció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 respuesta | JSON |
Requerimientos de autenticación | Token |
Parámetros
Este endpoint acepta los siguientes parametros opcionales:
Parámetro | Descripció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 respuesta | Descripció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 respuesta | 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/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
{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.
Propiedades del Endpoint
Este recurso tiene las siguientes propiedades:
Formato de respuesta | JSON |
Requerimientos del body para llamadas | JSON |
Requerimientos de autenticación | Token |
Parámetros
Nombre | Requerido | Descripción |
---|---|---|
orderId string | requerido | Rechaza una orden en especifico. |
items_ids array of string | opcional | Lista de los ids de los items con error. Aca se envia el rappi id |
items_skus array of string | opcional | Lista de skus de los items con error. Aca se envia el sku |
cancel_type string enumerable | requerido | Enum: "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:
Atributos | Requerido | Descripción |
---|---|---|
reason string | requerido | Razó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
{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.
Propiedades del Endpoint
Este recurso tiene las siguientes propiedades:
Formato de respuesta | JSON |
Requerimientos de autenticación | Token |
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
{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 tu orden.
Propiedades del Endpoint
Este recurso tiene las siguientes propiedades:
Formato de respuesta | JSON |
Requerimientos de autenticación | Token |
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 respuesta | Descripció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. |