Webhooks de notificaciones de cambio de estado
Esta sección explica cómo configurar webhooks en nuestro sistema, detallando la estructura y el formato de los datos de las notificaciones que enviamos.
Estructura y datos del webhook
Enviamos las notificaciones de webhook como una solicitud HTTP a una URL que nos proporciones. Esta URL actúa como el punto final de recepción para tu sistema. Los datos que enviamos en estas notificaciones se denominan payload. Podemos personalizar este payload para incluir cualquier información adicional que puedas necesitar.
Notificaciones personalizables
Tienes control sobre qué eventos activan una notificación. Puedes especificar los estados de envío exactos sobre los que deseas ser notificado. Esto asegura que solo recibas actualizaciones relevantes.
Comunicación segura
Para garantizar una comunicación segura, puedes incluir encabezados personalizados en las solicitudes de webhook. Estos encabezados pueden utilizarse para configurar varios mecanismos de autenticación dinámica, como:
- Basic Auth
- JWT (JSON Web Tokens)
- OAuth2
- Gcloud Auth
Al utilizar estos métodos, puedes asegurarte de que solo los sistemas autorizados reciban y procesen tus notificaciones de webhook.
Una vez configurado, nuestro servicio de webhooks enviará automáticamente estas actualizaciones, manteniendo tu sistema constantemente sincronizado con los eventos de nuestro servicio.
Ejemplo de flujo
- El cliente proporciona su URL (endpoint).
- Nuestro sistema detecta un cambio de estado relevante.
- Se hace una solicitud
POST
al endpoint del cliente con unpayload
estructurado en JSON.
Payload
El contenido de la solicitud tendrá el siguiente formato:
{
"status_id": "string",
"identifier": "string",
"summary_id": "string",
"status_date": "2019-08-24",
"status_name": "string",
"carrier_code": "string",
"carrier_name": "string",
"imported_id": 0,
"tracking_url": "string",
"dead_line_date": "2019-08-24",
"tracking_number": 0,
"status_information": "string"
}
Datos Payload
Aquí se detalla el significado de cada campo incluido en el payload, así como el tipo de dato esperado para cada uno.
Campo | Descripción | Tipo de dato |
---|---|---|
status_id | ID del Estado en Envíame | string |
identifier | Id del Envio. | string |
summary_id | ID del manifiesto, generado por Envíame. | string |
status_date | Fecha del cambio de estado del envio. | string <date> |
status_name | Nombre del estado en el que se encuentra el envio. | string <date> |
carrier_code | Código de carrier. | string |
carrier_name | Nombre de carrier. | string |
imported_id | Número de envío o referencia con la cual se creó el envío. | integer |
tracking_url | URL del envio en la plataforma de Envíame. | string |
dead_line_date | Fecha de compromiso. | string <date> |
tracking_number | Número de seguimiento. | integer |
status_information | Información complementaria del estado del envío | string |
Estados de envío
status_id | status_name | status_code |
---|---|---|
1 | Creado | PENDING |
2 | Procesando | PENDING |
3 | Enviado a Carrier | PENDING |
4 | Rechazado por Courier | PENDING |
5 | Listo para despacho | CREATED |
6 | En planta de origen | IN_ORIGIN |
7 | En tránsito | IN_TRANSIT |
8 | En planta destino | IN_DESTINATION |
9 | En Reparto | DISPATCHED |
10 | Entregado | DELIVERED_DOM |
11 | Disponible para retiro | DELIVERED_PUDO |
12 | Eliminado | DELETED |
13 | Retirado por cliente | PICKED_UP |
14 | Devolucion | RETURNED |
15 | No traducir | JUNK |
16 | Retirado por courier | PICK_UP_CARRIER |
17 | Dirección no encontrada | ADDRESS_NOT_FOUND |
18 | Rechazado por destinatario | REJECTED_CLIENT |
19 | No hay quien reciba | NO_ONE_HOME |
20 | Envío dañado | DAMAGED_SHIPMENT |
22 | Envío extraviado | LOST_SHIPMENT |
23 | Pendiente | AWAITING |
24 | Extraviado | LOST |
25 | Transporte sin acceso | NO_ACCESS |
26 | Listo para despacho - Impreso | CREATED |
27 | Envío no pudo ser entregado | NOT_DELIVERED |
29 | Expirado | EXPIRED |
30 | Devolucion entregada | RETURN_DELIVERED |
31 | Devolucion retirada por carrier | RETURN_pickup |
32 | Devolucion no retirada por carrier | RETURN_notpickup |
33 | Devolucion en reparto | return_dispatched |
34 | Solucionado y enviando a destinatario | SOLUTION_GENERATED |
35 | Destinatario desconocido | UNKNOWN_CLIENT |
36 | Gestión en proceso | PROCESS_RUNNING |
37 | Pendiente - requiere solución | PENDING_SOLUTION_NEEDED |
38 | Presuntamente Extraviado | ALLEGEDLY_LOST_SHIPMENT |
39 | Destinatario cambió de dirección | CLIENT_CHANGED_ADDRESS |
40 | Envío retenido | SHIPMENT_DETAINED |
41 | Entrega fallida | DELIVERY_FAILED |
43 | Devolución cancelada | RETURN_CANCELED |
44 | Devolución a remitente | RETURNED_TO_SHIPPER |
45 | Admitido en Sucursal/Agencia | RECEIVED_AT_PU_POINT |
46 | Dirección incorrecta | INCORRECT_ADDRESS |
47 | Asignado | CREATED |
48 | Extraviado - Sin movimiento | LOST_NO_MOVEMENT |
49 | Anulado | CANCELED |
50 | Entrega parcial | PARTIALLY_DELIVERED |
51 | Incumplimiento de servicio | BREACH_OF_SERVICE |
52 | Fuera de cobertura | NO_COVERAGE |
53 | No retirado - Incidencia seller | FAILED_PICKUP_SELLER_ISSUE |
54 | Pronto a Expirar | SOON_TO_EXPIRE |
55 | Iniciar devolución | RETURN_START |
56 | Expirado en tienda | EXPIRED_IN_STORE |
57 | Entregado a Carrier | DELIVERED_TO_CARRIER |
62 | Listo para despacho | CREATED |
63 | Listo para despacho - Impreso | CREATED |
64 | Retraso por fuerza mayor | DELAY_DUE_TO_FORCE_MAJEURE |
65 | Paquete listo para ser retirado | CREATED |
66 | Para entregar a fulfillment | BE_DELIVERED_WMS |
67 | Entregado a fulfillment | DELIVERED_WMS |
68 | Asignado a repartidor | CREATED |
71 | Devolución parcial | PARTIALLY_RETURNED |
75 | Manifiesto confirmado | ENVIAME_CLOSED_SUMMARY |
76 | Destinatario se rehusa a pagar | CLIENT_DONT_PAY |
77 | Bloqueado | BLOCKED |
79 | Listo para subastar | PENDING |
80 | Subastado | PENDING |
81 | No retirado - Seller ausente o cerrado | FAILED_PICKUP_SELLER_ISSUE |
82 | Embalaje deteriorado | DAMAGED_PACKAGING |
83 | Envío incautado | SHIPMENT_SEIZED |
84 | Extraviado no indemnizable | LOST_SHIPMENT_NOT_COMPENSABLE |
85 | Envío Auditado | SHIPPING_AUDITED |
86 | Orden preparada por fulfillment | Prepared_by_WMS |
87 | Rechazado por remitente | REJECTED_SELLER |
88 | Retraso por gestión del operador | DELAY_COURIER |
90 | Entregado por confirmar | DELIVERED_PENDING_CONFIRMATION |
91 | Mensajero en punto de retiro | AT_PICKUP_POINT |
92 | Tamaño paquete erroneo | WRONG_SIZE |
93 | Reasignando mensajero | LOOK_NEW_DELIVERY |
94 | Rechazado por destinatario por confirmar | REJECTED_CLIENT_PENDING |
95 | Cancelado por seller | CANCELED_BY_SELLER |
96 | Devolución arrepentida | ABORTED_RETURN |
97 | Entrega fallida (directo) | DELIVERY_FAILED |
98 | Envío no pudo ser devuelto | NOT_RETURNED |
99 | Rechazado por condición de regla | REJECTED BY RULE |
100 | Cancelado por operador - Sin retiro | CANCELED_BY_COURIER |
101 | Disponible para retiro punto Copec | DELIVERED_PUDO_CENCO |
102 | Admitido en punto | RECIEVED_AT_PU_POINT_CENCO |
103 | Cancelado cliente | CANCELED_CLIENT |
104 | Cancelado retraso | CANCELED_DELAY |
105 | Producto rechazado por cliente (directo) | PRODUCT_REJECTED_BY_CUSTOMER |
106 | Primer intento fallido - Reintento | FIRST_FAILED_ATTEMPT |
107 | Segundo intento fallido - Cancelacion (directo) | SECOND_FAILED_ATTEMPT |
109 | Arreglo de embalaje | Arreglo de embalaje |
111 | Documentación cargada exitosamente | DOCUMENT_ACCEPTED |
112 | Error en la carga de documentación | DOCUMENT_REJECTED |
113 | Intercambio realizado | EXCHANGE_OK |
114 | Creado en FLEX | Created_Flex |
115 | Devolución retirada en punto Copec | Return_Copec |