Skip to main content
Webhooks são eventos externos entregues ao DEVMOB por providers. A seção de Webhooks descreve a regra comum de entrada, rastreabilidade, idempotência e roteamento para o contexto de negócio responsável pelo efeito.

Responsabilidade

O recebimento de webhook tem três responsabilidades:
  • Registrar a entrega externa de forma rastreável.
  • Garantir idempotência por provider e identificador externo do evento.
  • Traduzir eventos reconhecidos para efeitos de negócio em um contexto específico.

Idempotência

Um webhook é identificado pelo par externalProvider + externalEventId. Esse par representa o mesmo evento externo, mesmo que o provider entregue o payload mais de uma vez.
SituaçãoComportamento
Primeira entregaO evento é registrado e encaminhado para o contexto responsável.
Entrega repetidaO registro existente é preservado, receivedCount aumenta e lastReceivedAt é atualizado.
Evento já processadoO efeito de negócio não é duplicado.
Falha no processamentoO erro fica registrado para acompanhamento e retry operacional.

Modelo genérico

O modelo genérico de webhook é independente do provider e do contexto de negócio. Ele guarda os identificadores externos, o payload original, a ação derivada e o estado de processamento.
CampoPapel
webhookIdIdentificador interno do registro.
externalProviderProvider que entregou o evento.
externalEventIdIdentificador único do evento no provider.
externalEventTypeTipo original do evento no provider.
actionTypeAção interna derivada do evento.
payloadConteúdo original recebido.
statusEstado de processamento do webhook.
receivedCountQuantidade de entregas recebidas para o mesmo evento.
lastReceivedAtData da última entrega recebida.
processedAtData do processamento bem-sucedido, quando houver.
Veja a modelagem completa em Webhook.

Contextos

Billing

Eventos externos de billing mapeados para pagamento, pedido, recebíveis, transferência e conta bancária.