webFactura
← Volver al blog
Integraciones

¿Cómo emitir DTE por API en Chile? Guía práctica para desarrolladores

Aprende cómo emitir facturas, boletas y guías de despacho electrónicas por API REST en Chile. Autenticación OAuth 2.0, ejemplos de código y tipos de DTE soportados.

Equipo webFactura · 14 de marzo de 2026

Si tu empresa tiene un sistema propio — ERP, e-commerce, plataforma SaaS o cualquier software a medida — integrar la emisión de documentos tributarios electrónicos (DTE) por API es la forma más eficiente de automatizar la facturación sin depender de interfaces manuales.

Esta guía explica cómo funciona la API REST de webFactura: autenticación, tipos de DTE disponibles, emisión unitaria y masiva, y consulta de estado ante el SII.

¿Qué DTE se pueden emitir por API?

La API de webFactura soporta todos los tipos de documentos tributarios electrónicos vigentes en Chile:

Código SIITipo de documento
33Factura electrónica afecta
34Factura electrónica exenta
39Boleta electrónica afecta
41Boleta electrónica exenta
43Liquidación-Factura electrónica
46Factura de compra electrónica
52Guía de despacho electrónica
56Nota de débito electrónica
61Nota de crédito electrónica
110Factura de exportación electrónica
111Nota de débito de exportación electrónica
112Nota de crédito de exportación electrónica

Autenticación: OAuth 2.0

La API usa OAuth 2.0 con Client Credentials. Primero obtienes un access_token con tus credenciales y lo usas en cada request posterior.

POST https://api.webfactura.cl/oauth/token
Content-Type: application/json

{
  "client_id": "tu_client_id",
  "client_secret": "tu_client_secret",
  "grant_type": "client_credentials"
}

Respuesta:

{
  "access_token": "eyJhbGciOiJSUzI1NiJ9...",
  "token_type": "Bearer",
  "expires_in": 3600
}

El token expira en 1 hora. Todos los endpoints requieren el header:

Authorization: Bearer eyJhbGciOiJSUzI1NiJ9...

Emisión unitaria: un DTE por request

El endpoint principal para emitir un documento individual es POST /dte/emitir. El cuerpo del request describe el receptor y el detalle del documento.

Ejemplo: emitir una factura electrónica (tipo 33)

POST /dte/emitir
Authorization: Bearer {token}
Content-Type: application/json

{
  "tipoDte": 33,
  "receptor": {
    "rut": "76543210-K",
    "razonSocial": "Empresa Ejemplo SpA",
    "giro": "Comercio al por mayor",
    "direccion": "Av. Providencia 1234, Santiago"
  },
  "detalle": [
    {
      "nombre": "Licencia software anual",
      "cantidad": 1,
      "precio": 500000
    },
    {
      "nombre": "Soporte técnico mensual",
      "cantidad": 3,
      "precio": 80000
    }
  ]
}

Respuesta:

{
  "folio": 2048,
  "tipoDte": 33,
  "estado": "ACEPTADO",
  "fechaEmision": "2026-03-15",
  "pdf": "https://api.webfactura.cl/dte/2048/pdf",
  "xml": "https://api.webfactura.cl/dte/2048/xml"
}

El documento queda registrado en el SII en el mismo request. La respuesta incluye el folio asignado, el PDF para enviar al cliente y el XML para respaldo.

Emisión masiva: sobre de DTE

Para sistemas con alto volumen — e-commerce con muchas ventas simultáneas, facturación recurrente o emisión de boletas en punto de venta — existe el endpoint POST /dte/sobre, que agrupa múltiples documentos en un solo request.

POST /dte/sobre
Authorization: Bearer {token}
Content-Type: application/json

{
  "documentos": [
    {
      "tipoDte": 39,
      "receptor": { "rut": "12345678-9", "razonSocial": "Cliente 1" },
      "detalle": [{ "nombre": "Producto A", "cantidad": 2, "precio": 15000 }]
    },
    {
      "tipoDte": 39,
      "receptor": { "rut": "98765432-1", "razonSocial": "Cliente 2" },
      "detalle": [{ "nombre": "Producto B", "cantidad": 1, "precio": 32000 }]
    }
  ]
}

El sobre se procesa de forma asíncrona. La API retorna un sobreId que puedes usar para consultar el resultado de cada documento una vez procesado.

