Saltar al contenido principal
El plugin TED es un servicio autónomo que gestiona toda la comunicación con la red SPB de Brasil (a través de JD Consultores). Administra el ciclo de vida completo de la transferencia — desde el cálculo de tarifas hasta la confirmación de liquidación — para que su equipo no necesite interactuar con JD directamente.

Lo que el plugin gestiona por usted


  • Envía TEDs salientes a cualquier banco brasileño (TED OUT)
  • Recibe y acredita TEDs entrantes automáticamente (TED IN)
  • Procesa transferencias internas instantáneas entre cuentas (P2P)
  • Calcula y aplica tarifas automáticamente antes de que el cliente confirme
  • Detecta y previene transferencias duplicadas dentro de una ventana configurable
  • Firma mensajes con el certificado digital de su institución, según lo exige el BACEN
  • Reintenta operaciones fallidas automáticamente
  • Notifica a su sistema a través de webhooks en tiempo real ante cada cambio de estado

Cómo funciona TED OUT


TED OUT utiliza un flujo de dos pasos para que el cliente pueda revisar la tarifa antes de confirmar.

Paso 1 — Iniciar

1
Su sistema llama al plugin con los detalles de la transferencia (monto, destinatario, cuenta del remitente).
2
El plugin valida la cuenta del remitente, verifica el horario de funcionamiento y ejecuta la detección de duplicados.
3
El plugin calcula la tarifa y devuelve un initiationId con los montos calculados.
4
Su sistema muestra la tarifa al cliente para su confirmación.
La iniciación es válida por 24 horas. Si el cliente no confirma dentro de ese período, expira automáticamente.

Paso 2 — Procesar

1
Su sistema llama al plugin con el initiationId para confirmar.
2
El plugin verifica los límites diarios y mensuales y comprueba el saldo disponible.
3
El plugin reserva los fondos en Midaz (hold) y envía el mensaje firmado a JD Consultores.
4
JD enruta la transferencia al banco de destino a través de la red SPB.
5
El plugin recibe la confirmación de liquidación de JD y finaliza los registros.
6
Su sistema recibe un webhook con el estado final.

Cómo funciona TED IN


  1. Un banco externo envía un TED a su institución a través de JD Consultores.
  2. El plugin consulta a JD cada 30 segundos para detectar nuevas transferencias entrantes.
  3. El plugin valida al destinatario contra el CRM para encontrar la cuenta correcta.
  4. El plugin acredita la cuenta en Midaz y crea un registro de transferencia completado.
  5. Su sistema recibe un webhook confirmando el crédito.
La recepción de TED IN está deshabilitada por defecto. Habilítela por organización a través de la Admin API una vez que sus credenciales JD y el worker de polling estén configurados.

Cómo funciona P2P


Las transferencias P2P mueven fondos entre dos cuentas dentro de la misma organización, sin pasar por la red SPB. La liquidación es instantánea.
  1. Su sistema llama al plugin con la cuenta del remitente, la cuenta del destinatario y el monto.
  2. El plugin calcula la tarifa (si está configurada) y la presenta para confirmación.
  3. Tras la confirmación, el plugin ejecuta la transferencia en Midaz.
  4. Ambas cuentas se actualizan inmediatamente. Su sistema recibe un webhook.

Modelos de despliegue


SaaS (gestionado por Lerian) Lerian mantiene la conexión con JD Consultores y el certificado. Usted configura los ajustes de su organización — límites, tarifas, webhooks — a través de la Admin API. No se requiere trabajo de infraestructura. BYOC (traiga sus propias credenciales) Su institución proporciona las credenciales de JD Consultores y la clave privada RSA para la firma de mensajes. DevOps las configura a través de variables de entorno. Tiene control total sobre la conexión JD y puede ejecutar el plugin en su propia infraestructura. Consulte Configuración de TED para la lista completa de variables de entorno.

Integración con Midaz


Todos los movimientos financieros pasan a través del ledger de Midaz. El plugin crea transacciones en Midaz para cada transferencia:
  • TED OUT — los fondos se retienen cuando la transferencia es confirmada (paso de proceso, vía pending: true), luego se debitan al recibir la confirmación de liquidación.
  • TED IN — los fondos se acreditan después de que la transferencia sea validada y confirmada por JD.
  • P2P — una única transacción de Midaz debita al remitente y acredita al destinatario de forma atómica.
Esto significa que cada transferencia queda completamente reflejada en su ledger de Midaz con un registro de transacción correspondiente. Consulte Datos y reportes de TED para los campos disponibles para la reconciliación.

Para desarrolladores


Arquitectura

El plugin utiliza arquitectura Hexagonal (Puertos y Adaptadores) combinada con CQRS. La lógica de negocio está aislada de la infraestructura, lo que facilita agregar nuevos adaptadores (por ejemplo, un proveedor SPB diferente) sin cambiar el comportamiento del núcleo.
Ted Architectural Pattern

Detección de duplicados

El plugin genera una clave de idempotencia a partir de SHA256(organizationId + senderAccountId + recipient + amount) y la almacena en Redis con un TTL configurable (por defecto: 60 segundos). Las solicitudes duplicadas dentro de la ventana son rechazadas con 409 Conflict y el código de error BTF-0012.

Aislamiento de datos multi-tenant

Todas las consultas a la base de datos son filtradas por organization_id. La caché de Redis usa prefijos de clave por tenant (tenant:{tenantId}:{key}) para prevenir fugas de datos entre organizaciones. El tenantId se extrae del claim JWT y se valida contra el header HTTP X-Tenant-Id en cada solicitud.

Observabilidad

El plugin expone métricas de Prometheus, logs JSON estructurados y trazas OpenTelemetry. Los endpoints de salud (GET /health/live, GET /health/ready) están disponibles sin autenticación para las sondas de liveness y readiness de Kubernetes. Estos son principalmente relevantes para despliegues BYOC.
Los endpoints de salud no requieren autenticación por diseño (para compatibilidad con sondas K8s). En despliegues BYOC, restrinja el acceso a estos endpoints a nivel de red (por ejemplo, mediante reglas de ingress o grupos de seguridad) para evitar exponer el estado de dependencias internas a internet público.