Cómo funciona
- Un cliente de otro banco inicia una transferencia TED hacia una de las cuentas de tu institución
- Cada 60 segundos (valor por defecto
JD_POLL_INTERVAL_SECONDS), el plugin consulta la red JD SPB en busca de transferencias entrantes nuevas - El plugin busca la cuenta del destinatario en tu CRM por el número de documento incluido en el mensaje de transferencia
- El plugin acredita la cuenta del destinatario automáticamente, menos la tarifa de cashin si configuraste una
Cronograma de detección y procesamiento
Las etapas a continuación muestran qué ocurre después de que el banco de origen envía la transferencia:
Tiempo típico: El crédito se completa dentro de un ciclo de polling. Con el intervalo de polling por defecto de 60 segundos, los fondos llegan en aproximadamente un minuto.
Estados de transferencia
Tarifa de recepción (cashin)
Tu organización puede cobrar una tarifa sobre las transferencias entrantes. Cuando la habilitas, el plugin deduce la tarifa del monto antes de acreditar al destinatario. El destinatario recibe el monto neto. Tú defines el monto y la configuración de la tarifa por organización a través del Fees Engine. Fórmula:
monto acreditado = monto de transferencia − tarifa
Ejemplo: una transferencia de R2,50 acredita R$997,50 en la cuenta del destinatario. Esto es lo opuesto a TED OUT, donde el plugin suma la tarifa al monto y el remitente paga más.
Qué ocurre cuando no se encuentra un destinatario
Si el plugin no puede asociar el número de documento de la transferencia entrante a una cuenta en tu CRM, devuelve la transferencia al banco de origen automáticamente. El cliente remitente recupera su dinero. Tu equipo no realiza ninguna acción, y ningún fondo queda sin contabilizar. El plugin registra el mensaje entrante como una transferencia entrante no entregable en el almacén
undeliverable_incoming_transfers. Luego despacha una devolução (devolución STR0010) al banco de origen. Esta ruta no crea un registro de transferencia acreditada con estado FAILED.
Consultar transferencias recibidas
Usa el endpoint List Transfers para recuperar todas las transferencias entrantes. Filtra por
type=TED_IN para ver solo las transferencias recibidas.
Endpoint: GET /v1/transfers
Respuesta (campos clave):
Endpoints operativos
Tres endpoints de operador controlan el bucle de polling de TED IN. Están dirigidos a scripts y runbooks, no al tráfico de usuario final.
Para el body de la solicitud, la respuesta, los códigos de estado y los códigos de error, consulta la especificación OpenAPI de TED (operaciones
triggerTEDInPoller, replayTEDInPoller y resumeTEDInPoller).
Tres caminos distintos de dead-letter
El plugin usa tres almacenes de fallas separados. No son intercambiables, y debes monitorear cada uno de forma independiente:
- JD parse failures — el plugin las almacena en
jd_incoming_parse_failures. El mensaje llegó desde JD, pero el plugin no pudo interpretarlo (XML mal formado, tipo de mensaje desconocido). Este almacén requiere triaje manual. - Transferencias entrantes no entregables — el plugin las almacena en
undeliverable_incoming_transfers. El parseo fue exitoso, pero el plugin no pudo aplicar el crédito (por ejemplo, no encontró la cuenta del destinatario). Esta ruta puede disparar una devolución automática al banco de origen. - Webhook DLQ — la cola de reintentos para entregas de webhook salientes fallidas, en
/v1/webhooks/dlq. No se relaciona con la ingesta de TED IN. Este es el canal de eventos saliente hacia los clientes integradores.
Webhooks
Configura un webhook para recibir notificaciones en tiempo real cuando lleguen transferencias. El evento
transfer_incoming.completed se activa en cuanto el plugin acredita una transferencia. Consulta Webhooks para detalles de configuración y del payload del evento.
Conciliación
Para la conciliación contable y financiera, cada registro de transferencia incluye estos campos:
El plugin conserva los registros de transferencia para conciliación y auditoría.
Garantías de procesamiento
El plugin se asegura de no perder ninguna transferencia y de no acreditar ninguna dos veces:
- Sin créditos duplicados — cada mensaje de transferencia lleva un número de secuencia único. El plugin rechaza cualquier intento de procesar el mismo mensaje dos veces.
- Reintento automático en caso de falla — el plugin reintenta los errores transitorios (como una interrupción momentánea del servicio) con retroceso exponencial antes de registrar cualquier estado de falla.
- Cola de mensajes no procesables — si el plugin no puede procesar una transferencia después de todos los reintentos, mueve la transferencia a una cola de mensajes no procesables para revisión manual. El plugin nunca descarta una transferencia de forma silenciosa.

