O MED 2.0 é um requisito regulatório do BACEN. Não há caminho alternativo — os clientes devem operar a Recuperação de Fundos por meio do plugin para permanecerem em conformidade.
Conceitos
| Termo | Definição |
|---|---|
| Recuperação de Fundos | O processo do MED 2.0 que recupera fundos entre múltiplas contas após uma fraude relatada |
| Grafo de rastreamento | Uma representação de como os fundos fluíram entre contas, pessoas e transações |
| Transação raiz | A transação Pix fraudulenta original que inicia a recuperação |
| Relato de infração | Um relato de uma transação fraudulenta/problemática, agora vinculada à sua Recuperação de Fundos pai |
| Solicitação de devolução | Uma solicitação para devolver os fundos bloqueados à vítima |
Ciclo de vida e status
Uma Recuperação de Fundos passa pelos seguintes estados:

| Status | Descrição |
|---|---|
CREATED | Estado inicial após a criação |
TRACKED | Grafo de rastreamento gerado |
AWAITING_ANALYSIS | Fluxo de bloqueio iniciado, aguardando análise do relato de infração |
ANALYSED | Todos os relatos de infração analisados, prontos para devolução |
REFUNDING | Solicitações de devolução iniciadas |
COMPLETED | Todas as devoluções concluídas |
CANCELLED | Recuperação cancelada (permitido apenas antes do início da devolução) |
Endpoints
Todos os endpoints de Recuperação de Fundos ficam no domínio DICT e exigem o cabeçalho
X-Account-Id.
| Método | Endpoint | Descrição |
|---|---|---|
POST | /v1/dict/funds-recoveries | Criar uma recuperação de fundos |
GET | /v1/dict/funds-recoveries/{id} | Consultar uma recuperação de fundos |
PATCH | /v1/dict/funds-recoveries/{id} | Atualizar tipo de situação e informações de contato |
POST | /v1/dict/funds-recoveries/{id}/cancel | Cancelar (antes do início da devolução) |
GET | /v1/dict/funds-recoveries/{id}/tracking-graph | Ver o grafo de rastreamento |
GET | /v1/dict/funds-recoveries/{id}/infraction-reports | Listar relatos de infração vinculados |
POST | /v1/dict/funds-recoveries/{id}/refund | Solicitar devoluções (status deve ser ANALYSED) |
GET | /v1/dict/funds-recoveries/{id}/refunds | Listar solicitações de devolução |
Criar uma recuperação de fundos
Regras de validação
| Campo | Requisito |
|---|---|
rootTransactionId | Obrigatório, 32 caracteres alfanuméricos |
situationType | Obrigatório — um dentre SCAM, ACCOUNT_TAKEOVER, COERCION, FRAUDULENT_ACCESS, OTHER, UNKNOWN |
contactInformation | Obrigatório — objeto com email e/ou phone |
trackingGraphParameters.minTransactionAmount | Opcional, decimal positivo |
trackingGraphParameters.maxTransactions | Opcional, 1–1000 |
trackingGraphParameters.hopWindow | Opcional, duração ISO 8601 (ex.: PT24H) |
trackingGraphParameters.maxHops | Opcional, 1–10 |
CREATED.
Grafo de rastreamento
O grafo de rastreamento é buscado do BTG a cada chamada (stateless). Ele retorna as pessoas, contas e transações envolvidas no fluxo da fraude, incluindo os valores passíveis de devolução por transação.
parameters— os parâmetros de geração do grafopersons[]— pessoas físicas e jurídicas envolvidasaccounts[]— contas no fluxo com os ISPBs de seus participantestransactions[]— transações Pix com valores e valores passíveis de devolução
Solicitar devoluções
Assim que a recuperação atinge
ANALYSED, solicite a devolução dos fundos bloqueados:
REFUNDING e retorna HTTP 200. Acompanhe os status de devolução individuais com Listar devoluções.
Cabeçalho X-Purpose (transferências MED 2.0)
As transferências de devolução do MED 2.0 devem carregar uma finalidade de transação. O endpoint de cashout aceita um cabeçalho opcional
X-Purpose que o plugin mapeia para o transactionType do BTG.
| Valor | Descrição | transactionType do BTG |
|---|---|---|
TRANSFER | Transferência Pix padrão (default quando o cabeçalho é omitido) | TRANSFER |
INSTANT_PAYMENT_REFUND | Transferência de devolução do MED 2.0 | INSTANT_PAYMENT_REFUND |
purpose também é retornado nas respostas de transferência (Recuperar uma transferência Pix e endpoints de listagem), com default TRANSFER para registros existentes.
Campos de correlação
Para correlacionar disputas com sua recuperação pai, duas entidades existentes agora expõem um
fundRecoveryId anulável:
- Relatos de infração — Recuperar um relato de infração e o endpoint de listagem
- Solicitações de devolução — Recuperar uma solicitação de devolução e o endpoint de listagem
null para registros criados fora do fluxo do MED 2.0.
Webhooks
Dois webhooks de entrada do BTG conduzem o fluxo de Recuperação de Fundos, cada um produzindo um evento de saída correspondente para o seu sistema:
entityType de saída | Gatilho | Comportamento |
|---|---|---|
FUNDS_RECOVERY | DictHubFundsRecovery do BTG | O plugin atualiza o registro local e depois notifica seu sistema com a entidade completa |
FUNDS_RECOVERY_EVENT | DictHubFundsRecoveryEvents do BTG | Evento de ciclo de vida pass-through — sem atualização no banco de dados |
flowType: DICT. Consulte o guia de Webhooks para o formato do envelope, retentativas e roteamento.
Evento de entidade da recuperação de fundos:
event de ciclo de vida: FUNDS_RECOVERY_ANALYSED, FUNDS_RECOVERY_COMPLETED, FUNDS_RECOVERY_INFORMATION_UPDATED, FUNDS_RECOVERY_CANCELLED.
Aviso de descontinuação
Próximos passos
- Operações de devolução — Devoluções parciais distribuídas e desbloqueio de devoluções presas
- Webhooks — Envelope de eventos, retentativas e roteamento
- Domínios principais: MED — Conceitos de disputa e devolução do MED
- Referência da API — Documentação completa da API

