MED 2.0 es un requisito regulatorio de BACEN. No hay una ruta alternativa — los clientes deben operar la Recuperación de Fondos a través del plugin para mantenerse en cumplimiento.
Conceptos
| Término | Definición |
|---|---|
| Recuperación de fondos | El proceso de MED 2.0 que recupera fondos entre múltiples cuentas tras un fraude reportado |
| Grafo de rastreo | Una representación de cómo fluyeron los fondos entre cuentas, personas y transacciones |
| Transacción raíz | La transacción Pix fraudulenta original que inicia la recuperación |
| Reporte de infracción | Un reporte de una transacción fraudulenta/problemática, ahora vinculado a su Recuperación de Fondos principal |
| Solicitud de reembolso | Una solicitud para devolver los fondos bloqueados a la víctima |
Ciclo de vida y estado
Una Recuperación de Fondos avanza por los siguientes estados:

| Estado | Descripción |
|---|---|
CREATED | Estado inicial tras la creación |
TRACKED | Grafo de rastreo generado |
AWAITING_ANALYSIS | Flujo de bloqueo iniciado, a la espera del análisis del reporte de infracción |
ANALYSED | Todos los reportes de infracción analizados, listo para el reembolso |
REFUNDING | Solicitudes de reembolso iniciadas |
COMPLETED | Todos los reembolsos completados |
CANCELLED | Recuperación cancelada (solo permitido antes de que comiencen los reembolsos) |
Endpoints
Todos los endpoints de Recuperación de Fondos viven bajo el dominio DICT y requieren el encabezado
X-Account-Id.
| Método | Endpoint | Descripción |
|---|---|---|
POST | /v1/dict/funds-recoveries | Crear una recuperación de fondos |
GET | /v1/dict/funds-recoveries/{id} | Consultar una recuperación de fondos |
PATCH | /v1/dict/funds-recoveries/{id} | Actualizar el tipo de situación y la información de contacto |
POST | /v1/dict/funds-recoveries/{id}/cancel | Cancelar (antes de que comiencen los reembolsos) |
GET | /v1/dict/funds-recoveries/{id}/tracking-graph | Ver el grafo de rastreo |
GET | /v1/dict/funds-recoveries/{id}/infraction-reports | Listar los reportes de infracción vinculados |
POST | /v1/dict/funds-recoveries/{id}/refund | Solicitar reembolsos (el estado debe ser ANALYSED) |
GET | /v1/dict/funds-recoveries/{id}/refunds | Listar las solicitudes de reembolso |
Crear una recuperación de fondos
Reglas de validación
| Campo | Requisito |
|---|---|
rootTransactionId | Requerido, 32 caracteres alfanuméricos |
situationType | Requerido — uno de SCAM, ACCOUNT_TAKEOVER, COERCION, FRAUDULENT_ACCESS, OTHER, UNKNOWN |
contactInformation | Requerido — objeto con email y/o phone |
trackingGraphParameters.minTransactionAmount | Opcional, decimal positivo |
trackingGraphParameters.maxTransactions | Opcional, 1–1000 |
trackingGraphParameters.hopWindow | Opcional, duración ISO 8601 (p. ej. PT24H) |
trackingGraphParameters.maxHops | Opcional, 1–10 |
CREATED.
Grafo de rastreo
El grafo de rastreo se obtiene fresco de BTG en cada llamada (sin estado). Devuelve las personas, cuentas y transacciones involucradas en el flujo del fraude, incluyendo los montos reembolsables por transacción.
parameters— los parámetros de generación del grafopersons[]— personas naturales y jurídicas involucradasaccounts[]— cuentas en el flujo con los ISPBs de sus participantestransactions[]— transacciones Pix con montos y montos reembolsables
Solicitar reembolsos
Una vez que la recuperación alcanza
ANALYSED, solicita la devolución de los fondos bloqueados:
REFUNDING y devuelve HTTP 200. Rastrea los estados de reembolso individuales con Listar reembolsos.
Encabezado X-Purpose (transferencias MED 2.0)
Las transferencias de reembolso de MED 2.0 deben llevar un propósito de transacción. El endpoint de cashout acepta un encabezado opcional
X-Purpose que el plugin mapea al transactionType de BTG.
| Valor | Descripción | transactionType de BTG |
|---|---|---|
TRANSFER | Transferencia Pix estándar (por defecto cuando el encabezado se omite) | TRANSFER |
INSTANT_PAYMENT_REFUND | Transferencia de reembolso de MED 2.0 | INSTANT_PAYMENT_REFUND |
purpose también se devuelve en las respuestas de transferencia (Consultar una transferencia Pix y los endpoints de listado), con TRANSFER por defecto para los registros existentes.
Campos de correlación
Para correlacionar las disputas con su recuperación principal, dos entidades existentes ahora exponen un
fundRecoveryId nullable:
- Reportes de infracción — Consultar un reporte de infracción y el endpoint de listado
- Solicitudes de reembolso — Consultar una solicitud de reembolso y el endpoint de listado
null para los registros creados fuera del flujo de MED 2.0.
Webhooks
Dos webhooks entrantes desde BTG impulsan el flujo de Recuperación de Fondos, cada uno produciendo un evento saliente correspondiente hacia tu sistema:
entityType saliente | Disparador | Comportamiento |
|---|---|---|
FUNDS_RECOVERY | DictHubFundsRecovery de BTG | El plugin actualiza el registro local, luego notifica a tu sistema con la entidad completa |
FUNDS_RECOVERY_EVENT | DictHubFundsRecoveryEvents de BTG | Evento de ciclo de vida de paso directo — sin actualización de base de datos |
flowType: DICT. Consulta la guía de Webhooks para el formato del envoltorio, los reintentos y el enrutamiento.
Evento de entidad de recuperación de fondos:
event del ciclo de vida: FUNDS_RECOVERY_ANALYSED, FUNDS_RECOVERY_COMPLETED, FUNDS_RECOVERY_INFORMATION_UPDATED, FUNDS_RECOVERY_CANCELLED.
Aviso de obsolescencia
Próximos pasos
- Operaciones de reembolso — Reembolsos parciales distribuidos y desbloqueo de reembolsos atascados
- Webhooks — Envoltorio de eventos, reintentos y enrutamiento
- Dominios principales: MED — Conceptos de disputa y reembolso de MED
- Referencia de API — Documentación completa de la API

