Quais dados são registrados por transferência
| Campo | O que significa |
|---|---|
transferId | Sua referência interna para esta transferência |
confirmationNumber | Referência legível pelo usuário (ex: 20260205001) — exiba isso aos clientes |
controlNumber | Referência JD SPB — use para reconciliação bancária |
type | TED OUT, TED IN ou P2P |
status | Estado atual da transferência |
amount | Valor da transferência antes da tarifa |
feeAmount | Tarifa cobrada |
totalAmount | Total debitado (valor + tarifa) |
senderAccountId | Conta de envio no seu sistema |
recipientDetails | Banco, agência, número de conta e nome do titular do destinatário |
createdAt | Quando a transferência foi iniciada |
completedAt | Quando a liquidação foi confirmada |
Ciclo de vida do status da transferência
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

- 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

- 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:

- 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
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:
| Campo | Uso para |
|---|---|
controlNumber | Conciliar com registros do JD SPB |
confirmationNumber | Referência para o cliente |
transferId | Consultas internas no sistema |
createdAt | Filtrar por data de iniciação |
completedAt | Filtrar por data de liquidação |
Retenção de dados
Consultando seus dados
Use Listar Transferências para consultar transferências com os seguintes filtros:
- Por intervalo de datas — filtre por
createdAtoucompletedAt - Por tipo — TED OUT, TED IN ou P2P
- Por status — ex: apenas transferências
COMPLETEDpara reconciliação, ouFAILEDpara 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
Transferpertence a uma organização e possui muitos registros deTransferStatusHistory. - Transferências TED OUT podem se originar de uma
PaymentInitiation(o fluxo de duas etapas). - Cada
JDIncomingMessagecria no máximo umTransferdo tipoTED_IN.


