Receber eventos
Registro de webhook obrigatório. Para receber webhooks você precisa ter pelo menos 2 URLs registradas — podem ser a mesma URL repetida ou URLs diferentes: uma para o webhook de Delivery request e outra para os eventos de status. Veja Criar webhook.
Nestes webhooks (eventos) é possível enviar um header Authorization para proteger seu endpoint. Avise qual token devemos usar em cada evento.
Se a sua integração suporta o modelo motorista → loja de pincode de coleta (pincode_owner = "abbiamo"), registre também uma URL para o event_type PICKUP_PIN_VALIDATION_REQUEST — o webhook síncrono de validação do pincode de coleta.
Eventualmente o cliente precisa cancelar uma solicitação. Garanta que seu sistema escuta de forma confiável os eventos de cancelamento — evita problemas de alocação de motorista e outros transtornos.
Em caso de dúvidas, fala com a gente que ajudamos.
Leia com atenção sobre o nosso sistema de timeout abaixo.
Sistema de Timeout
Para garantir a melhor experiência possível aos nossos clientes, temos um Sistema de Timeout que cancela automaticamente a solicitação de entrega após um tempo padrão de 30 minutos caso ela não seja CONFIRMADA pelo sistema da transportadora.
Para evitar esse cenário, você deve processar e confirmar a entrega o mais rápido possível, usando Confirmar Entrega. Lembre-se de que você será notificado via WEBHOOK caso a solicitação de entrega expire, e que esse tempo padrão de 30 minutos é configurável.
Se o evento DELIVERY_REQUEST não for processado com sucesso, você deve retornar uma resposta com o erro como valor string dentro de um objeto com a chave abbiamo_error, para que possamos espelhá-lo no nosso dashboard e alertar a filial sobre o problema. Exemplo:
{
"abbiamo_error": "customer phone must be valid"
}