Visão geral
O Matcher suporta comunicação bidirecional via webhook, mantendo suas ferramentas operacionais sincronizadas com cada evento de conciliação em tempo real. Isso reduz a intervenção manual, ajuda a manter o cumprimento de SLAs e garante uma trilha de auditoria contínua em todos os sistemas conectados.
- Webhooks de saída: o Matcher notifica sistemas externos quando eventos ocorrem
- Callbacks de entrada: sistemas externos notificam o Matcher quando ações são tomadas
Fluxo bidirecional entre o Matcher e sistemas externos.
Eventos de saída
O Matcher emite eventos quando ações significativas ocorrem no processo de conciliação.
Eventos disponíveis
O catálogo de eventos do Matcher é definido de forma centralizada (46 eventos na v4.1.0). Os eventos mais comumente consumidos estão agrupados por domínio abaixo. Configuração
Descoberta (Fetcher)
Ingestão
Correspondência
Exceções e disputas
Governança e relatórios
Estrutura do payload de evento
Todos os eventos seguem uma estrutura consistente:Payloads de eventos
Ingestioncompleted
Disparado quando um lote de transações é importado com sucesso.Matchconfirmed
Disparado quando uma correspondência é aprovada (automática ou manual).Exceptionresolved
Disparado quando uma exceção é resolvida.Matchforcematched
Disparado quando um usuário força manualmente uma correspondência entre transações.Eventos de correspondência forçada são comumente usados para acionar fluxos de aprovação quando a variação excede os limites da empresa.
Matchunmatched
Disparado quando uma correspondência previamente confirmada é revertida.Matchruncompleted
Disparado quando uma execução de correspondência automática ou manual é concluída.Callbacks de entrada
Sistemas externos enviam callbacks para o Matcher para atualizar o status das exceções após o processamento. O endpoint de callback aceita atualizações de status, notas de resolução e mudanças de atribuição de qualquer sistema externo.
Processar um callback
cURL
externalSystem identifica o sistema externo que processou a exceção. Valores comuns incluem "JIRA", "SERVICENOW" ou "WEBHOOK", mas os callbacks podem reportar qualquer identificador de sistema.
Resposta
X-Idempotency-Key para prevenir processamento duplicado.
Retry automático para callbacks com falha
Se um callback anterior para a mesma chave de idempotência falhou durante o processamento, o Matcher tenta automaticamente readquirir o bloqueio de idempotência e reprocessar o callback. Isso significa que você não precisa gerar uma nova chave de idempotência ao retentar um callback com falha: basta reenviar a mesma requisição e o Matcher cuida da recuperação. O comportamento de retry se aplica apenas a callbacks que foram marcados comofailed internamente. Callbacks concluídos com sucesso continuam sendo deduplicados normalmente.
Credenciais de callback
Callbacks de entrada são autenticados com um token bearer opaco que o sistema externo envia no header
X-Callback-Token. Essas credenciais de callback são emitidas, listadas, rotacionadas e revogadas através de uma superfície CRUD dedicada em /v1/exceptions/callbacks/credentials. Cada credencial é vinculada ao tenant do chamador, e apenas o hash SHA-256 do token é armazenado no servidor — o token bruto é retornado exatamente uma vez no momento da emissão/rotação.
Emitir uma credencial
O corpo da requisição é opcional; forneçaexternalSystem como um rótulo legível para operadores do sistema que este token autentica.
cURL
201 (CredentialSecretResponse) retorna:
Rotacionar uma credencial
cURL
CredentialSecretResponse (novo token bruto) e revoga a credencial anterior atomicamente, de modo que os chamadores externos não sofram interrupção ao trocar o token.
Revogar uma credencial
cURL
Segurança de webhooks
Verificação de assinatura
Quando um segredo compartilhado de webhook está configurado, o Matcher assina cada entrega com um HMAC-SHA256 sobre o corpo bruto da requisição e o envia no headerX-Signature-256, formatado como sha256=<hex-digest>:
X-Idempotency-Key para que os receptores possam deduplicar retentativas.
Processo de verificação:
- Calcule o HMAC-SHA256 do corpo bruto da requisição usando o segredo compartilhado do webhook
- Adicione o prefixo
sha256=ao hex digest - Compare (em tempo constante) com o header
X-Signature-256
Lista de permissão de IP
O Matcher envia webhooks a partir de faixas de IP específicas:Requisitos de TLS
- Mínimo TLS 1.2
- Certificado SSL válido obrigatório
- Certificados autoassinados não são suportados em produção
Lógica de retry
Entregas de webhook com falha são retentadas com backoff exponencial.
Política de retry padrão
Uma entrega com falha é retentada até 3 vezes por padrão. Os atrasos seguem backoff exponencial a partir de uma base de 1 segundo, com jitter adicionado para distribuir as retentativas — então o espaçamento exato varia de uma tentativa para outra, em vez de seguir uma escala fixa.Condições de retry
Retries ocorrem para:- Respostas HTTP 5xx
- Timeouts de conexão
- Falhas de resolução DNS
- Respostas HTTP 4xx (exceto 429)
- Certificados SSL inválidos
- Webhook desabilitado
Melhores práticas
Verifique assinaturas de webhook
Verifique assinaturas de webhook
Sempre verifique a assinatura HMAC antes de processar payloads de webhook. Isso previne requisições falsificadas.
Responda rapidamente
Responda rapidamente
Retorne uma resposta 2xx dentro de 5 segundos. Processe o evento de forma assíncrona se necessário.
Trate duplicatas de forma idempotente
Trate duplicatas de forma idempotente
Eventos podem ser entregues mais de uma vez. Use o ID do evento para deduplicação.
Monitore a saúde das entregas
Monitore a saúde das entregas
Configure alertas para taxas de falha de webhook. Investigue falhas persistentes prontamente.
Use filtros de eventos
Use filtros de eventos
Inscreva-se apenas nos eventos que você precisa. A filtragem reduz ruído e carga de processamento.
Teste antes da produção
Teste antes da produção
Use o endpoint de teste para verificar se seu handler de webhook funciona corretamente antes de habilitar em produção.
Próximos passos
Roteamento de exceções
Configure como exceções disparam eventos de webhook.
Fontes externas
Configure fontes de dados que podem enviar via webhooks.

