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 roteamento de exceções envia exceções para destinos externos — JIRA, ServiceNow ou um endpoint HTTP de webhook que você configura
- 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. O catálogo abaixo é publicado no backbone de streaming; eventos de exceção também chegam a endpoints HTTP de webhook por meio do roteamento de exceções.
Eventos disponíveis
O catálogo de eventos do Matcher é definido de forma centralizada. 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
Payload de entrega de webhook
Os envios de exceções para um destino de webhook carregam um payload consistente —eventId, eventType, timestamp, o snapshot da exceção sob data e as informações de roteamento/rastreamento sob metadata:
data.dueAt e os campos de metadata traceId, queue, ruleName e assignee são omitidos quando não definidos. Os eventos do catálogo de streaming (as tabelas acima) seguem seus próprios esquemas por evento no stream de eventos e não são entregues neste formato HTTP.
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
O endpoint de callback é autenticado pelo cabeçalhoX-Callback-Token — um token opaco emitido pela superfície de credenciais de callback —, não por um JWT de operador. Todos os campos mostrados abaixo são obrigatórios; dueAt e updatedAt aceitam null, e payload pode ser um objeto vazio:
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. Omitir qualquer um dos nove campos obrigatórios retorna um 422.
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
Postura de rede
O Matcher é implantado na sua própria infraestrutura, então as entregas de webhook se originam no egress do seu deployment — não há uma faixa fixa de IPs da Lerian para permitir. Sirva os endpoints de webhook por HTTPS com um certificado válido. Como proteção contra SSRF, o Matcher se recusa a entregar para endereços IP privados ou de loopback, a menos que o deployment os permita explicitamente (apenas desenvolvimento).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 429
- Respostas HTTP 5xx
- Erros de transporte (falhas de conexão, timeouts)
- Outras respostas HTTP 4xx
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
Entregas podem chegar mais de uma vez. Deduplique pelo cabeçalho
X-Idempotency-Key ou pelo eventId do payload.Monitore a saúde das entregas
Monitore a saúde das entregas
Configure alertas para taxas de falha de webhook. Investigue falhas persistentes prontamente.
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.

