Webhook
Um POST de evento para um endpoint HTTPS: recibos de entrega, mensagens recebidas e mudanças de status que o receptor verifica e confirma rápido.
Apenas definições: um termo explicado aqui não é um serviço que vendemos.
Um webhook é um callback HTTPS que envia um evento para uma URL que você registrou, como um recibo de entrega ou uma mensagem recebida. O receptor verifica a assinatura, confirma com 2xx e enfileira o trabalho.
O receptor lida com duplicatas e eventos fora de ordem; um webhook é entrega por push.
Verificar, confirmar, enfileirar
O provedor envia um POST quando um evento acontece, e seu endpoint retorna 2xx para confirmar. O payload geralmente é JSON com um tipo de evento e um identificador. O provedor pode assiná-lo; confira a assinatura em relação ao corpo bruto com o segredo compartilhado e rejeite requisições fora da janela de replay.
Verifique primeiro, armazene o evento bruto, retorne 2xx e processe o trabalho de forma assíncrona. Endpoints lentos causam novas tentativas. A entrega geralmente é pelo menos uma vez e a ordem não é preservada, então desduplique pelo ID do evento. Mantenha uma fila de mensagens mortas para eventos que não puderem ser processados. O explicador SMPP versus HTTP compara callbacks com entrega baseada em sessão.