Sincronizaciones Internas (Diario)
Requisitos previos de acceso
- Permiso (módulo):
viewSyncJournal - Licencia/Feature: Ninguna
- Contenedor del menú: GENERAL → grupo Diarios de transacciones → Sincronizaciones Internas (
/manage-sync)
Qué es / cuándo usar
Lista las sincronizaciones de transacciones financieras internas con la blockchain (blockchain_sync_journal). Cada entrada representa una transacción financiera (FMS) que debe ser reflejada/sincronizada on-chain por el ExternalBlockchainProvider. El operador utiliza esta pantalla para monitorear el estado de la sincronización y, cuando una entrada queda bloqueada, marcarla para reprocesamiento — haciendo que el watcher intente enviar nuevamente la transacción a la red.
Requisitos previos
- Permiso:
viewSyncJournal(permiso doble — enum CPM + módulo dinámico en la DB). La acción de reprocesar es sensible y puede estar sujeta a re-autenticación (step-up contraseña+MFA) según la política del tenant. - Licencia/Feature: ninguna.
- Dependencias de otras pantallas: Ninguna. Las entradas son generadas automáticamente por el FMS/ExternalBlockchainProvider.
Paso a paso
- Acceda a Diarios de transacciones → Sincronizaciones Internas.
- El listado se carga paginado desde el servidor (orden
DESC). - Busque por ID de cliente en el campo de búsqueda.
- Haga clic en el ícono de recibo para ver los detalles de una entrada.
- Para una entrada bloqueada, haga clic en el ícono de sync para marcarla para reprocesamiento. Una confirmación visual (snackbar) indica éxito o error.
Filtros y columnas
| Filtro / Columna | Qué muestra / hace | Origen del dato |
|---|---|---|
| Búsqueda por cliente | Filtra las entradas de un customerId. | Parámetro customerId. |
Fecha (date) | Cuándo se registró la sincronización. | when. |
Cliente de origen (customerIdFrom) | Cliente origen de la transacción. | customer_id_from. |
ID de transacción (transactionId) | Identificador de la transacción financiera vinculada. | financeTransactionId / financial_transaction_id. |
Monto (amount) | Monto principal + unidad monetaria. | principalAmount (BigNumber) + unitOfMoney. |
| Detalles (acción) | Abre el modal de detalle de la entrada. | openDetails(element). |
| Reprocesar (acción) | Marca la entrada para un nuevo intento de sincronización on-chain. | updateSyncJournal(id). |
Acciones y modales
- Detalles (recibo): abre
DetailsViewSyncComponent, solo lectura, con todos los campos de la entrada (origen, destino, transacción financiera, tarifa, estado de sincronización). - Reprocesar (sync): llama a
updateSyncJournal(entryId)→ API-Gateway/financial-internal/updateSyncJournal→ FMS (fin-lib). La entrada queda marcada como no sincronizada nuevamente, y el watcher del ExternalBlockchainProvider vuelve a procesarla en el próximo barrido. No es una acción instantánea: agenda el reprocesamiento.
Reglas de negocio / consideraciones
Atención
- El reprocesamiento no reenvía dinero: reactiva el intento de sincronizar una transacción financiera ya existente con la blockchain. Úselo solo en entradas comprobadamente bloqueadas (sin confirmación on-chain tras un tiempo razonable).
- Los campos
external_blockchain_synchronized/..._at/..._started_atde la entrada indican el estado real de la sincronización — revise el detalle antes de reprocesar.
Cuidado con el reprocesamiento repetido
- El reprocesamiento es idempotente por diseño (
externalId/groupId): el pipeline financiero no duplica el asiento en el libro mayor. Si el reprocesamiento encuentra la transacción ya liquidada, el código de retornoE00021("already processed") es éxito, no un error. Aun así, evite reprocesar en masa sin investigar la causa del bloqueo — puede enmascarar un problema de proveedor/red.
- Valores financieros:
principalAmountytaxAmountson BigNumber (la entidad usaColumnBignumber) — sin redondeo.