API Documentation
Referencia completa de la API REST para emitir documentos tributarios electrónicos.
Información General
Base URL
https://api.sii-api.cl/v1Protocolo
HTTPS (TLS 1.2+)Formato
JSON (application/json)Rate Limit
100 req/minAutenticación
Todas las peticiones autenticadas requieren el header X-API-Key con tu API Key. Puedes crear y gestionar tus keys desde la sección Tokens API.
sk_live_...Producción. Documentos reales al SII.
sk_test_...Desarrollo. Ambiente de certificación SII.
Ejemplo de autenticación
curl -X GET https://api.sii-api.cl/v1/businesses \
-H "X-API-Key: sk_live_tu_api_key" \
-H "Content-Type: application/json"Endpoints
Autenticación
/auth/login/auth/register/auth/refresh/auth/meEmpresas
/businesses/businesses/businesses/{id}/businesses/{id}/businesses/{id}/businesses/{id}/certificateDTEs (Documentos Tributarios)
/dte/emit/dte/dte/{id}/dte/{id}/status/dte/{id}/pdf/dte/{id}/xmlAPI Keys (Tokens)
/tokens/tokens/tokens/{id}Numeración (CAF / Folios)
/businesses/{id}/numerations/businesses/{id}/numerations/numerations/{id}Utilidades
/healthEmitir DTE
POST /dte/emit
Emite un nuevo documento tributario electrónico. Los datos del emisor se obtienen automáticamente de la empresa asociada a tu API Key.
Tipos de DTE soportados
Campos requeridos
Receptor
rut- RUT (12345678-9)razon_social- Razón socialgiro- Giro/actividad (facturas)direccion- Dirección (facturas)comuna- Comuna (facturas)
Items (detalle)
nombre- Nombre/descripcióncantidad- Cantidadprecio- Precio unitario netounidad- Unidad de medida (opc.)descuento_porcentaje- Descuento % (opc.)
Referencia (Notas)
tipo_doc- Tipo doc. referenciadofolio- Folio originalfecha- Fecha doc. originalrazon- Motivo de la nota
Solo requerido para Nota Crédito (61) y Nota Débito (56).
Ejemplos
Factura Electrónica (Tipo 33)
{
"tipo": 33,
"receptor": {
"rut": "76543210-K",
"razon_social": "Empresa Cliente SpA",
"giro": "Servicios de tecnología",
"direccion": "Av. Providencia 1234, Of. 567",
"comuna": "Providencia"
},
"items": [
{
"nombre": "Desarrollo de software",
"cantidad": 1,
"precio": 1500000,
"unidad": "Servicio"
},
{
"nombre": "Mantención mensual",
"cantidad": 3,
"precio": 200000,
"unidad": "Mes"
}
]
}Boleta Electrónica (Tipo 39)
{
"tipo": 39,
"receptor": {
"rut": "12345678-9",
"razon_social": "Juan Pérez"
},
"items": [
{
"nombre": "Café Americano Grande",
"cantidad": 2,
"precio": 2500
}
]
}Nota de Crédito (Tipo 61)
{
"tipo": 61,
"receptor": {
"rut": "76543210-K",
"razon_social": "Empresa Cliente SpA",
"giro": "Servicios de tecnología",
"direccion": "Av. Providencia 1234",
"comuna": "Providencia"
},
"referencia": {
"tipo_doc": 33,
"folio": 1234,
"fecha": "2024-01-15",
"razon": "Anulación por error en RUT"
},
"items": [
{
"nombre": "Desarrollo de software",
"cantidad": 1,
"precio": 1500000
}
]
}Respuestas y Errores
Respuesta exitosa
{
"success": true,
"data": {
"id": "dte_abc123xyz",
"tipo": 33,
"folio": 1234,
"fecha_emision": "2024-01-20T10:30:00Z",
"monto_neto": 2100000,
"monto_iva": 399000,
"monto_total": 2499000,
"estado": "ENVIADO",
"track_id": "123456789",
"pdf_url": "/v1/dte/dte_abc123xyz/pdf",
"xml_url": "/v1/dte/dte_abc123xyz/xml"
}
}Respuesta de error
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "El campo receptor.rut es requerido",
"details": {
"field": "receptor.rut",
"reason": "required"
}
}
}Códigos de estado HTTP
Paginación
Los endpoints que devuelven listas soportan paginación via query parameters.
pageNúmero de página (desde 1)
limitResultados por página (máx. 100)
tipoFiltrar por tipo de DTE
desdeFecha inicio (YYYY-MM-DD)
GET /v1/dte?page=1&limit=20&tipo=33&desde=2024-01-01
Response:
{
"success": true,
"data": [...],
"pagination": {
"page": 1,
"limit": 20,
"total": 150,
"total_pages": 8
}
}Webhooks
Notificaciones en tiempo real
Recibe eventos automáticos cuando cambia el estado de tus DTEs.
Configura un URL de webhook para recibir notificaciones POST cuando un DTE cambie de estado (aceptado, rechazado, con reparos). El payload incluye el ID del documento y su nuevo estado.
Ejemplo de payload webhook
{
"event": "dte.status_changed",
"data": {
"dte_id": "dte_abc123xyz",
"tipo": 33,
"folio": 1234,
"old_status": "ENVIADO",
"new_status": "ACEPTADO",
"timestamp": "2024-01-20T15:30:00Z"
}
}Los webhooks se configuran desde la sección de Configuración de tu empresa. Asegúrate de que tu endpoint responda con un código 200 dentro de 10 segundos.