Ó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:
| 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_detailarray of objects | Propiedades de los detalles de la orden. |
order_detail.order_idstring | Identificador de la orden. |
order_detail.develivey_operation_typestring | Identificador para el tipo de orden: tipo turbo o tipo regular. |
order_detail.coooking_timeinteger | Tiempo de preparación estimado para la orden. |
order_detail.min_cooking_timeinteger | Tiempo mínimo de preparación en minutos para esta orden. |
order_detail.max_cooking_timeinteger | Tiempo máximo de preparación en minutos para esta orden. |
order_detail.created_atstring | Fecha en la que se creó la orden. |
order_detail.delivery_methodstring, enumerable | Método de entrega de la orden. Opciones disponibles: delivery,marketplace, pickup. |
order_detail.payment_methodstring, 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_informationobject | Propiedades de la dirección de entrega. |
order_detail.delivery_information.citystring | Ciudad de la dirección de entrega |
order_detail.delivery_information.complete_addressstring | Dirección de entrega con todos los campos |
order_detail.delivery_information.street_numberstring | Numero de la calle |
order_detail.delivery_information.neighborhoodstring | Barrio de la dirección de entrega |
order_detail.delivery_information.complementstring | Información adicional de la dirección de entrega |
order_detail.delivery_information.postal_codestring | Código postal establecido para la dirección |
order_detail.delivery_information.street_namestring | Nombre de la calle establecido para la dirección de entrega |
order_detail.billing_informationarray of objects | Propiedades de facturación del pago . |
order_detail.billing_information.addressstring | Dirección de entrega de la orden. |
order_detail.billing_information.billing_typestring | Tipo de cobro de la orden. |
order_detail.billing_information.document_numberstring | Número de documento del cliente. |
order_detail.billing_information.document_typestring | Tipo de documento del cliente. |
order_detail.billing_information.emailstring | Email establecido para recibir información de facturación. |
order_detail.billing_information.namestring | Nombre establecido para la facturación. |
order_detail.billing_information.phonestring | Teléfono establecido para la facturación. |
order_detail.totalsarray of objects | Propiedades del total de la orden. |
order_detail.totals.total_productsinteger | Total de los productos sin descuentos. |
order_detail.totals.total_discountsinteger | Total de productos sin descuento en la orden. |
order_detail.totals.total_orderinteger | 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_payinteger | 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_supportinteger | Descuento aplicado al usuario por el equipo de soporte de Rappi. |
order_detail.totals.chargesarray of objects | Propiedades de cargos adicionales de la orden . |
order_detail.totals.charges.shippinginteger | Total de cargos de envío . |
order_detail.totals.charges.service_feeinteger | Cargos del servicio de Rappi |
order_detail.totals.other_totalsarray of objects | Otros cargos incluidos en esta orden. |
order_detail.totals.other_totals.tipinteger | Propina para el repartidor. |
order_detail.totals.other_totals.total_rappi_payinteger | Total pagado usando Rappi Pay. |
order_detail.totals.othet_totals.total_rappi_creditsinteger | Total pagado usando Rappi Creditos . |
order_detail.itemsarray of objects | Propiedades de los artículos que contiene la orden. |
order_detail.items.skustring | SKU del artículo en el menú. El aliado asigna su propio SKU al artículo. |
order_detail.items.idstring | Identificador del artículo en la orden. |
order_detail.items.namestring | Nombre del artículo en la orden. |
order_detail.items.typestring, enumerable | Tipo de artículo. Opciones disponibles: product, o topping. |
order_detail.items.commentsarray | Comentarios del usuario para un artículo en la orden. |
order_detail.items.priceinteger | Precio unitario del artículo sin descuento. |
order_detail.items.quantityinteger | Cantidad especificada del artículo en la orden. |
order_detail.items.subitemsarray of objects | Propiedades de los subartículos en la orden. |
order_detail.items.subitems.skustring | SKU del subartículo en el menú. El aliado asigna su propio SKU al artículo. |
order_detail.items.subitems.idstring | Identificador que Rappi asigna al artículo. |
order_detail.items.subitems.namestring | Nombre del subartículo en la orden. |
order_detail.items.subitems.typestring, enumerable | Tipo del subartículo en la orden. Opciones disponibles: product, o topping. |
order_detail.items.subitems.priceinteger | Precio unitario del subartículo sin descuento |
order_detail.items.subitems.quantityinteger | Cantidad especificada del subartículo en la orden. |
order_detail.delivery_discountinteger | Propiedades de los descuentos en la entrega de la orden. |
order_detail.delivery_discount.total_percentage_discountinteger | Porcentaje de descuento en la entrega de la orden. |
order_detail.delivery_discount.total_value_discountinteger | Monto total del descuento en la entrega. |
order_detail.customerarray 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_namestring | Nombre del usuario de Rappi que crea la orden. |
order_detail.customer.last_namestring | Apellido del usuario de Rappi que crea la orden. |
order_detail.customer.phone_numberstring | Número de teléfono del usuario de Rappi que crea la orden. |
order_detail.customer.document_numberstring | Número de documento del usuario de Rappi que crea la orden. |
order_detail.customer.user_typestring | 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.storearray of objects | Propiedades de la tienda que prepara la orden. |
order_detail.store.internal_idstring | Identificador interno que Rappi asigna a la tienda. |
order_detail.store.external_idstring | Identificador de la integración que Rappi asigna a la tienda. |
order_detail.store.namestring | Nombre de la tienda que prepara la orden. |
order_detail.discounts.valueinteger | Valor del descuento reflejado en divisa. |
order_detail.discounts.descriptionstring | Mensaje descriptivo explicando el descuento. |
order_detail.discounts.titlestring | Nombre del descuento. |
order_detail.discounts.product_idinteger | ID del producto si el descuento aplica producto. |
order_detail.discounts.skustring | SKU del producto si el descuento aplica producto. |
order_detail.discounts.typestring | Indica el tipo del descuento. |
order_detail.discounts.raw_valueinteger | El valor del descuento, puede representar un porcentaje o un valor en divisa dependiendo del type_value. |
order_detail.discounts.value_typestring, enumerable | El tipo de valor del descuento. Opciones disponibles: value, percentage. |
order_detail.discounts.max_valueinteger | Máximo valor en divisa a descontar. |
order_detail.discounts.includes_toppingsboolean | Indica si el descuento se resta del total de producto con toppings o no. |
order_detail.discounts.percentage_by_rappiinteger | El porcentaje del descuento asumido por Rappi. |
order_detail.discounts.percentage_by_partnersinteger | El porcentaje del descuento asumido por el aliado. |
order_detail.discounts.amount_by_rappiinteger | Valor del descuento reflejado en divisa asumido por Rappi. |
order_detail.discounts.amount_by_partnerinteger | Valor del descuento reflejado en divisa asumido por el aliado. |
order_detail.discounts.discount_product_unitsinteger | Cantidad de productos a las que aplicó el descuento. |
order_detail.discounts.discount_product_unit_valueinteger | 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_detailarray of objects | Propiedades de los detalles de la orden. |
order_detail.order_idstring | Identificador de la orden. |
order_detail.develivey_operation_typestring | Identificador para el tipo de orden: tipo turbo o tipo regular. |
order_detail.coooking_timeinteger | Tiempo de preparación estimado para la orden. |
order_detail.min_cooking_timeinteger | Tiempo mínimo de preparación en minutos para esta orden. |
order_detail.max_cooking_timeinteger | Tiempo máximo de preparación en minutos para esta orden. |
order_detail.created_atstring | Fecha en la que se creó la orden. |
order_detail.delivery_methodstring, enumerable | Método de entrega de la orden. Opciones disponibles: delivery,marketplace, pickup. |
order_detail.payment_methodstring, 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_informationobject | Propiedades de la dirección de entrega. |
order_detail.delivery_information.citystring | Ciudad de la dirección de entrega |
order_detail.delivery_information.complete_addressstring | Dirección de entrega con todos los campos |
order_detail.delivery_information.street_numberstring | Numero de la calle |
order_detail.delivery_information.neighborhoodstring | Barrio de la dirección de entrega |
order_detail.delivery_information.complementstring | Información adicional de la dirección de entrega |
order_detail.delivery_information.postal_codestring | Código postal establecido para la dirección |
order_detail.delivery_information.street_namestring | Nombre de la calle establecido para la dirección de entrega |
order_detail.billing_informationarray of objects | Propiedades de facturación del pago . |
order_detail.billing_information.addressstring | Dirección de entrega de la orden. |
order_detail.billing_information.billing_typestring | Tipo de cobro de la orden. |
order_detail.billing_information.document_numberstring | Número de documento del cliente. |
order_detail.billing_information.document_typestring | Tipo de documento del cliente. |
order_detail.billing_information.emailstring | Email establecido para recibir información de facturación. |
order_detail.billing_information.namestring | Nombre establecido para la facturación. |
order_detail.billing_information.phonestring | Teléfono establecido para la facturación. |
order_detail.totalsarray of objects | Propiedades del total de la orden. |
order_detail.totals.total_productsinteger | Total de los productos sin descuentos. |
order_detail.totals.total_discountsinteger | Total de productos sin descuento en la orden. |
order_detail.totals.total_orderinteger | 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_payinteger | 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_supportinteger | Descuento aplicado al usuario por el equipo de soporte de Rappi. |
order_detail.totals.chargesarray of objects | Propiedades de cargos adicionales de la orden . |
order_detail.totals.charges.shippinginteger | Total de cargos de envío . |
order_detail.totals.charges.service_feeinteger | Cargos del servicio de Rappi |
order_detail.totals.other_totalsarray of objects | Otros cargos incluidos en esta orden. |
order_detail.totals.other_totals.tipinteger | Propina para el repartidor. |
order_detail.totals.other_totals.total_rappi_payinteger | Total pagado usando Rappi Pay. |
order_detail.totals.othet_totals.total_rappi_creditsinteger | Total pagado usando Rappi Creditos . |
order_detail.itemsarray of objects | Propiedades de los artículos que contiene la orden. |
order_detail.items.skustring | SKU del artículo en el menú. El aliado asigna su propio SKU al artículo. |
order_detail.items.idstring | Identificador del artículo en la orden. |
order_detail.items.namestring | Nombre del artículo en la orden. |
order_detail.items.typestring, enumerable | Tipo de artículo. Opciones disponibles: product, o topping. |
order_detail.items.commentsarray | Comentarios del usuario para un artículo en la orden. |
order_detail.items.priceinteger | Precio unitario del artículo sin descuento. |
order_detail.items.quantityinteger | Cantidad especificada del artículo en la orden. |
order_detail.items.subitemsarray of objects | Propiedades de los subartículos en la orden. |
order_detail.items.subitems.skustring | SKU del subartículo en el menú. El aliado asigna su propio SKU al artículo. |
order_detail.items.subitems.idstring | Identificador que Rappi asigna al artículo. |
order_detail.items.subitems.namestring | Nombre del subartículo en la orden. |
order_detail.items.subitems.typestring, enumerable | Tipo del subartículo en la orden. Opciones disponibles: product, o topping. |
order_detail.items.subitems.priceinteger | Precio unitario del subartículo sin descuento |
order_detail.items.subitems.quantityinteger | Cantidad especificada del subartículo en la orden. |
order_detail.delivery_discountinteger | Propiedades de los descuentos en la entrega de la orden. |
order_detail.delivery_discount.total_percentage_discountinteger | Porcentaje de descuento en la entrega de la orden. |
order_detail.delivery_discount.total_value_discountinteger | Monto total del descuento en la entrega. |
order_detail.customerarray 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_namestring | Nombre del usuario de Rappi que crea la orden. |
order_detail.customer.last_namestring | Apellido del usuario de Rappi que crea la orden. |
order_detail.customer.phone_numberstring | Número de teléfono del usuario de Rappi que crea la orden. |
order_detail.customer.document_numberstring | Número de documento del usuario de Rappi que crea la orden. |
order_detail.customer.user_typestring | 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.storearray of objects | Propiedades de la tienda que prepara la orden. |
order_detail.store.internal_idstring | Identificador interno que Rappi asigna a la tienda. |
order_detail.store.external_idstring | Identificador de la integración que Rappi asigna a la tienda. |
order_detail.store.namestring | Nombre de la tienda que prepara la orden. |
order_detail.discounts.valueinteger | Valor del descuento reflejado en divisa. |
order_detail.discounts.descriptionstring | Mensaje descriptivo explicando el descuento. |
order_detail.discounts.titlestring | Nombre del descuento. |
order_detail.discounts.product_idinteger | ID del producto si el descuento aplica producto. |
order_detail.discounts.skustring | SKU del producto si el descuento aplica producto. |
order_detail.discounts.typestring | Indica el tipo del descuento. |
order_detail.discounts.raw_valueinteger | El valor del descuento, puede representar un porcentaje o un valor en divisa dependiendo del type_value. |
order_detail.discounts.value_typestring, enumerable | El tipo de valor del descuento. Opciones disponibles: value, percentage. |
order_detail.discounts.max_valueinteger | Máximo valor en divisa a descontar. |
order_detail.discounts.includes_toppingsboolean | Indica si el descuento se resta del total de producto con toppings o no. |
order_detail.discounts.percentage_by_rappiinteger | El porcentaje del descuento asumido por Rappi. |
order_detail.discounts.percentage_by_partnersinteger | El porcentaje del descuento asumido por el aliado. |
order_detail.discounts.amount_by_rappiinteger | Valor del descuento reflejado en divisa asumido por Rappi. |
order_detail.discounts.amount_by_partnerinteger | Valor del descuento reflejado en divisa asumido por el aliado. |
order_detail.discounts.discount_product_unitsinteger | Cantidad de productos a las que aplicó el descuento. |
order_detail.discounts.discount_product_unit_valueinteger | 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 |
|---|---|---|
orderIdstring | requerido | Rechaza una orden en especifico. |
items_idsarray of string | opcional | Lista de los ids de los items con error. Aca se envia el rappi id |
items_skusarray of string | opcional | Lista de skus de los items con error. Aca se envia el sku |
cancel_typestring 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 |
|---|---|---|
reasonstring | 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 |
|---|---|
eventstring | Último evento de la orden. |
event_timestring | Hora del evento. Formato: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'. |
additional_informationarray of objects | Información adicional de la orden. El formato puede variar dependiendo del evento. |
additional_information.eta_to_storestring | Tiempo estimado de llegada del repartidor a la tienda. |
