Emisión de DTE

Aprende desde cero a emitir facturas, boletas, notas de crédito, guías de despacho y otros documentos tributarios electrónicos desde tu software con API Gateway V2.

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.

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
{
    "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 (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

{
    "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.

La respuesta

{
    "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

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.

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.
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.

En esta página

Última actualización el 05/11/2026 por Anonymous