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

# Reenviar un DE colgado o rechazado

> Reintentar el envío a SIFEN sin cambiar el contenido.

El **reenvío** reencola un DE para enviar a SIFEN sin modificar su contenido. Es para casos donde el primer intento no llegó a un estado final por causas transitorias o cuando un rechazo se debe a algo que ya se resolvió fuera del request.

## Cuándo reenviar

| Estado                               | Causa probable                                                       | Acción                                                                                       |
| ------------------------------------ | -------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| **`P`** o **`E`** durante > 1 minuto | SIFEN estaba caído al primer intento, o el callback async se perdió. | **Reenviar**                                                                                 |
| **`R`** por razón transitoria        | Padrón DNIT caído momentáneamente, RUC del receptor pasó a activo.   | **Reenviar**                                                                                 |
| **`R`** por error en datos           | RUC mal, montos mal, dirección mal.                                  | **NO reenviar** — usar [`/emitir?edit_cdc=...`](/api-reference/emitir) con datos corregidos. |
| **`A`** o **`C`**                    | Estado final.                                                        | No aplica.                                                                                   |

## Diferencia con edición

|                  | Reenviar                     | Edit (`edit_cdc`)                        |
| ---------------- | ---------------------------- | ---------------------------------------- |
| Cambia contenido | ❌                            | ✅                                        |
| Nuevo CDC        | ❌ (mismo CDC)                | ✅ (regenerado)                           |
| Caso de uso      | Reintento puro (mismo XML)   | Corregir datos antes del segundo intento |
| Endpoint         | `POST /v1/de/{cdc}/reenviar` | `POST /v1/de/emitir?edit_cdc=<cdc>`      |

## Ejemplo

```bash theme={null}
export EMITI_BASE_URL="https://api.emiti.fravelabs.com"
export EMITI_API_KEY="emiti_k_xxxxxxxxxxxxxxxxxxxxxxxx"
export CDC="01548730457001001000000112026061712345678X"

curl -s "$EMITI_BASE_URL/v1/de/$CDC/reenviar" \
  -X POST \
  -H "Authorization: ApiKey $EMITI_API_KEY"
```

Response (aceptado):

```json theme={null}
{
  "cdc": "01548730457...",
  "estado": "P",
  "reenvios": 1
}
```

El campo `reenvios` cuenta cuántos reintentos lleva el DE. Después de varios reintentos sin éxito, dejá de insistir y investigá el `resp.codigo` de SIFEN — probablemente sea un error no transitorio que requiere edición o cancelación.

## Estrategia recomendada

1. **Polling normal** después de emitir: 2–5 segundos los primeros 30 segundos.
2. **Si pasa 1 minuto en `P` o `E`**: 1 reenvío.
3. **Si rechaza con código transitorio** (`SIFEN_NO_DISPONIBLE`, errores 0710/0711 de timeout de SIFEN): hasta 2 reenvíos con espera de \~30 s entre intentos.
4. **Si rechaza con código de datos** (`0500` RUC cancelado, `0142` cert, `0400` timbrado): NO reenviar — resolver el problema raíz (datos del cliente, certificado, timbrado) y editar (`edit_cdc`) o emitir nuevo.

## Errores típicos

| Status | Causa                                                  |
| ------ | ------------------------------------------------------ |
| `400`  | El DE está en estado `A` o `C` — no se puede reenviar. |
| `409`  | Ya hay un reintento en curso para este DE.             |
| `404`  | CDC no existe o pertenece a otro tenant.               |
