Por qué es importante
Los eventos del ciclo de vida de transacciones permiten que los sistemas posteriores reaccionen sin acoplarse a la API de transacciones. Úsalos para notificaciones, conciliación, analítica y flujos de cumplimiento. Para el catálogo completo y el contrato de consumo, consulta Recibir eventos de Midaz.
Habilita los eventos del ciclo de vida de transacciones
Midaz publica CloudEvents del ciclo de vida a través de la superficie lib-streaming compatible con Kafka. La publicación está deshabilitada por defecto. Configura la aplicación ledger con una lista de brokers y su source del roster:
STREAMING_CLOUDEVENTS_SOURCE es obligatorio cuando el streaming está habilitado. El binario de ledger, CRM y Fees usa ledger; los hechos de transacciones se publican en lerian.streaming.ledger.
Si el streaming está habilitado sin STREAMING_BROKERS, Midaz se niega a iniciar. Cuando el streaming está deshabilitado, Midaz usa un emisor sin operación.
Eventos del ciclo de vida
Midaz emite estos hechos públicos para cambios de estado de transacciones persistidos que cumplen los requisitos:
Midaz no emite un hecho de ciclo de vida para una transacción
PENDING recién creada, una transacción NOTED o un cambio de estado sin efecto. Una transacción pendiente solo emite cuando una actualización posterior confirma o cancela su estado.
Consume eventos
Suscríbete a
lerian.streaming.ledger y selecciona los hechos que necesitas mediante los headers de CloudEvents. No infieras el tipo de evento desde el topic de Kafka: Midaz usa un único topic de aplicación para los hechos de ledger, CRM y Fees.
Usa el manifiesto del productor como contrato de despliegue:
La publicación de eventos es de mejor esfuerzo y no vuelve la escritura en el broker transaccional con la mutación del ledger. Los consumidores deben ser idempotentes y deduplicar por
(ce-source, ce-id).
