Skip to main content
Version: Latest

Eventos de Webhook con el Payload Sugerido por Ave

Aveonline, para la captura de los eventos de el webhook, sugiere un payload especifico en formato JSON

Se debe contar con el token para el uso de este Servicio

Request 🚀​

url​

https://api.aveonline.co/api-webhook/public/api/v1/shipping-events-hook

Method​

POST

Content-Type: application/json
Accept: application/json
Ave-Hub-signature: <Token JWT Firmado Por AveOnline>

Params JSON​

  • tipo* String "json" Descripción del formato de la trama a guardar
  • body* Object -> [{}] Trama o tramas para procesar enviada en un Array
    • id_envio* String Número del envio generado por el proveedor
    • cod_estado* String Código del estado de la guia generado por el proveedor
    • nombre_estado* String Nombre del estado de la guia, formato definido por el proveedor
    • fecha_estado* String AAAA-MM-DD HH:MM:ss Fecha actualizada del estado de la guia
    • cod_novedad String "" | null | 0 , si no existe Código de novedad, formato definido por proveedor
    • nombre_novedad String "" | null | 0 , si no existe Nombre de la novedad generado y formato definido por proveedor
    • fecha_novedad String AAAA-MM-DD HH:MM:ss "" | null | 0 , si no existe Código de novedad, formato definido por proveedor
    • estado_novedad String "" | null , si no existe En que estado se encuentra la novedad
    • guia_reeemplazo String "" | null | 0 , si no existe ¡En caso de devolución! Nueva guia de rastreo del envio "CONT" ¡En caso de continuidad!
    • tipo_guia_reeemplazo String "" | null , si no existe reemplazo "DEV" ¡En caso de devolución! "REEMP" ¡En caso de reemplazo de la guia anterior!
    • ruta_digitalizada String "" | null Url de la guia para su posterior descarga
    • base64_entrega_digitalizada Object -> [{}] Trama con el base 64
      • base64 String Cadena de texto con el comprobante de entrega en Base64
      • mime_typeString Cadena de texto con el tipo del archivo, solo con los siguientes formatos: image/jpeg image/png application/pdf
    • observaciones String "" | null Observaciones relevantes al envio

Ejemplo​

{
"tipo": "json",
"body": [
{
"id_envio": "consecutivo123",
"cod_estado": "4",
"nombre_estado": "EN ENTREGA",
"fecha_estado": "2022-12-11 11:04:43",
"cod_novedad": "NOVEDAD",
"nombre_novedad": "DIRECCION ERRONEA",
"fecha_novedad": "2022-12-11 11:31:00",
"estado_novedad": "EJECUTADA",
"guia_reeemplazo": "123-444-222",
"tipo_guia_reeemplazo": "DEV" | "REEMP" | "CONT",
"ruta_digitalizada": "https://laruta.com/docs/....",
"base64_entrega_digitalizada":{
"base64":"Base64 was here",
"mime_type":""
},
"observaciones": "no se encuentra la dirección"
}
]
}
Importante
  • En el body se puede enviar información de más de una guia.
  • De ser solo la información de una guia, tambien debe ir dentro de un array.
  • Verifica que el token este vigente,de no ser asi no se acepta la petición.
  • Cambios y sugerencias: desarrollo2@aveonline.co, desarrollo3@aveonline.co
  • Si se cambian los campos una vez establecidos, no se tendrá en cuenta esa información.

Response 📄​

Created​

  • status String Estado del resultado
  • message String Mensaje de respuesta
  • status_code String Codigo de estado de la respuesta
{
"status": "success",
"message": "Your webhook event was received successfully",
"status_code": 201
}

Unauthenticated​

Este error se da comunmente cuando el el token espiró

  • title String Estado del resultado
  • detail String Mensaje descriptivo del error
  • status_code String Codigo de estado de la respuesta
{
"errors": [
{
"title": "Unauthenticated",
"detail": "The signature is invalid.",
"status_code": "401"
}
]
}

Unprocessable Content​

Errores de validacion

  • title String Estado del resultado
  • detail String Mensaje descriptivo del error
  • status_code String Codigo de estado de la respuesta
{
"errors": [
{
"title": "Unprocessable Content",
"detail": "El campo id_envio es obligatorio",
"status": 422
}
]
}

Bad Request​

Mala peticion, la request presenta un error de estructura en la informacion enviadaSe recomienda verificar los headers

{
"errors": [
{
"title": "Bad Request",
"detail": "Error while decoding from Base64Url, invalid base64 characters detected",
"status_code": 400
}
]
}