Skip to main content

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:
El manifiesto permanece disponible incluso cuando la publicación está deshabilitada. La referencia de eventos de Midaz enumera las cargas útiles de los eventos.
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).