Consultar estado ante el SII

Una vez emitido el documento, puedes consultar su estado en el SII con:

GET /dte/{folio}/estado
Authorization: Bearer {token}

Respuesta posible:

{
  "folio": 2048,
  "tipoDte": 33,
  "estado": "ACEPTADO",
  "glosa": "Documento aceptado por el SII",
  "fechaAcuse": "2026-03-15T14:32:00"
}

Los estados posibles son ACEPTADO, RECHAZADO y PENDIENTE. En caso de rechazo, la respuesta incluye el código y glosa de error del SII para que puedas corregir y reemitir.

¿Para quién está pensada la API?

La API de webFactura está orientada a empresas y equipos técnicos que necesitan control total sobre la emisión de DTE sin depender de una interfaz manual. Es especialmente útil cuando:

  • Tienes un sistema propio (ERP, CRM, plataforma interna) que debe emitir documentos automáticamente
  • Tu operación genera alto volumen de documentos y el proceso manual no escala
  • Necesitas que la facturación esté integrada en tu flujo de negocio: una venta aprobada, un despacho completado o un cobro procesado genera el DTE de forma inmediata
  • Tienes un equipo de desarrollo que puede consumir una API REST estándar

No se requiere experiencia previa en facturación electrónica chilena — la API abstrae toda la complejidad del SII: folios, timbre electrónico, firma digital y envío al Servicio de Impuestos Internos quedan a cargo de webFactura.

Beneficios de integrar por API

Automatización sin intervención manual Cada evento en tu sistema — una venta, una orden aprobada, un despacho — genera automáticamente el DTE correspondiente. Se eliminan los errores de digitación y los documentos que quedan sin emitir.

Velocidad de respuesta La emisión es sincrónica en el caso unitario: envías el request y en la misma respuesta recibes el folio, el PDF y el XML. No hay pasos intermedios ni esperas.

Escalabilidad Con el endpoint de sobre (batch), puedes emitir decenas o cientos de documentos en un solo request. Ideal para empresas con picos de volumen o procesos de facturación recurrente.

Trazabilidad completa Cada DTE emitido queda registrado con su estado ante el SII. Puedes consultar en cualquier momento si un documento fue aceptado, rechazado o está pendiente, e integrarlo en tus propios reportes.

Compatibilidad universal La API es REST con formato JSON y autenticación OAuth 2.0 — los estándares más usados en la industria. Es compatible con cualquier lenguaje: Python, PHP, Node.js, Java, .NET, Ruby y más.

Casos de uso frecuentes

ERP conectado a facturación Empresas con SAP Business One, Microsoft Dynamics, Softland u otros sistemas de gestión que necesitan emitir facturas y guías de despacho directamente desde su ERP, sin doble digitación.

E-commerce con facturación automática Tiendas en Shopify, WooCommerce o Jumpseller que generan automáticamente la boleta o factura de cada venta online, en el momento del pago, y la envían por email al cliente.

Plataformas SaaS que facturan a sus clientes Empresas de software que emiten facturas recurrentes a sus suscriptores de forma automática cada mes, sin intervención del equipo de administración.

Sistemas de punto de venta (POS) Locales con alto flujo de ventas que necesitan emitir boletas electrónicas en tiempo real desde su sistema de caja, con impresión directa o envío por email.

Operaciones logísticas con guías de despacho Empresas de distribución que generan guías de despacho automáticamente al momento de preparar un pedido en bodega, antes de que el vehículo salga.

¿Por dónde empezar?

  1. Solicita tus credenciales — contacta al equipo de webFactura para obtener tu client_id y client_secret.
  2. Prueba en sandbox — antes de producción, valida tu integración en el ambiente de certificación del SII.
  3. Descarga la colección Postman — disponible bajo solicitud, incluye todos los endpoints con ejemplos listos para importar.
  4. Revisa la documentación técnica — en webfactura.cl/api/docs encontrarás la referencia completa de endpoints.

¿Tienes dudas técnicas o quieres coordinar una integración a medida? Contáctanos y nuestro equipo te acompaña en el proceso.

¿Quieres simplificar tu facturación?

Agenda una demo y te mostramos webFactura en 30 minutos.

Soporte Agendar demo Hablar con Ventas