Skip to main content

Por qué es importante


Los eventos publicados permiten que tus sistemas reaccionen a una transacción en el momento en que ocurre. Puedes activar notificaciones a clientes, sincronizar tu ERP, alimentar tableros de análisis o iniciar flujos de trabajo de cumplimiento. Tus sistemas se mantienen poco acoplados. Las secciones a continuación cubren la configuración técnica. Para una visión general del negocio, consulta Sobre Midaz.

Habilitar eventos de transacción


Midaz publica eventos de transacción por defecto. Trata la variable como habilitada salvo que la definas en false. La configuración de ejemplo incluida define la variable en false. En un stack que se inicia desde ese ejemplo, define la variable en true en la aplicación de transacciones:
Con la variable habilitada, Midaz publica eventos en este intercambio de RabbitMQ:

Tipos de eventos


Midaz emite uno de estos tipos de evento, según la etapa 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. Los usas para auditoría y trazabilidad.

Modelo de enrutamiento de eventos


Midaz usa un intercambio de tipo topic para publicar mensajes. No envía mensajes directamente a colas específicas. Controlas qué eventos recibes con tus propios enlaces.

Cómo funciona el enrutamiento

Midaz etiqueta cada evento con una routingKey. La routingKey usa este formato:
El valor <status> es el 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 con un patrón de routingKey para los eventos que quieres.

Resumen visual

Modelo de enrutamiento de eventos de Midaz, que muestra cómo los eventos publicados llegan a las colas de suscriptores enlazadas al exchange mediante patrones de routing key

Figura 1. Representación visual del modelo de enrutamiento de eventos.

Puedes configurar múltiples colas con diferentes enlaces para servir a equipos o servicios específicos de forma independiente.

Ejemplo de cola y enlace


Crear una nueva cola

Vincular la cola para recibir todos los eventos

El comodín * coincide con los cinco estados: APPROVED, PENDING, CANCELED, CREATED y NOTED. Para suscribirte a un solo tipo de evento, reemplaza el comodín por el estado exacto. Por ejemplo, midaz.transaction.NOTED recibe solo eventos de anotación.
Midaz no gestiona ni crea colas de RabbitMQ por ti. Debes aprovisionar las colas y configurar los enlaces correctos.