Sincronismos Internos (Jornal)
Pré-requisitos de acesso
- Permissão (módulo):
viewSyncJournal - Licença/Feature: Nenhuma
- Contêiner do menu: GERAL → grupo Jornais de transações → Sincronismos Internos (
/manage-sync)
O que é / quando usar
Lista os sincronismos de transações financeiras internas com a blockchain (blockchain_sync_journal). Cada entrada representa uma transação financeira (FMS) que precisa ser refletida/sincronizada on-chain pelo ExternalBlockchainProvider. O operador usa esta tela para acompanhar o estado da sincronização e, quando uma entrada fica travada, marcá-la para reprocessamento — fazendo o watcher tentar empurrar de novo a transação para a rede.
Pré-condições
- Permissão:
viewSyncJournal(permissão dupla — enum CPM + módulo dinâmico no DB). A ação de reprocessar é sensível e pode estar sujeita a re-autenticação (step-up senha+MFA) conforme a política do tenant. - Licença/Feature: nenhuma.
- Dependências de outras telas: Nenhuma. As entradas são geradas automaticamente pelo FMS/ExternalBlockchainProvider.
Passo a passo
- Acesse Jornais de transações → Sincronismos Internos.
- A listagem carrega paginada do servidor (ordem
DESC). - Pesquise por ID do cliente no campo de busca.
- Clique no ícone de recibo para ver os detalhes de uma entrada.
- Para uma entrada travada, clique no ícone de sync para marcá-la para reprocessamento. Uma confirmação visual (snackbar) indica sucesso ou erro.
Filtros e colunas
| Filtro / Coluna | O que mostra / faz | Origem do dado |
|---|---|---|
| Busca por cliente | Filtra pelas entradas de um customerId. | Parâmetro customerId. |
Data (date) | Quando o sincronismo foi registrado. | when. |
Cliente de origem (customerIdFrom) | Cliente origem da transação. | customer_id_from. |
ID da transação (transactionId) | Identificador da transação financeira ligada. | financeTransactionId / financial_transaction_id. |
Valor (amount) | Valor principal + unidade monetária. | principalAmount (BigNumber) + unitOfMoney. |
| Detalhes (ação) | Abre o modal de detalhe da entrada. | openDetails(element). |
| Reprocessar (ação) | Marca a entrada para nova tentativa de sincronização on-chain. | updateSyncJournal(id). |
Ações e modais
- Detalhes (recibo): abre
DetailsViewSyncComponent, somente leitura, com os campos completos da entrada (origem, destino, transação financeira, taxa, status de sincronização). - Reprocessar (sync): chama
updateSyncJournal(entryId)→ API-Gateway/financial-internal/updateSyncJournal→ FMS (fin-lib). A entrada é marcada como não sincronizada novamente, e o watcher do ExternalBlockchainProvider volta a processá-la na próxima varredura. Não é uma ação instantânea: ela agenda o reprocessamento.
Regras de negócio / cuidados
Atenção
- O reprocessamento não reenvia dinheiro: ele reabilita a tentativa de sincronizar uma transação financeira já existente com a blockchain. Use somente em entradas comprovadamente travadas (sem confirmação on-chain após tempo razoável).
- Os campos
external_blockchain_synchronized/..._at/..._started_atda entrada indicam o estado real da sincronização — confira no detalhe antes de reprocessar.
Cuidado com reprocessamento repetido
- Reprocessar é idempotente por construção (
externalId/groupId): o pipeline financeiro não duplica o lançamento. Se o reprocessamento encontrar a transação já efetivada, o retornoE00021("already processed") é sucesso, não erro. Ainda assim, evite reprocessar em massa sem investigar a causa do travamento — pode mascarar um problema de provedor/rede.
- Valores financeiros:
principalAmountetaxAmountsão BigNumber (entidade usaColumnBignumber) — sem arredondamento.