Subscrições a webhooks
Última actualización
Última actualización
Este método envolve assinar um endpoint seu ao nosso webhook, para que sempre que houver uma mudança de estado dentro da plataforma, nós chamaremos esse endpoint para informá-lo da mudança. Dentro desse endpoint, você precisará interpretar o payload enviado por nós e atualizar o estado dentro do seu sistema.
Para este ponto, você deve ter sua tabela pronta com os estados equivalentes do Shippify em sua plataforma. Se ainda não a tiver, acesse este link para elaborá-la. Para cada estado que precisar atualizar em sua plataforma, você terá que criar um webhook diferente seguindo os passos fornecidos:
Em sua conta do Shippify, vá para o menu à esquerda, escolha a seção de Automatizações, procure por "Enviar Webhook" no menu lateral esquerdo ou entre diretamente por este link e clique no botão "CRIAR AUTOMATIZAÇÃO +".
Escolha as regras para a execução da sua automação. Você precisa selecionar o escopo no qual a automação funcionará, o evento que ativará a automação e condições adicionais, se necessário.
Para o nosso caso, a entidade que vamos escolher é uma entrega e o evento é o estado para o qual você deseja enviar a atualização. No caso de você ter definido um motivo de problema de entrega ou uma etiqueta adicional em sua tabela, você deve adicionar esses dados como condições.
Nesta etapa, você precisa adicionar as informações do endpoint onde as notificações serão recebidas e configurar se deseja enviar dados adicionais.
Define os parâmetros necessários para sua Automatização de Webhook.
Depois de configurar, clique em criar. Opcionalmente, você pode adicionar um nome. A partir desse momento, sempre que os eventos e condições forem atendidos, nós chamaremos seu endpoint notificando o evento.
O payload enviado para o webhook é extenso e contém muitas informações. Abaixo, mostraremos o significado de cada propriedade.
Uma vez que a automação é criada, você pode prosseguir para testá-la. Se você ainda não tem um endpoint pronto para receber atualizações, você pode usar um endpoint de teste para testar a configuração do webhook e ver o payload. Para este exemplo, configuraremos a automação do webhook para enviar a atualização quando a entrega mudar para o status "Concluído".
Crie uma entrega na Dash (se você já tiver criado uma, pode pular esta etapa).
Altere o status conforme apropriado para a automação, neste caso, alteraremos o status para Concluído porque é assim que configuramos nossa automação de teste.
Observe o payload enviado para o webhook, neste caso usamos um webhook de teste para podermos ver o payload enviado, caso você já tenha um endpoint configurado para receber notificações você pode colocar um log para identificar que a chamada foi feita.
Dentro da automação, você pode ver as execuções com falha e bem-sucedidas da automação junto com o identificador da entrega associada. Neste caso, temos uma execução bem-sucedida para a entrega t-pruaas-5104
.
Depois que o webhook for configurado com sucesso, as assinaturas de erro podem ser ativadas. Aqui você pode registrar um ou mais e-mails nos quais os alertas serão enviados sempre que uma notificação falhar ao ser enviada ou o endpoint responder com um erro.
Se precisar usar o webhook, mas precisa receber um payload diferente do anterior, será necessário solicitar por e-mail, anexando o payload que deseja receber para cada estado e a tabela com os estados equivalentes na Shippify.
Parâmetro | Descrição | Obrigatório |
---|---|---|
Propiedad | Detalle |
---|---|
Webhook
URL para a qual o payload do evento será enviado.
Método HTTP
Método de solicitação HTTP para enviar o payload.
Prova de entrega
Em caso de o evento ter imagens anexadas, escolha se deseja adicioná-las no seu payload como imagens. (Array[]).
HTTP Headers
Headers personalizados para a solicitação HTTP.
Assinatura do destinatário
Anexa a assinatura do destinatário como uma imagem PNG com fundo transparente. Ele é adicionado ao payload como 'signature'. (String)
Formato Base64
As imagens da prova de entrega ou assinatura são enviadas no formato base64. (Se não for marcado, então é uma URL).
URL de rastreamento
Inclui URL privada de rastreamento da entrega. Você a encontrará no 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.