lib-streaming.
Catálogo JSON público del ledger
El manifest público del ledger contiene las siguientes definiciones verificadas. Cada definición catalogada tiene una ruta de emisión en producción fuera de las pruebas.Envelope de CloudEvents
Cada hecho JSON público usa el envelope compartido a continuación. Los headers transportan la información de enrutamiento y de esquema. El valor de Kafka transporta el objetodata en JSON.
Temas, manifest y enrutamiento
El tema de la aplicación identifica la aplicación productora, no un evento individual. Enruta un registro porce-resourcetype y ce-eventtype, y valida ce-schemaversion antes de decodificar su valor data.
- Hechos:
lerian.streaming.ledger - Ruta DLQ:
lerian.streaming.ledger.dlq - Manifest:
GET /v1/streaming/manifestexpone el catálogo JSON público y el mapeo de temas, incluso mientras la publicación está deshabilitada.
Semántica de entrega y fallos
La publicación está deshabilitada hasta queSTREAMING_ENABLED=true y la configuración del broker se completa con éxito. Cuando está habilitada, Midaz emite después del cambio de estado de negocio. No conecta un outbox writer, un outbox repository, un outbox transaccional ni un outbox relay de lib-streaming.
- Política: cada definición JSON pública es un
factcon entrega directa, manejo de DLQon_routable_failureyfallback_on_circuit_openconfigurado porlib-streamingv3. - Límite real de Midaz: como no hay un outbox writer conectado, el fallback de circuito abierto no puede persistir un evento. Las rutas de emisión registran y absorben los errores de publicación en lugar de devolverlos al comando de negocio.
- Requisito del consumidor: la entrega del broker es al menos una vez para los registros publicados. Haz que los handlers sean idempotentes y deduplica con
(ce-source, ce-id).
Plano legado separado de RabbitMQ
Midaz también tiene exchanges de compatibilidad para notificaciones seleccionadas de transacción, sobregiro y auditoría. Son un plano legado separado de RabbitMQ, no un contrato delib-streaming ni una representación completa de este catálogo JSON público de 49 eventos. Se recomienda que las integraciones nuevas usen el contrato de Kafka de esta página.
Contratos data completos
Estas declaraciones de estilo TypeScript reflejan la forma de wire del productor. Cada nombre de campo es su nombre JSON. ? significa que el campo tiene omitempty. | null significa que el campo es nullable y el productor siempre lo incluye. Un comentario de tipo de origen preserva exactamente el tipo del inventario. Los valores decimales son strings JSON, nunca números de punto flotante binarios.
Mapeos de tipos de origen compartidos
account.created
account.created
studio.lerian.ledger.account.createdTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la apertura de una cuenta en un ledger.Asunto: ID de cuenta (p.ID)account.deleted
account.deleted
studio.lerian.ledger.account.deletedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la eliminación de una cuenta.Asunto: ID de cuenta (p.ID)account.updated
account.updated
studio.lerian.ledger.account.updatedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: Cambian los campos mutables de una cuenta.Asunto: ID de cuenta (p.ID)asset.created
asset.created
studio.lerian.ledger.asset.createdTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: el registro de un activo en un ledger.Asunto: ID de activo (p.ID)asset.deleted
asset.deleted
studio.lerian.ledger.asset.deletedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la eliminación de un activo.Asunto: ID de activo (p.ID)asset.updated
asset.updated
studio.lerian.ledger.asset.updatedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: Cambian los campos mutables de un activo.Asunto: ID de activo (p.ID)balance.changed
balance.changed
studio.lerian.ledger.balance.changedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: Una transacción confirmada mueve un saldo (un evento por cada operación que afecta el saldo). Los valores reflejan el estado después de la operación.Asunto: ID de transacción e ID de operación (p.TransactionID + ":" + p.OperationID)balance.config_changed
balance.config_changed
studio.lerian.ledger.balance.config_changedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: Cambia la configuración de un saldo, o se habilita el sobregiro (se materializa el saldo complementario). changeType distingue settings_updated de overdraft_enabled.Asunto: ID de saldo (p.ID)balance.created
balance.created
studio.lerian.ledger.balance.createdTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la creación de un saldo durante la configuración de la cuenta.Asunto: ID de saldo (p.ID)balance.deleted
balance.deleted
studio.lerian.ledger.balance.deletedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la eliminación de un saldo.Asunto: ID de saldo (p.ID)balance.overdraft_cleared
balance.overdraft_cleared
studio.lerian.ledger.balance.overdraft_clearedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: El sobregiro se repaga por completo, una señal terminal (action = cleared).Asunto: ID de transacción e ID de operación (p.TransactionID + ":" + p.OperationID)balance.overdraft_drawn
balance.overdraft_drawn
studio.lerian.ledger.balance.overdraft_drawnTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: Un débito consume sobregiro más allá de los fondos disponibles (action = drawn).Asunto: ID de transacción e ID de operación (p.TransactionID + ":" + p.OperationID)balance.overdraft_repaid
balance.overdraft_repaid
studio.lerian.ledger.balance.overdraft_repaidTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: El uso del sobregiro disminuye pero no se salda por completo (action = repaid).Asunto: ID de transacción e ID de operación (p.TransactionID + ":" + p.OperationID)fee_billing_packages.created
fee_billing_packages.created
studio.lerian.ledger.fee_billing_packages.createdTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la creación de un paquete de facturación.Asunto: ID de paquete de facturación (p.ID)fee_billing_packages.deleted
fee_billing_packages.deleted
studio.lerian.ledger.fee_billing_packages.deletedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la eliminación de un paquete de facturación.Asunto: ID de paquete de facturación (p.ID)fee_billing_packages.updated
fee_billing_packages.updated
studio.lerian.ledger.fee_billing_packages.updatedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: Cambian los campos mutables de un paquete de facturación.Asunto: ID de paquete de facturación (p.ID)fee_charge.applied
fee_charge.applied
studio.lerian.ledger.fee_charge.appliedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la aplicación de un paquete de comisiones a una transacción confirmada.Asunto: ID de transacción (p.TransactionID)fee_packages.created
fee_packages.created
studio.lerian.ledger.fee_packages.createdTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la creación de un paquete de comisiones.Asunto: ID de paquete de comisiones (p.ID)fee_packages.deleted
fee_packages.deleted
studio.lerian.ledger.fee_packages.deletedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la eliminación de un paquete de comisiones.Asunto: ID de paquete de comisiones (p.ID)fee_packages.updated
fee_packages.updated
studio.lerian.ledger.fee_packages.updatedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: Cambian los campos mutables de un paquete de comisiones.Asunto: ID de paquete de comisiones (p.ID)holder.created
holder.created
studio.lerian.ledger.holder.createdTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la creación de un titular.Asunto: ID de titular (p.ID)holder.deleted
holder.deleted
studio.lerian.ledger.holder.deletedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la eliminación de un titular.Asunto: ID de titular (p.ID)holder.updated
holder.updated
studio.lerian.ledger.holder.updatedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: Cambian los campos mutables de un titular.Asunto: ID de titular (p.ID)instrument.created
instrument.created
studio.lerian.ledger.instrument.createdTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la creación de un instrumento para un titular y una cuenta.Asunto: ID de instrumento (p.ID)instrument.deleted
instrument.deleted
studio.lerian.ledger.instrument.deletedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la eliminación de un instrumento.Asunto: ID de instrumento (p.ID)instrument.updated
instrument.updated
studio.lerian.ledger.instrument.updatedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: Cambian los campos mutables de un instrumento.Asunto: ID de instrumento (p.ID)ledger.created
ledger.created
studio.lerian.ledger.ledger.createdTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la creación de un ledger dentro de una organización.Asunto: ID de ledger (p.ID)ledger.deleted
ledger.deleted
studio.lerian.ledger.ledger.deletedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la eliminación de un ledger.Asunto: ID de ledger (p.ID)ledger.updated
ledger.updated
studio.lerian.ledger.ledger.updatedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: Cambia el nombre o el estado de un ledger.Asunto: ID de ledger (p.ID)operation_route.created
operation_route.created
studio.lerian.ledger.operation_route.createdTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la creación de una ruta de operación.Asunto: ID de ruta de operación (p.ID)operation_route.deleted
operation_route.deleted
studio.lerian.ledger.operation_route.deletedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la eliminación de una ruta de operación.Asunto: ID de ruta de operación (p.ID)operation_route.updated
operation_route.updated
studio.lerian.ledger.operation_route.updatedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: Cambian los campos mutables de una ruta de operación.Asunto: ID de ruta de operación (p.ID)organization.created
organization.created
studio.lerian.ledger.organization.createdTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la creación de una organización.Asunto: ID de organización (p.ID)organization.deleted
organization.deleted
studio.lerian.ledger.organization.deletedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la eliminación de una organización.Asunto: ID de organización (p.ID)organization.updated
organization.updated
studio.lerian.ledger.organization.updatedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: Cambian los campos mutables de una organización.Asunto: ID de organización (p.ID)portfolio.created
portfolio.created
studio.lerian.ledger.portfolio.createdTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la creación de un portafolio.Asunto: ID de portafolio (p.ID)portfolio.deleted
portfolio.deleted
studio.lerian.ledger.portfolio.deletedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la eliminación de un portafolio.Asunto: ID de portafolio (p.ID)portfolio.updated
portfolio.updated
studio.lerian.ledger.portfolio.updatedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: Cambian los campos mutables de un portafolio.Asunto: ID de portafolio (p.ID)segment.created
segment.created
studio.lerian.ledger.segment.createdTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la creación de un segmento.Asunto: ID de segmento (p.ID)segment.deleted
segment.deleted
studio.lerian.ledger.segment.deletedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la eliminación de un segmento.Asunto: ID de segmento (p.ID)segment.updated
segment.updated
studio.lerian.ledger.segment.updatedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: Cambian los campos mutables de un segmento.Asunto: ID de segmento (p.ID)transaction.canceled
transaction.canceled
studio.lerian.ledger.transaction.canceledTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: Una transacción pendiente pasa de PENDING a CANCELED.Asunto: ID de transacción (p.ID)transaction.committed
transaction.committed
studio.lerian.ledger.transaction.committedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: Una transacción pendiente pasa de PENDING a APPROVED.Asunto: ID de transacción (p.ID)transaction.posted
transaction.posted
studio.lerian.ledger.transaction.postedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: el commit de una transacción recién creada en el almacenamiento, con todas sus operaciones persistidas (sin padre).Asunto: ID de transacción (p.ID)transaction.reverted
transaction.reverted
studio.lerian.ledger.transaction.revertedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: Un flujo de reversión crea una transacción hija. parentTransactionId la correlaciona con la original.Asunto: ID de transacción (p.ID)transaction_route.created
transaction_route.created
studio.lerian.ledger.transaction_route.createdTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la creación de una ruta de transacción.Asunto: ID de ruta de transacción (p.ID)transaction_route.deleted
transaction_route.deleted
studio.lerian.ledger.transaction_route.deletedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: la eliminación de una ruta de transacción.Asunto: ID de ruta de transacción (p.ID)transaction_route.updated
transaction_route.updated
studio.lerian.ledger.transaction_route.updatedTema: lerian.streaming.ledgerRuta DLQ: lerian.streaming.ledger.dlqEsquema: 1.0.0Disparador: Cambian los campos mutables de una ruta de transacción.Asunto: ID de ruta de transacción (p.ID)
