Suscripciones a webhooks
Última actualización
Última actualización
Este método implica subscribir un endpoint suyo a nuestro webhook, de este modo cada que exista una cambio de estado dentro de la plataforma, nosotros llamaremos a ese endpoint para informarle del cambio. Dentro de este endpoint usted tiene que interpretar el payload enviado por nosotros y realizar la actualización de estado dentro de su sistema.
Para este punto debes tener lista tu tabla con los estados equivalentes de shippify en tu plataforma, si no lo tienes accede a este link para elaborarla. Por cada estado que necesites actualizar en tu plataforma vas a tener que crear un webhook diferente siguiendo los pasos dados:
En tu cuenta de Shippify, ve al menú de la izquierda, elige la sección de Automatizaciones, busca Enviar Webhook
en el menú lateral izquierdo o ingresa directamente por este link y pulsa el botón CREAR AUTOMATIZACIÓN +
.
Elige las reglas para la ejecución de tu automatización. Tienes que elegir el ámbito en el que funcionará la automatización, el evento que activará la automatización y condiciones adicionales si lo necesitas.
Para nuestro caso, la entidad que vamos a elegir es una entrega
y el evento es el estado que deseas que se envíe la actualización. En el caso que en tu tabla tengas definido un motivo de problema de entrega o una etiqueta adicional, debes añadir estos datos como condiciones.
En este paso tienes que añadir la información del endpoint donde van a llegar las notificaciones y configurar si quieres que se envien datos extras.
Define los parámetros que necesitas para tu Automatización de Webhook.
Luego de configurarlo le das en crear, opcionalmente podras añadirle un nombre. Desde ese momento cada vez que se cumplan los eventos y condiciones, llamaremos a tu endpoint notificando el evento.
El payload que se envía al webhook es extenso y con mucha información, a continuación de mostraremos el significado de cada propiedad.
Una vez ya creada la automatización se puede proceder a probarla.
Si aun no tiene un endpoint listo para recibir las actualizaciones, puede usar uno de prueba para testear la configuración del webhook y ver el payload.
Para este ejemplo configuraremos la automatización de webhook para que envíe la actualización cuando la entrega cambie a estado "Completado".
Crear una entrega por dash ( si ya la tiene creada puede saltar este paso ).
Cambiar el estado según corresponda la automatización, en este caso, cambiaremos al estado Completado porque así configuramos nuestra automatización de pruebas.
Observar el payload enviado al webhook, en este caso utilizamor un webhook de pruebas asi que podremos ver el payload enviado, en el caso que ya tenga un endpoint configurado para recibir las notificaciones puede colocar un log para identificar que se realizó la llamada.
Dentro de la automatización, se puede observar las ejecuciones fallidas y exitosas de la automatización junto al identificador de la entrega asociada, en este caso tenemos una ejecución exitosa para la entrega t-pruaas-5104.
Cuando este configurado exitosamente el webhook se puede activar las subscripciones a errores, aqui podrá registrar uno o varios correos en donde les llegarán alertas cada que una notificación falle el envío o el endpoint responda con un error.
Si requiere utilizar el webhook pero necesita recibir un payload diferente al anterior, se deberá solicitar por correo adjuntando el payload que desea recibir por cada estado y la tabla con los estados equivalentes en shippify.
Parámetro | Descripción | Obligatorio |
---|---|---|
Propiedad | Detalle |
---|---|
Webhook
URL a la que se enviará el payload del evento.
Método HTTP
Método de solicitud HTTP para enviar el payload.
Prueba de entrega
En caso de que el evento tenga imágenes adjuntas, elige si deseas añadirlas en tu payload como images
(Array[]).
HTTP Headers
Headers personalizados para la solicitud HTTP.
Firma del destinatario
Adjunta la firma del destinatario como imagen png con fondo transparente. Lo añade al payload como signature
(String)
Formato Base64
Las imágenes de la prueba de entrega o firma se envían en formato base64. (Si no se marca, entonces es una url)
URL de seguimiento
Incluye URL privada de seguimiento de la entrega. Lo encontrarás en el payload como trackingUrl
(String)
id
Identificador de la entrega
routeId
Identificador de la ruta
networkId
Identificador de la red de conductores
networkName
Nombre de la red de conductores
cityId
Identificador de la ciudad de recolección
cityName
Nombre de la ciudad de recolección
cityLang
Idioma de la ciudad de recolección
jobId
Identificador del proceso actual, null si no tiene proceso
blocked
Indica si la tarea esta bloqueada
companyId
Identificador de la compañía de la entrega
companyName
Nombre de la compañía de la entrega
companyPlanType
Plan de la compañía de la entrega (pre o post pago)
companyParentId
Identificador de la compañía padre de la entrega
companyMode
Tipo de compañía: 1 basica, 2 saas
shipperId
Identificador del conductor que realiza la entrega
shipperMobile
Número telefónico del conductor que realiza la entrega
type
Tipo de la entrega: flex, express o regular
vehicleCapacity
Capacidad del vehiculo 1-5 bicicleta-camion
vehicleId
Identificador del vehiculo
price
Precio de la entrega
insurance
Seguro de la entrega
scheduledStartPickingDate
Fecha estimada de inicio de recolección
scheduledEndPickingDate
Fecha estimada de final de recolección
effectivePickupDate
Fecha real de recolección
arrivalPickupDate
Fecha cuando el conductor llega al punto de recolección
scheduledStartDeliveryDate
Fecha estimada de inicio de etrega
scheduledEndDeliveryDate
Fecha estimada de final de entrega
effectiveDeliveryDate
Fecha real de entrega
arrivalDeliveryDate
Fecha cuando el conductor llega al punto de entrega
creationDate
Fecha de creación de la entrega
pickupDueDate
Fecha máxima de recolección
deliveryDueDate
Fecha máxima de entrega
pickingPlace
Información de recolección
pickingPlace.lat
Latitud del punto de recolección
pickingPlace.lng
Longitud del punto de recolección
pickingPlace.originalAddress
Dirección de recolección enviada por integración
pickingPlace.address
Dirección de recolección corregida por google
droppingPlace
Información de entrega
droppingPlace.lat
Latitud del punto de entrega
droppingPlace.lng
Longitud del punto de entrega
droppingPlace.originalAddress
Dirección de entrega enviada por integración
droppingPlace.address
Dirección de entrega corregida por google
recipientInfo
Información de la persona que va a recibir la entrega
senderInfo
Información de la persona que va a enviar la entrega
state
Código del estado de la entrega
tags
Etiquetas digitales de la entrega
items
Información de los paquetes de la entrega
items.id
Identificador del paquete
items.name
Nombre del paquete
items.size
Tamaño del paquete
items.price
Precio del paquete
items.weight
Peso del paquete
items.pickedUp
Indica si ya fue recolectado el paquete
items.delivered
Indica si ya fue entregado el paquete
items.scanned
Indica si ya fue escaneado el paquete
items.qty
cantidad del paquete
referenceId
Identificador externo de la entrega.
notes
String con la razón del cambio de estado
attempts
Número de intentos de entrega
countryCode
Código del país
countryName
Nombre del país
currencyCode
Simbolo de la moneda en el país
formulaId
Identificador de la cuota aplicada
distance
Distancia entre el punto de recolección y el punto de entrega.
distanceRoute
Distancia entre el punto de entrega y el punta anterior en la ruta.
distanceCharged
Distancia cobrada
totalPackagePrice
Suma de los precios de los paquetes
eventEntity
Entidad bajo la cual se generó el evento
eventDate
Fecha en que se ejecutó el evento
lastEventParams
Información del author del evento
colleted
Indica si ya fue recolectado los paquetes
paid
Indica si ya fue pagada la entrega
notesJson
Objeto donde se guarda el motivo de cambio de estado.
notesJson.comment
Comentario general del cambio de estado
notesJson.reason
Razón del cambio de estado
notesJson.reasonId
Identificador de la razón
itemsNumber
Cantidad total de items en la entrega
itemsWeight
Peso total de la entrega
itemsPrice
Precio total de la de la entrega
references
Información adicional de la entrega
incidences
Incidencias de la entrega
metadata
Información adicional de la entrega
previousStatus
Estado anterior al actual
eventType
Tipo de evento
eventAuthor
Información del usuario que realizó el evento
eventCreatedAt
Fecha en que se creó el evento
eventDescription
Descripción del evento
eventParams
Parametros enviados al evento
status
Estado actual de la tarea
eventId
Identificador del evento
images
Arreglo de imágenes de las pruebas de entrega. Puede ser en url o en base64 según la configuración
signature
Adjunta la firma del destinatario como una imagen png con fondo transparente.Puede ser en url o en base64 según la configuración
trackingUrl
URL de seguimiento privada de la entrega.