Skip to main content
POST
/
notifications
/
notify
Notificaciones de estado de pedido
curl --request POST \
  --url https://your-app-domain.com/notifications/notify \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "externalUserId": "user_12345",
  "status": "pending",
  "orderId": "order_xyz789",
  "websiteId": "website_abc123",
  "requiresDeliveryVerificationCode": false
}'
{
  "received": true,
  "message": "Notificación procesada exitosamente"
}
Este endpoint es un webhook que Justo llamará para informar a la aplicación contenedora sobre cambios en el estado de los pedidos. La aplicación contenedora debe implementar este endpoint para recibir estas notificaciones y determinar cómo mostrarlas al usuario (por ejemplo, una notificación push o una alerta en la aplicación).

Cuerpo de la solicitud

Estados del pedido

Los diferentes estados que Justo puede enviar y su significado:

pending

Pedido aceptado por la tienda El pedido ha sido aceptado por la tienda y está siendo preparado.

delivering

Tu pedido va en camino El pedido ha sido preparado y está en camino hacia el destino.

nearToFinish

Tu pedido está llegando a destino El conductor está a menos de 300 metros del punto de entrega. Esta notificación puede enviarse múltiples veces.
La notificación con el estado nearToFinish puede enviarse varias veces, ya que el conductor puede cumplir repetidamente con la condición de estar a menos de 300 metros del punto de entrega. Para evitar efectos no deseados o duplicaciones en el sistema, es necesario que la contraparte implemente esta notificación de manera idempotente, garantizando que las múltiples recepciones de este estado no afecten el flujo ni el estado del pedido.

done

Pedido entregado El pedido ha sido entregado exitosamente al usuario.

cancelled

Pedido cancelado El pedido ha sido cancelado. Puede ser cancelado por la tienda, el usuario, o por problemas en el proceso.

Ejemplo de solicitud - Pedido aceptado

{
  "externalUserId": "user_12345",
  "status": "pending",
  "orderId": "order_xyz789",
  "websiteId": "website_abc123",
  "requiresDeliveryVerificationCode": false
}

Ejemplo de solicitud - Pedido en camino

{
  "externalUserId": "user_12345",
  "status": "delivering",
  "orderId": "order_xyz789",
  "websiteId": "website_abc123",
  "requiresDeliveryVerificationCode": true
}

Ejemplo de solicitud - Pedido llegando a destino

{
  "externalUserId": "user_12345",
  "status": "nearToFinish",
  "orderId": "order_xyz789",
  "websiteId": "website_abc123",
  "requiresDeliveryVerificationCode": true
}

Ejemplo de solicitud - Pedido entregado

{
  "externalUserId": "user_12345",
  "status": "done",
  "orderId": "order_xyz789",
  "websiteId": "website_abc123",
  "requiresDeliveryVerificationCode": false
}

Ejemplo de solicitud - Pedido cancelado

{
  "externalUserId": "user_12345",
  "status": "cancelled",
  "orderId": "order_xyz789",
  "websiteId": "website_abc123",
  "requiresDeliveryVerificationCode": false
}

Respuesta esperada

La aplicación contenedora debe responder con un código de estado HTTP 200 para indicar que la notificación fue recibida correctamente.

Respuesta exitosa

{
  "received": true,
  "message": "Notificación procesada exitosamente"
}

Códigos de estado

Notas importantes

Este endpoint debe implementarse con un mecanismo de autorización seguro (token de acceso) que valide que la solicitud proviene de Justo. El mecanismo específico debe coordinarse entre ambos equipos técnicos.
Es crítico que este endpoint sea idempotente, especialmente para el estado nearToFinish que puede enviarse múltiples veces. La aplicación debe poder procesar la misma notificación varias veces sin efectos secundarios.
La aplicación contenedora debe determinar cómo mostrar estas notificaciones al usuario. Algunas opciones incluyen:
  • Notificaciones push
  • Alertas en la aplicación
  • Actualización del estado del pedido en la UI
  • Sonidos o vibraciones
Si la aplicación contenedora no responde con un código 200, Justo puede reintentar el envío de la notificación. Se recomienda implementar un mecanismo de procesamiento asíncrono para evitar timeouts.

Flujo de notificaciones

El flujo típico de notificaciones para un pedido exitoso sería:
  1. pending - Pedido aceptado
  2. delivering - Pedido en camino
  3. nearToFinish - Pedido llegando (puede repetirse)
  4. done - Pedido entregado
En caso de cancelación, se enviará directamente:
  1. cancelled - Pedido cancelado

Authorizations

Authorization
string
header
required

Propuesta de esquema de autenticación. Token de autenticación que debe ser coordinado entre Justo y la aplicación contenedora. El mecanismo específico debe acordarse entre ambos equipos técnicos.

Body

application/json

Propuesta de esquema de webhook. Estructura propuesta que Justo enviará a la aplicación contenedora para notificar cambios en el estado de los pedidos.

externalUserId
string
required

Identificador del usuario en la aplicación contenedora

Example:

"user_12345"

status
enum<string>
required

Estado actual del pedido

Available options:
pending,
delivering,
done,
cancelled,
nearToFinish
Example:

"pending"

orderId
string
required

Identificador único del pedido en Justo

Example:

"order_xyz789"

websiteId
string
required

Identificador del sitio web o tienda donde se realizó el pedido

Example:

"website_abc123"

requiresDeliveryVerificationCode
boolean

Indica si el pedido requiere un código de verificación para la entrega

Example:

false

Response

La notificación fue recibida y procesada correctamente

received
boolean
Example:

true

message
string
Example:

"Notificación procesada exitosamente"