> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Enviar (TED OUT)

> Envía transferencias TED a cualquier banco brasileño con un flujo de dos pasos, iniciar y confirmar: vista previa de la comisión, liquidación el mismo día y cumplimiento BACEN.

TED OUT permite que tus clientes envíen dinero a cualquier cuenta de cualquier banco brasileño. El flujo de dos pasos, iniciar y luego confirmar, deja que el cliente revise la comisión antes de que el sistema comprometa la transferencia.

## Cómo funciona para tu cliente

***

**Paso 1: ingresar los datos y revisar la comisión**
El cliente entrega los datos bancarios del destinatario y el monto. El sistema calcula la comisión y devuelve el costo total antes de debitar nada. El cliente ve exactamente lo que va a pagar.

**Paso 2: confirmar y enviar**
Después de que el cliente confirma, el sistema debita los fondos (monto + comisión) de su cuenta. Envía la transferencia por el gateway SPB de JD hacia la red de BACEN y emite un número de confirmación de inmediato.

## Requisitos previos

***

Antes de iniciar una transferencia:

* El remitente debe tener una cuenta registrada en el CRM.
* El saldo del remitente debe cubrir el monto de la transferencia más la comisión aplicable.
* Debes solicitar la transferencia en un día hábil, entre las 06:30 y las 17:00 (hora de Brasília).

## Paso 1: iniciar la transferencia

***

El cliente envía los datos del destinatario y el monto. El sistema valida la solicitud, calcula la comisión y crea una intención de transferencia válida por 24 horas. El sistema no mueve fondos en esta etapa.

Consulta la especificación completa de la solicitud en la referencia [Initiate Transfer](/es/reference/interfaces/ted-jd/initiate-transfer).

**Endpoint:** POST /v1/transfers/initiate

**Respuesta (campos clave):**

```json theme={null}
{
  "initiationId": "019c96a0-aa10-7abc-d1e2-8c9d0e1f2a3b",
  "feeAmount": 1.50,
  "totalAmount": 1001.50,
  "status": "PENDING_CONFIRMATION",
  "expiresAt": "2026-02-06T15:30:00-03:00"
}
```

<Note>
  **Dirección de la comisión (cash-out):** en las transferencias TED OUT y P2P, el plugin suma la comisión encima del monto de la transferencia, de modo que `totalAmount = amount + feeAmount`. El plugin debita la cuenta del remitente por el total completo. TED IN funciona al revés y descuenta la comisión del monto recibido.
</Note>

<Warning>
  La intención de transferencia expira 24 horas después de la iniciación. Si el cliente no confirma dentro de esa ventana, crea una nueva iniciación.
</Warning>

## Paso 2: confirmar la transferencia

***

Después de que el cliente revisa la comisión y confirma, envía el `initiationId` para procesar la transferencia. El sistema provisiona los fondos y manda el pago a la red de BACEN.

La mayoría de las integraciones procesan la transferencia solo con el `initiationId`. Algunos tenants firman los payloads de TED OUT fuera del plugin. Esos tenants llaman primero a `POST /v1/transfers/signing/prepare`. Después envían `signingArtifactId`, `payloadHash` y `signature` con el mismo `initiationId`.

Consulta la especificación completa de la solicitud en la referencia [Process Transfer](/es/reference/interfaces/ted-jd/process-transfer).

**Endpoint:** POST /v1/transfers/process

**Respuesta (campos clave):**

```json theme={null}
{
  "transferId": "019c96a0-ab10-7cde-f1a2-0e1f2a3b4c5d",
  "confirmationNumber": "20260205001",
  "status": "PROCESSING",
  "feeAmount": 1.50,
  "totalAmount": 1001.50
}
```

## Cronología de liquidación

***

<Steps>
  <Step title="Enviada">
    El sistema provisiona los fondos y envía la transferencia a la red de BACEN. Estado: `PROCESSING`.
  </Step>

  <Step title="Liquidada">
    El banco de destino confirma la liquidación. Estado: `COMPLETED`.
  </Step>

  <Step title="Estado disponible">
    El plugin expone el estado `COMPLETED` a través de las APIs de transferencia y de conciliación. Todavía no emite `transfer.completed` para TED OUT.
  </Step>
</Steps>

TED liquida el mismo día (D+0) para las transferencias enviadas antes de las 17:00 hora de Brasília.

## Horarios de operación

***

