Por que isso importa
Eventos do ciclo de vida de transações permitem que sistemas downstream reajam sem se acoplar à API de transações. Use-os para notificações, conciliação, analytics e workflows de conformidade. Para o catálogo completo e o contrato de consumo, veja Receber eventos do Midaz.
Habilite eventos do ciclo de vida de transações
O Midaz publica CloudEvents de ciclo de vida pela superfície lib-streaming compatível com Kafka. A publicação vem desabilitada por padrão. Configure a aplicação ledger com uma lista de brokers e o source do roster:
STREAMING_CLOUDEVENTS_SOURCE é obrigatório quando o streaming está habilitado. O binário de ledger, CRM e Fees usa ledger; os fatos de transações são publicados em lerian.streaming.ledger.
Se o streaming estiver habilitado sem STREAMING_BROKERS, o Midaz se recusa a iniciar. Quando o streaming está desabilitado, o Midaz usa um emissor no-op.
Eventos de ciclo de vida
O Midaz emite estes fatos públicos para mudanças elegíveis e persistidas no estado da transação:
O Midaz não emite um fato de ciclo de vida para uma transação
PENDING recém-criada, uma transação NOTED ou uma mudança de estado sem efeito. Uma transação pendente só emite quando uma atualização posterior confirma ou cancela seu status.
Consuma eventos
Assine
lerian.streaming.ledger e selecione os fatos necessários pelos cabeçalhos CloudEvents. Não infira o tipo de evento pelo tópico Kafka: o Midaz usa um único tópico de aplicação para fatos de ledger, CRM e Fees.
Use o manifesto do produtor como contrato de deploy:
A publicação de eventos é best effort e não torna a escrita no broker transacional com a mutação do ledger. Consumidores devem ser idempotentes e deduplicar por
(ce-source, ce-id).
