Eventos de Dominio
Lana Bank publica eventos de dominio a traves del patron de outbox transaccional. Estos eventos pueden ser consumidos por sistemas externos para integracion, analitica y auditoria.
Todos los eventos se serializan como JSON e incluyen metadatos para trazabilidad y ordenamiento.
Estructura del Evento
Cada evento esta envuelto en un sobre con la siguiente estructura:
{
"id": "uuid",
"event_type": "core.credit.facility-activated",
"payload": { ... },
"recorded_at": "2024-01-15T10:30:00Z",
"trace_id": "trace-uuid"
}
Access Events
Eventos relacionados con la gestion de usuarios y roles.
| Event | Description | Payload Fields |
|---|---|---|
UserCreated | Se creo un nuevo usuario | - |
RoleCreated | Se creo un nuevo rol | - |
Credit Events
Eventos relacionados con el ciclo de vida y operaciones de facilidades de credito.
| Event | Description | Payload Fields |
|---|---|---|
FacilityProposalCreated | Se creo una propuesta de facilidad de credito | - |
FacilityProposalConcluded | FacilityProposalConcluded | - |
PendingCreditFacilityCollateralizationChanged | Cambio el estado de colateralizacion para facilidad pendiente | - |
PendingCreditFacilityCompleted | PendingCreditFacilityCompleted | - |
FacilityActivated | Se activo una facilidad de credito | - |
FacilityCompleted | Una facilidad de credito fue totalmente pagada y cerrada | - |
FacilityCollateralizationChanged | Cambio el estado de colateralizacion para facilidad activa | - |
DisbursalInitialized | Se inició un desembolso y está pendiente de aprobación | - |
DisbursalApprovalConcluded | DisbursalApprovalConcluded | - |
DisbursalSettled | Se liquido un desembolso | - |
DisbursalCancelled | Se canceló un desembolso | - |
AccrualPosted | Se registro el devengamiento de intereses | - |
FacilityMatured | No description available | - |
PartialLiquidationInitiated | Se inicio una liquidacion parcial | - |
CreditCollateral Events
CoreCreditCollateralEvent module_description
| Event | Description | Payload Fields |
|---|---|---|
CollateralUpdated | CollateralUpdated | - |
LiquidationCollateralSentOut | LiquidationCollateralSentOut | - |
LiquidationProceedsReceived | No description available | - |
LiquidationCompleted | No description available | - |
CreditCollection Events
CoreCreditCollectionEvent module_description
| Event | Description | Payload Fields |
|---|---|---|
PaymentCreated | PaymentCreated | - |
PaymentAllocationCreated | PaymentAllocationCreated | - |
ObligationCreated | Se creo una nueva obligacion | - |
ObligationDue | Una obligacion vencio | - |
ObligationOverdue | Una obligacion entro en mora | - |
ObligationDefaulted | Una obligacion entro en incumplimiento | - |
ObligationCompleted | Una obligacion fue completamente pagada | - |
Custody Events
Eventos relacionados con custodia de Bitcoin y gestion de billeteras.
| Event | Description | Payload Fields |
|---|---|---|
WalletBalanceUpdated | No description available | - |
Customer Events
Eventos relacionados con el ciclo de vida del cliente y KYC.
| Event | Description | Payload Fields |
|---|---|---|
CustomerCreated | Se creo un nuevo cliente | - |
CustomerFrozen | Se congelo una cuenta de cliente, bloqueando operaciones financieras | - |
CustomerUnfrozen | Se descongelo una cuenta de cliente previamente congelada, restaurando operaciones normales | - |
CustomerClosed | La cuenta del cliente fue cerrada | - |
CustomerPiiErasureScheduled | Se programó el borrado de PII para la parte de un cliente cerrado | - |
CustomerPiiErasureCancelled | Se canceló un borrado de PII programado para la parte de un cliente antes de su ejecución | - |
ProspectCreated | Se creó un nuevo prospecto para la incorporación | - |
ProspectConverted | Un prospecto fue convertido en cliente | - |
ProspectClosed | Un prospecto fue cerrado sin conversión | - |
ProspectPiiErasureScheduled | Se programó el borrado de PII para la parte de un prospecto cerrado | - |
ProspectPiiErasureCancelled | Se canceló un borrado de PII programado para la parte de un prospecto antes de su ejecución | - |
Deposit Events
Eventos relacionados con cuentas de deposito y transacciones.
| Event | Description | Payload Fields |
|---|---|---|
DepositAccountProductCreated | No description available | - |
DepositAccountCreated | Se creo una cuenta de deposito | - |
DepositAccountFrozen | No description available | - |
DepositAccountUnfrozen | No description available | - |
DepositAccountClosed | No description available | - |
DepositAccountActivityUpdated | No description available | - |
DepositInitialized | No description available | - |
DepositReverted | Se revirtio un deposito | - |
WithdrawalInitialized | Se inició un retiro y está pendiente de aprobación | - |
WithdrawalApprovalConcluded | Se concluyó el proceso de aprobación de un retiro | - |
WithdrawalDenied | Se denegó un retiro | - |
WithdrawalConfirmed | Se confirmo un retiro | - |
WithdrawalCancelled | Se canceló un retiro | - |
WithdrawalReverted | Se revirtió un retiro confirmado | - |
Price Events
Eventos de tasas oficiales publicados al final del día y en cada tick horario; las actualizaciones de precios en tiempo de ejecución son efímeras y nunca se persisten.
| Event | Description | Payload Fields |
|---|---|---|
ClosingRateCaptured | Tasa de cierre oficial de un par de monedas para un día hábil, publicada por la fase de EOD capture-closing-rates. Los precios en tiempo de ejecución son efímeros. | - |
RateSnapshotCaptured | La última tasa saneada del runtime para un par de monedas, republicada como evento persistente en cada tick horario. No se consulta ningún proveedor en el tick: la tasa, la ventana de saneamiento y la procedencia provienen del registro que el pipeline de agregación en tiempo real ya produjo, de modo que los reportes que se actualizan cada hora convierten exactamente a la tasa que el banco estaba usando. | - |
Governance Events
Eventos relacionados con flujos de aprobacion.
| Event | Description | Payload Fields |
|---|---|---|
ApprovalProcessConcluded | Se concluyo un proceso de aprobacion | - |
Time Events
Eventos relacionados con el procesamiento de fin de día.
| Event | Description | Payload Fields |
|---|---|---|
EndOfDay | El reloj operativo superó la hora de cierre para la zona horaria configurada; la señal básica de cambio de día de la que dependen las reacciones diarias y el proceso de cierre de fin de día | - |
HourTick | El reloj operativo cruzó a una nueva hora; la señal intradía horaria de la que dependen las reacciones periódicas (no EOD). Se publica como máximo una vez por hora, coalesciendo los límites perdidos en un solo tick | - |
Referencia de Tipos de Eventos
Todos los tipos de eventos siguen la convencion de nombres: core.<module>.<event-name>
| Modulo | Prefijo de Tipo de Evento |
|---|---|
| Access | core.access.* |
| Credit | core.credit.* |
| CreditCollateral | core.credit-collateral.* |
| CreditCollection | core.credit-collection.* |
| Custody | core.custody.* |
| Customer | core.customer.* |
| Deposit | core.deposit.* |
| Price | core.price.* |
| Report | core.report.* |
| Governance | governance.* |
| Time | core.time.* |
Consumiendo Eventos
Los eventos se publican a traves del outbox transaccional y se pueden consumir mediante:
- Consulta directa a la base de datos - Consultar la tabla de outbox
- Streaming de eventos - Integracion con colas de mensajes (dependiente de la implementacion)
- Almacén de informes - A través del relé de salida hacia el almacén de datos Postgres
Para detalles de integracion, contacte al equipo de plataforma.