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:

  1. Crear el cliente autenticado.
  2. Emitir un DTE temporal.
  3. Generar el DTE real.
  4. Obtener el PDF.
  5. Guardar el PDF en disco.

Requisitos previos

Debes tener:

  • El paquete libredte/api-client instalado (vía Composer).
  • Tu hash de autenticación y url 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