Por qué es importante
La publicación de eventos permite que tus sistemas reaccionen a las transacciones en el momento en que ocurren: activa notificaciones a clientes, sincroniza tu ERP, alimenta tableros de análisis o inicia flujos de trabajo de cumplimiento. Todo esto sin acoplar estrechamente tus sistemas entre sí. Las secciones a continuación cubren la configuración técnica. Para una visión general orientada al negocio, consulta Sobre Midaz.
Habilitar eventos de transacción
La publicación de eventos de transacción está habilitada por defecto: Midaz trata la variable como habilitada salvo que la definas explícitamente en
false. La configuración de ejemplo incluida la establece en false, así que en un stack iniciado desde ese ejemplo, asegúrate de que la variable no esté en false (o defínela en true) en la aplicación de transacciones:
Tipos de eventos
Midaz emite uno de los siguientes tipos de eventos dependiendo del ciclo de vida de la transacción:
Ejemplo de carga útil del evento
La carga útil completa incluye marcas de tiempo, instantáneas de saldo y otros identificadores usados para auditoría y trazabilidad.
Modelo de enrutamiento de eventos
Para garantizar flexibilidad y escalabilidad, Midaz usa un intercambio de tipo topic para publicar mensajes en lugar de enviarlos directamente a colas específicas. Esto significa que controlas qué eventos recibir configurando tus propios enlaces.
Cómo funciona el enrutamiento
Cada evento publicado por Midaz se etiqueta con una routingKey usando el formato:<status> corresponde al estado actual de la transacción (APPROVED, PENDING, CANCELED, CREATED o NOTED).
Para consumir eventos, tu aplicación debe:
1
Crear una cola en RabbitMQ.
2
Vincular tu cola al intercambio de Midaz usando el patrón de routingKey que coincida con tu interés.
Resumen visual
Figura 1. Representación visual del modelo de enrutamiento de eventos.
Ejemplo de cola y enlace
Crear una nueva cola
Vincular la cola para recibir todos los eventos
* coincide con los cinco estados: APPROVED, PENDING, CANCELED, CREATED y NOTED. Para suscribirte solo a eventos específicos, reemplaza el comodín por el estado exacto — por ejemplo, midaz.transaction.NOTED para recibir solo eventos de anotación.
Midaz no gestiona ni crea colas de RabbitMQ por ti. Eres responsable de aprovisionar las colas y configurar los enlaces correctos.

