Skip to main content
O Matcher emite eventos de domínio como mensagens CloudEvents 1.0 em modo de conteúdo binário sobre Kafka, publicadas via lib-streaming. Todo evento trafega no envelope compartilhado: ce-type nomeia o evento como studio.lerian.<resource>.<event>, ce-subject carrega o id do agregado, ce-tenantid o tenant proprietário e ce-schemaversion a versão do payload — 1.0.0 para todos os eventos abaixo. O ce-source vem de STREAMING_CLOUDEVENTS_SOURCE e é obrigatório quando o streaming está habilitado; os deployments convencionalmente definem matcher, então os tópicos chegam em matcher.<resource>.<event> (consulte Nomes de tópicos). Valores monetários — valores de tarifas, valores de ajuste — trafegam pelo fio como strings decimais, nunca como floats. O Matcher serve seu catálogo completo de eventos em GET /system/matcher/streaming/manifest. Esta página cobre o plano de streaming Kafka. O disparo de webhooks de exceção do Matcher — callbacks HTTP para roteamento de exceções — é uma superfície separada, documentada em Webhooks e callbacks.

Políticas de entrega

O catálogo do Matcher usa duas políticas de entrega:
  • Eventos respaldados por outbox são gravados no outbox na mesma transação de banco de dados que a mudança de estado; um relay publica as linhas confirmadas e tenta novamente durante quedas do broker. São os fatos de nível de auditoria (desfechos de matching, resoluções de exceção, disputas, governança). Essa política não pode ser enfraquecida por deployment.
  • Eventos diretos publicam depois que a transação confirma, em melhor esforço, com fallback para o outbox apenas quando o circuito do broker está aberto. São os sinais de configuração e de ciclo de vida operacional.
Cada tabela abaixo indica a política dos seus eventos.

Eventos de matching

Respaldados por outbox: transaction.matched, transaction.pending_review. Diretos: os demais.

Eventos de exceção e disputa

Respaldados por outbox, exceto exception.assigned e os eventos de comentário, que são diretos.

Eventos de configuração e ingestão de dados

Todos diretos.

Eventos de governança e relatórios

Respaldados por outbox, exceto a família de export-job, que é direta.

Declarados mas ainda não emitidos

O catálogo e o manifesto declaram sete eventos adicionais que nenhum caminho de código emite hoje: reconciliation_context.deleted e a família de ciclo de vida de extraction_request (submitted, completed, failed, cancelled, bridged, bridge_failed). Eles são reservas de contrato — não construa consumidores que dependam de recebê-los.

Eventos consumidos

O Matcher não consome eventos de streaming Kafka. Seus insumos de integração chegam por HTTP: uploads de arquivo, extrações do Fetcher e — quando habilitadas — entregas de webhook do Streaming Hub em POST /v1/discovery/hub/events (assinadas com HMAC, deduplicadas por id de evento, desabilitadas por padrão).