Pular para o conteúdo principal
O catálogo do Matcher tem 42 definições de evento, e o Matcher emite todas elas. Ele emite eventos de domínio como mensagens CloudEvents 1.0 em modo binário de conteúdo. Todo evento trafega no envelope compartilhado: ce-type nomeia o evento como studio.lerian.matcher.<resource>.<event>, ce-subject carrega o id do agregado, ce-tenantid o tenant proprietário, e ce-schemaversion a versão do payload. A versão é 1.0.0 para todo evento abaixo. ce-source é matcher. Todo evento usa o tópico de aplicação lerian.streaming.matcher e os tipos qualificados por source mostrados abaixo. O tipo de recurso, o tipo de evento e a versão do schema permanecem nos headers do CloudEvents. Valores monetários (valores de tarifa e valores de ajuste) trafegam no wire como strings decimais, nunca como floats. Os callbacks de resolução de entrada são uma superfície HTTP separada, documentada em Webhooks e callbacks.

Políticas de entrega

O catálogo do Matcher usa duas políticas de entrega: 16 definições usam a política apoiada em outbox e 26 definições usam entrega direta com fallback de circuit-open.
  • Eventos apoiados em outbox vão para o outbox na mesma transação de banco de dados que a mudança de estado. Um relay publica as linhas commitadas e faz novas tentativas durante interrupções do broker. Esses são os fatos de nível de auditoria (resultados de correspondência, resoluções de exceção, disputas, governança). Um deploy não pode enfraquecer essa política.
  • Eventos diretos são publicados depois que a transação faz commit, em regime de melhor esforço, com fallback para o outbox apenas quando o circuit está aberto. Esses são sinais de configuração e de ciclo de vida operacional.
Cada tabela abaixo indica a política de seus eventos.

Eventos de correspondência

Apoiados em outbox: transaction.matched, transaction.pending_review. Diretos: os demais.

Eventos de exceção e disputa

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

Eventos de configuração e entrada de dados

Todos diretos.

Eventos de governança e relatórios

Apoiados em outbox, exceto a família export-job, que é direta.

Contratos de payload

Esses tipos espelham os objetos data do CloudEvent emitidos pelo Matcher v5.0.3. ? significa que a propriedade pode estar ausente. Os timestamps são UTC RFC 3339 com precisão de nanossegundos. Os aliases de UUID documentam identidade semântica. Um campo tipado como string não carrega garantia de UUID. stats é um mapa de inteiros aberto, então os consumidores devem tolerar novas chaves.
ingestion.completed inclui o intervalo de datas apenas quando o pipeline o calcula. Os timestamps terminais e os códigos de erro estáveis dependem do agregado persistido. Os contadores de exportação ficam ausentes enquanto forem zero. dispute.won e dispute.lost não repetem a category enviada por dispute.opened.

Eventos consumidos

O Matcher não consome nenhum evento de streaming. Suas entradas de integração chegam via HTTP, como envios de arquivo e extrações do Discovery.