---
title: "Paso 4: Enviar al SII (obligatorio)"
description: "Cómo enviar el sobre al SII: las facturas, notas y guías con sii_dte/sendXmlDocument y las boletas con sii_boleta/sendXmlDocument, cómo elegir el ambiente y qué hacer con el Track ID."
type: "academy"
category: "lesson"
tags: []
authors: [Anonymous]
date: "2026-11-05"
last_update: "2026-11-05"
time_minutes: 5
draft: false
unlisted: false
url: "https://www.apigateway.cl/academy/emision-de-dte/emision/paso-4-enviar-al-sii"
---

# Paso 4: Enviar al SII (obligatorio)

Con el sobre firmado, lo envías al SII. El SII lo recibe, le asigna un **Track ID** y lo procesa en segundo plano. El resultado (aceptado o rechazado) se consulta después, en el [paso 5](https://www.apigateway.cl/academy/emision-de-dte/emision/paso-5-consultar-el-estado).

## Qué operación usar

El SII recibe las boletas por un servicio distinto al de los demás documentos, así que hay una operación para cada tipo de sobre:

| Sobre del paso 3 (`tag`) | Documentos | Operación |
|--------------------------|------------|-----------|
| `EnvioDTE` | Facturas, notas de crédito y débito, guías de despacho y demás DTE | `billing/integration/sii_dte/sendXmlDocument` |
| `EnvioBOLETA` | Boletas (`39` y `41`) | `billing/integration/sii_boleta/sendXmlDocument` |

Las dos reciben los mismos parámetros y entregan un Track ID.

## 4.1. Facturas, notas y guías

### La solicitud

```
POST https://app.apigateway.cl/api/v2/libredte/billing/integration/sii_dte/sendXmlDocument
```

```json
{
    "parameters": {
        "request": {
            "certificate": {
                "certificate": "-----BEGIN CERTIFICATE-----\nMIIG...\n-----END CERTIFICATE-----",
                "privateKey": "-----BEGIN PRIVATE KEY-----\nMIIE...\n-----END PRIVATE KEY-----"
            },
            "options": {
                "environment": 1
            }
        },
        "doc": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8RW52aW9EVEU...",
        "company": "88888888-8"
    }
}
```

| Parámetro | Qué es |
|-----------|--------|
| `request.certificate` | El certificado con que la API se autentica en el SII. |
| `request.options.environment` | El ambiente del SII: `1` certificación, `0` producción. |
| `doc` | El sobre `EnvioDTE` del [paso 3](https://www.apigateway.cl/academy/emision-de-dte/emision/paso-3-armar-el-sobre) (su campo `xml`), en base64. |
| `company` | El RUT de la empresa emisora. |
| `retries` | (Opcional) Cuántas veces reintentar si el SII no responde. Máximo `10`. |

### La respuesta

```json
{
    "data": {
        "track_id": 4753411374
    }
}
```

El **Track ID** es el comprobante de que el SII recibió el sobre. **Guárdalo inmediatamente** junto al documento: sin él no puedes consultar el resultado.

## 4.2. Boletas

### La solicitud

```
POST https://app.apigateway.cl/api/v2/libredte/billing/integration/sii_boleta/sendXmlDocument
```

Los parámetros son **los mismos de 4.1** (`request`, `doc`, `company` y `retries`). La diferencia está en `doc`: va el sobre `EnvioBOLETA` del [paso 3](https://www.apigateway.cl/academy/emision-de-dte/emision/paso-3-armar-el-sobre#un-sobre-por-tipo-de-documento).

### La respuesta

```json
{
    "data": {
        "track_id": 33790541,
        "status": "REC",
        "received_at": "2026-11-04T12:18:29-03:00",
        "rut_sender": "11222333-9",
        "rut_company": "88888888-8",
        "retry_after": 5,
        "location": "https://apicert.sii.cl/recursos/v1/boleta.electronica.envio/88888888-8-33790541",
        "rate_limit": {
            "limit": 10,
            "remaining": 10,
            "reset": 1
        },
        "file": "libredte_boleta.xml"
    }
}
```

| Campo | Qué es |
|-------|--------|
| `track_id` | El número de seguimiento del envío. **Guárdalo inmediatamente**: con él consultas el estado. |
| `status` | El estado del envío al recibirlo: `REC`, recibido. |
| `received_at` | Fecha y hora en que el SII recibió el sobre. |
| `rut_sender` | El RUT de quien envía: la persona del certificado. |
| `rut_company` | El RUT de la empresa emisora. |
| `retry_after` | Los segundos que el SII pide esperar **antes de consultar el estado** del envío. Es parte normal de la respuesta, no un error. Puede venir en `null`. |
| `rate_limit` | El límite de solicitudes que informa el servicio de boletas del SII: cuántas permite (`limit`), cuántas quedan (`remaining`) y en cuántos segundos se reinicia la cuenta (`reset`). Puede venir en `null`. |
| `location` | La ruta del SII para consultar el resultado del envío. No necesitas guardarla: el estado se consulta con el Track ID. |
| `file` | El nombre con que la API subió el archivo al SII. |

## Para los dos envíos

> [!WARNING] Indica siempre el ambiente
>
> Si no envías `options.environment`, el documento se envía a **producción**. Durante el desarrollo usa siempre `"environment": 1`, y asegúrate de que el CAF y la resolución sean del mismo ambiente al que envías.

> [!INFO] Recibido no es aceptado
>
> Que el SII entregue un Track ID solo significa que **recibió** el sobre. Todavía puede rechazarlo por un error en los datos, en la firma o en la carátula. Para saber el resultado tienes que consultar el estado.

## Errores frecuentes en este paso

| Situación | Causa probable | Qué hacer |
|-----------|----------------|-----------|
| `No fue posible obtener el token para autenticar en el SII al usuario ...` | El SII no aceptó el certificado: no es válido, está vencido, es autofirmado, o la persona no está registrada en el SII para la empresa. | Revisa el certificado y que esa persona sea usuario autorizado de la empresa en el SII. |
| Error al enviar el XML | El SII no respondió o rechazó el archivo al recibirlo. | Revisa el mensaje de `detail` y reintenta más tarde si es un problema del SII. |
| RUT inválido | `company` mal escrito. | Usa el RUT sin puntos y con guion. |
| `El XML es un EnvioBOLETA y no se puede enviar con el worker de DTE, las boletas se envían con el worker de boletas.` | Enviaste un sobre de boletas con `sii_dte`. | Envía los sobres `EnvioBOLETA` con `sii_boleta/sendXmlDocument`. Revisa el `tag` del sobre antes de elegir la operación. |
| Boletas: `rate_limit.remaining` en `0` | Usaste todas las solicitudes que permite el servicio de boletas del SII. | Espera los segundos de `rate_limit.reset` antes de volver a llamar. |

## Si el SII no está disponible

El SII a veces está lento o fuera de servicio. Como el documento ya está construido y firmado, no lo pierdes:

1. Guarda el documento con estado "error de envío".
2. Reintenta el envío más tarde (por ejemplo, cada 15 o 30 minutos) con un proceso automático.
3. Si los reintentos fallan por mucho tiempo, avisa a un responsable.

> [!WARNING] Nunca construyas de nuevo un documento solo porque falló el envío
>
> Si construyes de nuevo, obtienes otro XML con otra firma para el mismo folio. Reintenta el envío del **mismo sobre** que ya tenías.


---
Última actualización el 05/11/2026

