Integración con la API
Sigue los pasos para conectar tu propio software a la API de LibreDTE y empezar a facturar.
Ejemplo en PHP
En esta lección verás un ejemplo completo de cómo generar un Documento Tributario Electrónico (DTE) utilizando PHP y el cliente oficial de la API de LibreDTE.
Este ejemplo incluye:
- Crear el cliente autenticado.
- Emitir un DTE temporal.
- Generar el DTE real.
- Obtener el PDF.
- Guardar el PDF en disco.
Requisitos previos
Debes tener:
- El paquete
libredte/api-client
instalado (vía Composer). - Tu
hash
de autenticación yurl
base de la API. - Los datos del DTE que deseas emitir en un array.
Puedes instalar el cliente con:
composer require libredte/api-client
Código completo del flujo
<?php
require 'vendor/autoload.php';
use libredte\api_client\ApiClient;
// 1. Crear cliente autenticado.
$hash = 'tu_hash_aqui';
$url = 'https://libredte.cl/api';
$client = new ApiClient($hash, $url);
// 2. Datos del DTE.
$datos_dte = [
"Encabezado" => [
"IdDoc" => [
"TipoDTE" => 33,
],
"Emisor" => [
"RUTEmisor" => "76123456-9",
],
"Receptor" => [
"RUTRecep" => "11222333-4",
"RznSocRecep" => "Cliente de Prueba",
"GiroRecep" => "Servicios Informáticos",
"DirRecep" => "Calle Falsa 123",
"CmnaRecep" => "Santiago",
],
],
"Detalle" => [
[
"NmbItem" => "Servicio de desarrollo",
"QtyItem" => 1,
"PrcItem" => 100000,
],
],
];
// 3. Emitir DTE temporal.
$emitir = $client->post('/dte/documentos/emitir', $datos_dte);
// 4. Generar DTE real.
$generar = $client->post('/dte/documentos/generar', $emitir['body']);
// 5. Obtener el PDF del DTE real.
$generar_pdf = $client->get(sprintf(
'/dte/dte_emitidos/pdf/%d/%d/%d',
$generar['body']['dte'],
$generar['body']['folio'],
$generar['body']['emisor']
));
// 6. Guardar el PDF en disco.
file_put_contents('factura.pdf', $generar_pdf['body']);
echo "Factura generada y guardada como factura.pdf\n";
Consideraciones
- Este ejemplo usa
TipoDTE 33
, que corresponde a Factura electrónica. - Si deseas emitir una boleta, cambia el tipo a
39
y recuerda que los montos van brutos en boletas. - Puedes añadir más campos al DTE, como descuentos, referencias o datos extras (
LibreDTE.extra
). - Todos los pasos están desacoplados, por lo que puedes manejar errores por separado.
On this page
Last updated on 01/08/2025
by Anonymous