<Warning>
  Solicita transferencias TED solo en días hábiles, 06:30–17:00 (Brasília, UTC-3, de forma predeterminada). El plugin rechaza de inmediato cualquier transferencia fuera de esta ventana y no mueve fondos. También rechaza los feriados bancarios de BACEN. La respuesta de error indica el siguiente horario disponible.
</Warning>

## Manejo de errores

***

El plugin siempre da cuenta del dinero de tu cliente cuando algo sale mal:

<AccordionGroup>
  <Accordion title="Transferencia rechazada por el banco de destino">
    La institución receptora rechaza la transferencia. El plugin libera de inmediato los fondos provisionados y devuelve el monto completo, incluida la comisión, al saldo del remitente. Estado: `REJECTED`. El plugin envía un webhook `transfer.rejected`.
  </Accordion>

  <Accordion title="Problema temporal de red">
    El plugin reintenta automáticamente, hasta tres intentos de forma predeterminada. Si el resultado sigue siendo desconocido después de los reintentos (un 5xx o un timeout de JD SPB), el plugin no revierte la transferencia por su cuenta. Mantiene la retención y entrega la transferencia al worker de conciliación, que la resuelve contra el ledger. Si la conciliación se queda sin intentos, el plugin marca la transferencia para revisión manual de un operador (`MANUAL_REVIEW`). El plugin nunca pierde los fondos, pero la resolución puede tardar. Un rechazo 4xx claro es distinto: revierte la retención de inmediato (ver el caso de rechazo de arriba).
  </Accordion>

  <Accordion title="Retorno del banco de destino">
    El banco de destino puede devolver los fondos después de la liquidación, por ejemplo por cierre de cuenta o una retención regulatoria. El plugin revierte el monto en tu ledger como una transacción separada. Este retorno queda fuera del ciclo de vida de la transferencia. El registro de la transferencia original sigue en `COMPLETED` y el plugin crea un nuevo registro de reversión.
  </Accordion>
</AccordionGroup>

<Note>
  Cada solicitud de transferencia que modifica datos debe incluir un header `X-Idempotency` (máximo 255 caracteres). Reusa la misma clave cuando reintentes una solicitud para evitar envíos duplicados. Consulta [Reintentos e idempotencia](/es/reference/retries-idempotency) para los detalles.
</Note>

Para una lista completa de los códigos de error, consulta la [referencia de errores de TED](/es/reference/interfaces/ted-jd/ted-error-list).

## Consultar el estado de la transferencia

***

Sigue el avance de una transferencia en cualquier momento.

**Endpoint:** [GET /v1/transfers/{transferId}](/es/reference/interfaces/ted-jd/retrieve-transfer)

**Respuesta (campos clave):**

```json theme={null}
{
  "transferId": "019c96a0-ab10-7cde-f1a2-0e1f2a3b4c5d",
  "confirmationNumber": "20260205001",
  "senderAccountId": "019c96a0-a910-7abc-d1e2-8c9d0e1f2a3b",
  "type": "TED_OUT",
  "status": "COMPLETED",
  "amount": 1000.00,
  "feeAmount": 1.50,
  "totalAmount": 1001.50,
  "createdAt": "2026-02-05T15:30:00-03:00",
  "completedAt": "2026-02-05T15:35:12-03:00"
}
```

## Cancelar una transferencia

***

Puedes cancelar una transferencia mientras está en estado `CREATED` o `PENDING`, antes de que el plugin la envíe a la red.

**Endpoint:** [POST /v1/transfers/{transferId}/cancel](/es/reference/interfaces/ted-jd/cancel-transfer)

<Warning>
  No puedes cancelar una transferencia en `PROCESSING` ni en un estado posterior. Después de que el plugin la envía a la red de BACEN, la transferencia debe completarse o fallar antes de cualquier reversión.
</Warning>

## Códigos ISPB comunes

***

*Última verificación: 2026-02-06. Los valores están sujetos a cambios.*

| Banco           | ISPB     |
| --------------- | -------- |
| Banco do Brasil | 00000000 |
| Bradesco        | 60746948 |
| Itaú            | 60701190 |
| Santander       | 90400888 |
| Caixa Econômica | 00360305 |
| Nubank          | 18236120 |
| Inter           | 00416968 |

Para la lista completa, consulta el [directorio de ISPB](https://www.bcb.gov.br/pom/spb/estatistica/port/AODO.asp) en el sitio del Banco Central.
