Habilitando eventos de transação
Para ativar essa funcionalidade, defina a seguinte variável de ambiente na aplicação de transação:
Tipos de evento
O Midaz emite um dos seguintes tipos de evento dependendo do ciclo de vida da transação:
| Ação | Descrição |
|---|---|
APPROVED | A transação foi concluída com sucesso. Isso inclui transações de etapa única e transações de duas fases que foram confirmadas (committed). |
PENDING | Uma transação de duas fases foi criada e está aguardando confirmação (commit) ou cancelamento. |
CANCELED | Uma transação de duas fases foi cancelada antes da confirmação. |
Exemplo de payload de evento
O payload completo inclui timestamps, snapshots de saldo e outros identificadores usados para auditoria e rastreabilidade.
Modelo de roteamento de eventos
Para garantir flexibilidade e escalabilidade, o Midaz usa um topic exchange para publicar mensagens em vez de enviá-las diretamente para filas específicas. Isso significa que você controla quais eventos receber configurando seus próprios bindings.
Como o roteamento funciona
Cada evento publicado pelo Midaz é marcado com uma routingKey usando o formato:<status> corresponde ao status atual da transação (APPROVED, PENDING ou CANCELED).
Para consumir eventos, sua aplicação deve:
Visão geral visual

Exemplo de fila e binding
Criando uma nova fila
Vinculando a fila para receber todos os eventos
O Midaz não gerencia nem cria filas do RabbitMQ para você. Você é responsável por provisionar as filas e configurar os bindings corretos.

