Integración con la API
Emisión en 3 pasos
En esta lección aprenderás cómo emitir un Documento Tributario Electrónico (DTE) paso a paso utilizando la API de LibreDTE. El flujo general consta de 3 pasos obligatorios para crear el DTE:
- Emitir un DTE temporal.
- Generar el DTE real desde el temporal.
- Obtener el PDF del documento.
- (Opcional) Enviar el DTE por correo electrónico o verificar su estado.
Paso 1: Emitir un DTE temporal
Este paso permite crear un DTE en estado de borrador o cotización, sin enviarlo aún al SII.
Endpoint
POST https://libredte.cl/api/dte/documentos/emitir?normalizar=1&formato=json&links=0&email=0
Parámetros disponibles
Parámetro | Tipo | Descripción |
---|---|---|
normalizar |
int | 1 para activar la normalización automática de montos (recomendado). |
formato |
string | Formato de los datos: json (por defecto), xml o yaml . |
links |
int | 1 si quieres que se retornen enlaces asociados al documento. |
email |
int | 1 si quieres que se envíe el DTE automáticamente por correo electrónico. |
Ejemplo de JSON para boleta electrónica
{
"Encabezado": {
"IdDoc": {
"TipoDTE": 39
},
"Emisor": {
"RUTEmisor": "76123456-9"
},
"Receptor": {
"RUTRecep": "11222333-4",
"RznSocRecep": "Juan Pérez",
"GiroRecep": "Informática",
"DirRecep": "Domicilio de Juan 123",
"CmnaRecep": "Santa Cruz"
}
},
"Detalle": [
{
"NmbItem": "Conectores RJ45",
"QtyItem": 450,
"PrcItem": 70
}
]
}
En este ejemplo no se incluyen totales ni IVA. Si tienes activada la opción normalizar=1
, estos se calcularán automáticamente.
Paso 2: Generar DTE real desde el temporal
Este paso toma el documento temporal creado en el paso anterior y lo convierte en un DTE real y válido ante el SII.
Endpoint
POST https://libredte.cl/api/dte/documentos/generar?getXML=0&links=0&email=0&retry=10&gzip=0
Parámetros disponibles
Parámetro | Tipo | Descripción |
---|---|---|
getXML |
int | 1 si deseas recibir el XML en la respuesta. |
links |
int | 1 para incluir enlaces al DTE. |
email |
int | 1 para enviar el documento por correo. |
Body esperado
{
"emisor": 76123456,
"receptor": 66666666,
"dte": 39,
"codigo": "557ccc1706a77a212354d0f1734fd0adc"
}
Este body corresponde a la respuesta del endpoint de emisión temporal.
Paso 3: Obtener el PDF del DTE
Una vez generado el documento real, puedes obtener su representación visual en PDF.
Endpoint
GET https://libredte.cl/api/dte/dte_emitidos/pdf/:dte/:folio/:emisor?formato=general&papelContinuo=0
Parámetros importantes
-
formato
: puede serestandar
,general
oservicios_basicos
. -
papelContinuo
: define el tipo de hoja:0
: hoja carta80
: rollo 80mm57
: rollo 57mm
La respuesta será el binario del PDF.
Agregar datos personalizados
LibreDTE te permite agregar información adicional al DTE que no se envía al SII, pero sí aparece en el PDF. Ejemplos:
- Condiciones de pago.
- Gráficos.
- Información interna o personalizada.
Ejemplo de datos extra
{
"LibreDTE": {
"extra": {
"dte": {
"Encabezado": {
"IdDoc": {
"TermPagoGlosa": "OBSERVACIONES"
}
}
},
"historial": {
"titulo": "Consumo de Agua Potable",
"datos": {
"Feb": 12,
"Mar": 11,
"Abr": 12,
"May": 10.5,
"Jun": 4,
"Jul": 5
}
},
"servicios_basicos": {
"consumos": {
"unidad": "M3",
"lectura_actual": 9,
"lectura_anterior": 5.9,
"consumo_calculado": 3.1,
"consumo_facturado": 3,
"limite_sobreconsumo": 40
}
}
}
}
}