Pular para o conteúdo principal
Cada transferência gera uma trilha de auditoria completa. Esta página descreve os dados disponíveis para relatórios, reconciliação e conformidade.

Quais dados são registrados por transferência


CampoO que significa
transferIdSua referência interna para esta transferência
confirmationNumberReferência legível pelo usuário (ex: 20260205001) — exiba isso aos clientes
controlNumberReferência JD SPB — use para reconciliação bancária
typeTED OUT, TED IN ou P2P
statusEstado atual da transferência
amountValor da transferência antes da tarifa
feeAmountTarifa cobrada
totalAmountTotal debitado (valor + tarifa)
senderAccountIdConta de envio no seu sistema
recipientDetailsBanco, agência, número de conta e nome do titular do destinatário
createdAtQuando a transferência foi iniciada
completedAtQuando a liquidação foi confirmada

Ciclo de vida do status da transferência


TED OUT

Diagrama de máquina de estado TED OUT
  • Cliente confirmou (CREATED) — transferência confirmada pelo cliente, aguardando envio
  • Enviada à rede bancária (PENDING) — mensagem enviada à JD Consultores, aguardando reconhecimento
  • Processamento bancário (PROCESSING) — JD aceitou a transferência e está roteando
  • Liquidada (COMPLETED) — transferência liquidada com sucesso no banco de destino
  • Rejeitada (REJECTED) — JD retornou um erro de negócio (ex: dados de conta inválidos)
  • Falhou (FAILED) — falha técnica (timeout ou indisponibilidade do serviço)
  • Cancelada (CANCELLED) — cliente cancelou antes de a transferência ser enviada

TED IN

Diagrama de máquina de estado TED IN
  • Transferência detectada (RECEIVED) — mensagem recebida persistida, aguardando processamento interno
  • Destinatário validado (PROCESSING) — sistema está creditando a conta destinatária
  • Valor creditado (COMPLETED) — conta destinatária creditada com sucesso
O TED IN suporta uma transição de COMPLETED para FAILED para tratar chargebacks — casos em que uma transferência foi inicialmente liquidada mas posteriormente revertida pelo banco remetente.

P2P

Diagrama de máquina de estado P2P
  • Confirmada (CREATED) — transferência iniciada entre contas internas
  • Processando (PROCESSING) — transação Midaz em andamento
  • Liquidada (COMPLETED) — ambas as contas atualizadas com sucesso
  • Falhou (FAILED) — erro de processamento
  • Cancelada (CANCELLED) — cancelada antes do início do processamento

Revisão da tarifa antes da confirmação (somente TED OUT)


Para TED OUT, os clientes passam por um fluxo de duas etapas: Diagrama de ciclo de vida do PaymentInitiation
  • Aguardando confirmação — a tarifa foi calculada e apresentada; o cliente ainda não confirmou
  • Processada — o cliente confirmou e a transferência foi criada
  • Expirada — 24 horas se passaram sem confirmação
Isso permite que os clientes revisem o custo total (valor + tarifa) antes de confirmar a transferência.

Histórico de status


Cada transição de status é registrada com um timestamp, o estado anterior, o novo estado e um motivo (para erros e cancelamentos). Isso fornece uma trilha de auditoria completa para cada transferência — quem alterou o quê e quando. O campo changedBy registra se a transição foi acionada pelo sistema, pelo cliente ou por um administrador.

Campos de reconciliação


Use estes campos para conciliar registros de transferência com seus extratos bancários:
CampoUso para
controlNumberConciliar com registros do JD SPB
confirmationNumberReferência para o cliente
transferIdConsultas internas no sistema
createdAtFiltrar por data de iniciação
completedAtFiltrar por data de liquidação

Retenção de dados


Os registros de transferência são retidos por 5 anos conforme requisitos regulatórios do BACEN (Resolução 4.753/2019). Não exclua registros de transferência.

Consultando seus dados


Use Listar Transferências para consultar transferências com os seguintes filtros:
  • Por intervalo de datas — filtre por createdAt ou completedAt
  • Por tipo — TED OUT, TED IN ou P2P
  • Por status — ex: apenas transferências COMPLETED para reconciliação, ou FAILED para investigação

Para desenvolvedores


Armazenamento As entidades são armazenadas em PostgreSQL. recipientDetails usa JSONB para acomodar as estruturas variadas de diferentes tipos de destinatários (TED OUT, TED IN, P2P). Os índices principais cobrem (organization_id, created_at) para listagem paginada, (organization_id, status) para filtros por status, e (control_number) para consultas JD. As tabelas de auditoria são particionadas por mês para melhor performance em consultas históricas. Deduplicação de TED IN recebido Antes de processar um TED IN, o plugin persiste a mensagem bruta da JD na tabela JDIncomingMessage. Isso garante que nenhuma transferência recebida seja perdida em caso de falha no meio do processamento. A deduplicação é aplicada via uma restrição única em sequenceNumber (o NumCabSeq da JD), de modo que mensagens reentregues são ignoradas automaticamente. Relacionamentos entre entidades
  • Cada Transfer pertence a uma organização e possui muitos registros de TransferStatusHistory.
  • Transferências TED OUT podem se originar de uma PaymentInitiation (o fluxo de duas etapas).
  • Cada JDIncomingMessage cria no máximo um Transfer do tipo TED_IN.
Diagrama de relacionamento entre entidades