Orden entregada
Identificador del evento: order.delivered
En pocas palabras
Sección titulada «En pocas palabras»IDPOS le avisa de que una orden pasó al estado «entregada». Es un aviso breve: trae un resumen de la orden con sus importes, cliente, líneas, pagos y tienda.
Cuándo llega
Sección titulada «Cuándo llega»Cuando una orden pasa al estado «entregada».
Para qué le sirve
Sección titulada «Para qué le sirve»- Marcar el pedido como completado en su sistema.
- Cerrar el seguimiento del pedido en su panel o en su ERP.
- Guardar el resumen final de la orden, con sus importes y sus pagos.
Qué hacer al recibirlo
Sección titulada «Qué hacer al recibirlo»-
Verifique la firma.
Calcule el HMAC con el cuerpo crudo y compárelo con
X-Webhook-Signature. Si no coincide, no procese el evento. Los pasos están en Autenticación y firma. -
Responda
2xxde inmediato.Guarde el evento en una cola y responda sin esperar a procesarlo. Si tarda más que el tiempo de espera, IDPOS lo trata como fallido y lo reintenta.
-
Descarte los duplicados.
Si ya procesó ese
event_iddel cuerpo, ya verificado, no lo procese otra vez. Como segunda clave useevent_typejunto condata.id(por ejemplo, order.delivered y el id de la orden). -
Procese el evento en segundo plano.
Marque la orden como entregada en su sistema usando
data.id. Si todavía no conoce la orden porque Orden aceptada no llegó, guárdela igualmente: este evento solo trae un resumen.
Ejemplo
Sección titulada «Ejemplo»{ "event_id": "01J9ZK5R2W8P3Y6N7V9S4C1D0E", "event_type": "order.delivered", "timestamp": "2026-10-12T20:10:00Z", "api_version": "v1", "data": { "id": "9b6f0c3e-1a2d-4c55-8f01-3d2a7e6b9a10", "code": "ORD-7F3K2", "correlative": 1234, "reference": "OV-001234", "status": "delivered", "created_at": "2026-10-12T19:30:00Z", "sold_at": "2026-10-12T19:30:00Z", "paid_at": "2026-10-12T19:45:00Z", "currency": "PEN", "subtotal_amount": "57.00", "discount_amount": "6.00", "global_discount_amount": "0.00", "total_amount": "63.00", "customer": { "id": "e2f4a6c8-1b3d-4f57-9a0c-6d8e0f2a4b61", "identification_type": "DNI", "identification_value": "12345678", "name": "CLIENTE EJEMPLO", "email": "cliente@example.com", "phone": "900000000" }, "products": [ { "id": "3d5f7a9b-2c4e-4a68-8b0d-1e3f5a7c9d20", "sku": "HAM-001", "external_id": "100234", "name": "Hamburguesa Clásica", "quantity": 2, "unit_price": "30.00", "subtotal_amount": "60.00", "discount_amount": "6.00", "total_amount": "54.00" } ], "payments": [ { "id": "5f7b9d1e-4a6c-4c8a-8d2f-3e5a7c9b1d42", "status": "approved", "method_type": "card", "method_name": "Visa", "amount": "57.00", "tip": "0.00", "reference_number": "123456", "approval_code": "A1B2C3", "first_six_digits": "411111", "last_four_digits": "1111", "paid_at": "2026-10-12T19:45:00Z" } ], "store": { "id": "6a8c0e2f-5b7d-4d9b-9e3a-4f6b8d0c2e53", "name": "Tienda Centro", "external_id": "T01" } }}Cómo leer las tablas: el tipo aparece debajo del nombre del campo y «nulo» indica que puede venir como null. Los demás términos están en la guía de lectura de campos.
| Campo | Descripción |
|---|---|
idstring (UUID) | Identificador de la orden |
codestring · nulo | Código de la orden |
correlativeentero · nulo | Número correlativo |
referencestring · nulo | Referencia de la orden |
statusstring | Estado de la orden |
created_atstring (fecha) · nulo | Fecha de creación |
sold_atstring (fecha) · nulo | Fecha y hora de la venta |
paid_atstring (fecha) · nulo | Fecha y hora del pago |
currencystring | Nombre de la moneda |
subtotal_amountstring (2 dec) | Monto de la orden con los descuentos de línea y antes del descuento global: total_amount menos discount_amount |
discount_amountstring (2 dec) | Suma de los descuentos de línea. No incluye el descuento global |
global_discount_amountstring (2 dec) | Descuento aplicado a la orden completa. Se resta de subtotal_amount |
total_amountstring (2 dec) | Monto de la orden antes de descuentos |
paymentslista | Pagos de la orden, con los mismos campos que payments[] de Orden aceptada, excepto method_id, que este evento no envía |
storeobjeto | Tienda (id, name, external_id) |
Cliente (customer)
Sección titulada «Cliente (customer)»| Campo | Descripción |
|---|---|
customerobjeto · nulo | Cliente |
customer.idstring (UUID) · nulo | Identificador del cliente |
customer.identification_typestring · nulo | Tipo de documento de identidad |
customer.identification_valuestring · nulo | Número de documento de identidad |
customer.namestring · nulo | Nombre del cliente |
customer.emailstring · nulo | Correo electrónico del cliente |
customer.phonestring · nulo | Teléfono del cliente |
Líneas de la orden (products[])
Sección titulada «Líneas de la orden (products[])»| Campo | Descripción |
|---|---|
productslista | Líneas de la orden |
products[].idstring (UUID) | Identificador de la línea |
products[].skustring · nulo | Código del ítem |
products[].external_idstring · nulo | Código externo del producto |
products[].namestring | Nombre del producto |
products[].quantitynúmero | Cantidad |
products[].unit_pricestring (2 dec) | Precio unitario |
products[].subtotal_amountstring (2 dec) | Monto de la línea antes de su descuento |
products[].discount_amountstring (2 dec) | Descuento de la línea |
products[].total_amountstring (2 dec) | Monto de la línea con su descuento: subtotal_amount menos discount_amount |