---
title: "Ejemplo en PHP"
description: "Ejemplo en PHP"
type: "academy"
category: "lesson"
tags: []
authors: [Anonymous]
date: "2026-08-25"
last_update: "2026-08-25"
time_minutes: 4
draft: false
unlisted: false
url: "https://www.stage.libredte.cl/academy/integracion/emision-dte/ejemplo-php"
---

# 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:

```bash
composer require libredte/libredte-api-client
```

---

## Código completo del flujo

```php
<?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.


---
Last updated on 25/08/2026

