Skip to main content
Midaz emite eventos de dominio como mensajes CloudEvents 1.0 en modo de contenido binario sobre Kafka, publicados mediante lib-streaming. Cada evento viaja en el envoltorio compartido: ce-type nombra el evento como studio.lerian.<resource>.<event>, ce-subject lleva el id del agregado, ce-tenantid el tenant propietario (ausente en el ámbito de un solo tenant) y ce-schemaversion la versión del payload — 1.0.0 para todos los eventos de abajo. ce-source se configura en el despliegue mediante la variable de entorno STREAMING_CLOUDEVENTS_SOURCE y no tiene valor predeterminado: cuando el streaming está habilitado, el ledger no arranca si está sin definir. Los tópicos no derivan de la fuente — Midaz enruta cada evento a un tópico explícito que pliega el segmento del servicio propietario en el primer token (lerian.streaming.ledger_<resource>.<event> para el núcleo del ledger; las capacidades CRM y Fees de abajo usan crm_ y fee_) y normaliza los guiones a guiones bajos en la cola del tópico. El ce-type conserva sus guiones (por ejemplo, balance.config-changed llega al tópico lerian.streaming.ledger_balance.config_changed pero conserva el ce-type studio.lerian.balance.config-changed). Los importes monetarios — saldos, importes de transacciones y operaciones — viajan por el hilo como cadenas decimales, nunca como floats.

Eventos del ledger

Hechos que el ledger emite a medida que cambian organizaciones, cuentas, saldos y transacciones.

Organización

Ledger

Cuenta

Activo

Portafolio

Segmento

Ruta de operación

Ruta de transacción

Saldo

Transacción

Los cuatro eventos del ciclo de vida comparten un mismo esquema de payload; los campos opcionales se rellenan según el flujo — route y routeId cuando la transacción fue enrutada, parentTransactionId solo en reverted.

Eventos de Fees

La capacidad Fees de Midaz gestiona los paquetes de tarifas y de facturación y registra cuándo se aplican tarifas a una transacción. Sus eventos los emite el servicio consolidado del ledger, así que comparten el ce-source del ledger — pero conservan su propio segmento de tópico y llegan bajo lerian.streaming.fee_*. Los recursos de Fees llevan el prefijo de dominio fee- en sus claves y ce-types; el plegado del tópico elimina ese prefijo antes de añadir el segmento de servicio fee_, así que fee-packages llega a fee_packages — nunca fee_fee_packages — a diferencia de CRM, cuyos nombres de recurso no llevan prefijo de dominio.

Eventos del CRM

La capacidad CRM de Midaz gestiona los titulares de cuentas y sus instrumentos. Sus eventos los emite el servicio consolidado del ledger: comparten el ce-source del ledger pero conservan su propio segmento de tópico, llegando bajo lerian.streaming.crm_*, y siguen el mismo envoltorio y versionado que cualquier otro evento de Midaz.

Titular

Instrumento

Un instrumento es una entidad regulada, así que el documento, los datos bancarios y los campos regulatorios son PII y nunca cruzan por el hilo — solo identificadores estables, el ámbito org/holder/ledger/account, la clasificación de tipo y una lista reducida de partes relacionadas (cada entrada lleva solo relatedPartyId y un role sin PII).