Emite documentos tributarios desde tu software sin construir todo desde cero
Conecta tu ERP, ecommerce, app de ventas o sistema interno con SUPOS para emitir boletas y facturas electrónicas usando certificado, CAF, folios, firma XML, envío al SII y trazabilidad multiempresa desde nuestra infraestructura. Un solo endpoint recibe el DTE solicitado y SUPOS separa internamente el flujo de boletas o facturas según documento.tipo.
La API tributaria de SUPOS permite que sistemas externos emitan DTE sin resolver internamente firma, CAF, folios, ambiente de certificación, ambiente productivo y seguimiento SII. Esto ayuda a salir antes a producción, reducir errores tributarios y dejar cada emisión trazable para clientes, integradores y empresas con operación real.
Imagen referencial de integración tributaria
Base URL
https://www.supos.cl/api/public/v1
POST /documentos/validate
Valida estructura para 33, 34, 39 o 41 sin emitir.
POST /documentos/simulate
Simula respuesta sin folio, XML ni SII.
POST /documentos
Emite según API Key: sandbox a SII certificación, live a SII producción. Sandbox también usa certificado y CAF reales de certificación.
GET /documentos/{id}
Consulta estado por document_id o external_id.
POST /boletas
Alias compatible para integraciones existentes.
Certificación por tipo
Sandbox emite documentos reales contra SII certificación y requiere certificado digital con folios CAF configurados. Producción exige boleta_certificada o factura_certificada según el DTE.
Un endpoint DTE
Envía tipo 39/41 para boletas o 33/34 para facturas. SUPOS selecciona el endpoint SII correcto y mantiene el contrato público estable.
Trazabilidad completa
Cada request queda logueado con empresa, external_id, estado SII, folio, track ID, XML y documento emitido.
Qué clave necesitas para cada operación
El integrador administra una cartera de empresas. Sus credenciales de consulta y las claves de emisión por contribuyente tienen funciones diferentes; no son intercambiables.
supos_read_…
Consulta del integrador
Consulta empresas autorizadas, datos tributarios, consumo, liquidaciones e historial de webhooks. No emite documentos y no corresponde a un ambiente sandbox o producción.
Mi servicio API → Integración y facturación → Crear clave de consulta.
supos_sandbox_…
Emisión en certificación
Se asocia a una empresa y permite emitir contra SII certificación. Requiere sus datos tributarios, certificado y CAF de certificación. Sandbox no es la simulación sin emisión.
Mi servicio API → Contribuyentes → API keys de la empresa → Sandbox / certificación.
supos_live_…
Emisión en producción
Se asocia a una empresa y permite emitir documentos reales en producción. Requiere contratación vigente y habilitación tributaria del contribuyente.
Mi servicio API → Contribuyentes → API keys de la empresa → Producción.
Consultar la cartera
GET https://supos.cl/api/public/integrator.php?action=contributors
Authorization: Bearer supos_read_xxx
Otras consultas: action=contributor&empresa_id=ID, action=billing&period=YYYY-MM y action=webhooks.
Emitir para una empresa en certificación
POST https://www.supos.cl/api/public/v1/documentos
Authorization: Bearer supos_sandbox_xxx
Crea o vincula primero al contribuyente. La clave supos_read_ no sirve para esta operación.
XML, TED y vista previa: GET https://supos.cl/api/public/document.php?id=ID&format=xml (también ted o preview), usando la clave de emisión de la empresa y ambiente correspondientes. Tu ERP genera la impresión o PDF a partir de esos datos.
Las claves completas se muestran una sola vez. Conserva cada credencial en el backend de tu SaaS. Si tu empresa usa un plan ERP, accede al servicio desde Configuración → Integraciones → API e integradores; SUPOS lo administra desde Super Admin.
Para revisar antes de integrar
Qué conviene revisar antes de usar la API tributaria
La integración conviene validarla con una empresa, certificado digital, CAF, tipos de DTE, payloads reales de negocio, estados SII y trazabilidad esperada. Así el paso desde sandbox a producción queda más claro para el equipo técnico y para la operación comercial.
Coordinar clave live, certificación habilitada y primeros documentos reales.
cURL boleta 39
curl -X POST https://www.supos.cl/api/public/v1/documentos \
-H "Authorization: Bearer supos_sandbox_xxx" \
-H "Content-Type: application/json" \
-d '{"external_id":"pedido-10023","documento":{"tipo":39,"fecha_emision":"2026-10-13","forma_pago":"EFECTIVO"},"receptor":{"rut":"66666666-6","razon_social":"Cliente Final","direccion":"Sin dirección","comuna":"Santiago","ciudad":"Santiago"},"items":[{"nombre":"Producto de prueba","cantidad":1,"precio_unitario":11900,"exento":false}],"totales":{"monto_total":11900}}'
cURL factura 33
curl -X POST https://www.supos.cl/api/public/v1/documentos \
-H "Authorization: Bearer supos_sandbox_xxx" \
-H "Content-Type: application/json" \
-d '{"external_id":"pedido-factura-10024","documento":{"tipo":33,"fecha_emision":"2026-10-13","forma_pago":"TRANSFERENCIA"},"receptor":{"rut":"76000000-0","razon_social":"EMPRESA DEMO SPA","giro":"VENTA AL POR MENOR EN COMERCIOS ESPECIALIZADOS","direccion":"Avenida Ejemplo 123","comuna":"Santiago","ciudad":"Santiago"},"items":[{"nombre":"Producto facturable","cantidad":1,"precio_unitario":35000,"exento":false}],"totales":{"monto_total":35000}}'
cURL simulación
curl -X POST https://www.supos.cl/api/public/v1/documentos/simulate \
-H "Authorization: Bearer supos_sandbox_xxx" \
-H "Content-Type: application/json" \
-d '{"external_id":"pedido-10023","documento":{"tipo":39,"fecha_emision":"2026-10-13","forma_pago":"EFECTIVO"},"receptor":{"rut":"66666666-6","razon_social":"Cliente Final","direccion":"Sin dirección","comuna":"Santiago","ciudad":"Santiago"},"items":[{"nombre":"Producto de prueba","cantidad":1,"precio_unitario":11900,"exento":false}],"totales":{"monto_total":11900}}'
cURL productivo
curl -X POST https://www.supos.cl/api/public/v1/documentos \
-H "Authorization: Bearer supos_live_xxx" \
-H "Content-Type: application/json" \
-d '{"external_id":"pedido-10023","documento":{"tipo":39,"fecha_emision":"2026-10-13","forma_pago":"EFECTIVO"},"receptor":{"rut":"66666666-6","razon_social":"Cliente Final","direccion":"Sin dirección","comuna":"Santiago","ciudad":"Santiago"},"items":[{"nombre":"Producto de prueba","cantidad":1,"precio_unitario":11900,"exento":false}],"totales":{"monto_total":11900}}'
Sandbox emite documentos reales contra SII certificación. Para probar, se requiere certificado digital y folios CAF de certificación configurados en SUPOS.
La emisión productiva requiere clave live, empresa en PRODUCCIÓN y certificación habilitada para el tipo de DTE solicitado: boleta_certificada para 39/41 o factura_certificada para 33/34.
Los precios enviados son brutos en CLP. Para facturas afectas, SUPOS transforma internamente el total a neto e IVA antes de construir el XML tributario.
Contrato del payload
No enviar emisor: SUPOS lo obtiene desde la API Key.
Enviar receptor: para factura se exige RUT, razón social, giro, dirección y comuna.
Enviar items: nombre, cantidad, precio unitario, descuento o monto total.
Tester de payload
Valida estructura, simula sin SII o emite una prueba real contra SII certificación usando una clave sandbox. Puedes pegar payloads tipo 39, 41, 33 o 34.
Ejecuta una validación para ver la respuesta aquí.
Contrato JSON
El emisor no viaja en el payload. SUPOS lo resuelve desde la API Key y aplica certificado, folios y ambiente SII según el tipo de clave.
Campo
Tipo
Detalle
external_id
string
Opcional recomendado. Identificador único de la venta en el sistema externo. Evita duplicados.
documento.tipo
33 | 34 | 39 | 41
Opcional para boletas. 39 boleta afecta, 41 boleta exenta, 33 factura afecta y 34 factura exenta.
documento.fecha_emision
YYYY-MM-DD
Opcional. Si no viene, SUPOS usa la fecha actual del servidor.
documento.forma_pago
string
Opcional. Ej: EFECTIVO, TARJETA, TRANSFERENCIA.
receptor.rut
string
Opcional en boleta, obligatorio en factura. Si no viene para boleta se usa 66666666-6.
receptor.razon_social
string
Opcional en boleta, obligatorio en factura.
receptor.giro
string
Obligatorio para facturas 33/34.
receptor.direccion
string
Obligatorio para facturas 33/34. Recomendado para boletas con cliente identificado.
receptor.comuna
string
Obligatorio para facturas 33/34.
receptor.ciudad
string
Opcional. Si no viene, SUPOS usa la ciudad de la empresa o Santiago.
items[].nombre
string
Obligatorio. Nombre o descripción corta del producto o servicio.
items[].cantidad
number
Obligatorio. Debe ser mayor a 0.
items[].precio_unitario
number
Obligatorio si no envías monto_total de línea. Valores brutos en CLP; SUPOS calcula neto e IVA para DTE afectos.
items[].exento
boolean
Opcional. Marca la línea como exenta. En tipo 34/41 todo el documento queda exento.
totales.monto_total
number
Opcional. Si no viene, SUPOS calcula el total desde los items.
Errores y reglas
HTTP 401
API Key requerida, inválida o revocada.
HTTP 403
Empresa no habilitada, bloqueada, sin certificado/CAF de certificación para sandbox o sin certificación productiva para live.
HTTP 409
External ID duplicado o folios no disponibles.
HTTP 422
Payload inválido: items vacíos, cantidades o precios incorrectos.
HTTP 429
Rate limit por IP o API Key.
Usa un `external_id` único por venta. Si reintentas la misma venta, SUPOS puede detectar el duplicado y devolver el documento ya registrado.
Para usar la API, la empresa debe estar habilitada tributariamente en SUPOS. Sin certificado y CAF de certificación no podrá emitir en sandbox; sin certificación productiva no podrá emitir con clave live.
En Windows/Git Bash, si `curl` responde `CRYPT_E_NO_REVOCATION_CHECK`, agrega --ssl-no-revoke al comando. Es una validación local de revocación del certificado, no una respuesta de la API.
Respuesta de emisión
Cuando usas POST /documentos, SUPOS devuelve los datos necesarios para que tu sistema registre la operación y pueda conciliarla con el documento emitido.
success: indica si el envío fue aceptado o quedó controlado como pendiente.
folio: folio tributario asignado desde CAF.
track_id: identificador de seguimiento devuelto por SII cuando existe.
ted/timbre: datos para construir el timbre electrónico/PDF417 en representaciones impresas.
external_id: tu identificador original para idempotencia y trazabilidad.