Docs Webhook Overview FAQ
Sim. O webhook funciona como um equivalente do polling, e independente do polling. O único ponto de atenção é que eventos podem não ser entregues e descartados se o serviço da integração ficar muito tempo indisponível. Caso seja de interesse da integração, ela ainda pode fazer o polling em paralelo para conciliação ou como fallback, mas com uma frequência menor de polling. Lembrando que nesse caso é necessário enviar requests de acknowledgment para o polling dos eventos recebidos pelo webhook, pois são sistemas independentes. Recomendamos ter um fluxo de fallback que seja fácil de acionar para o recebimento de eventos para casos onde a URL de webhook esteja indisponível.
Por hora o processo para desabilitarmos um webhook é manual. Temos alertas internos e quando identificamos que um app está com muitos erros, avisaremos por email para que os erros sejam corrigidos e, caso não seja arrumado, desligaremos/bloquearemos o webhook para o app.
Sim. Caso seu endpoint esteja disponível, nós garantimos ao menos uma entrega. Tentamos evitar ao máximo, mas ainda assim é necessário tratar duplicações. Situações como timeouts das requests (mesmo respondendo 202
após o timeout) e oscilações em nossa infraestrutura podem fazer com que vocês tenham que processar o mesmo evento mais de uma vez. Por isso, utilize o campo id
no body do evento para deduplicação dos eventos.
Como o webhook faz parte do fluxo de pedidos, ele também faz parte do processo de homologação. O processo é direto, onde a integração deverá receber os eventos via webhook no lugar polling, verificado por auditoria interna. Para mais informações acesse Critérios de Homologação no módulo de pedidos
A proposta de autenticação centralizada é a recomendada para integrações server-server. A integração distribuída foi pensada para integrações client-server e por isso não será suportada pelo webhook no momento.