---
title: "Clientes de la API"
description: "Clientes de la API"
type: "academy"
category: "lesson"
tags: []
authors: [Anonymous]
date: "2026-08-25"
last_update: "2026-08-25"
time_minutes: 5
draft: false
unlisted: false
url: "https://www.libredte.cl/academy/integracion/introduccion/clientes-de-la-api"
---

# Clientes de la API

LibreDTE ofrece **clientes oficiales** y la comunidad ha creado otros **no oficiales** para facilitar el consumo de la API desde distintos lenguajes de programación.

---

## ¿Debo usar un cliente?

No. Puedes consumir la API directamente con HTTP, pero un cliente te puede ahorrar trabajo y errores.

---

## Tipos de clientes

| Tipo                  | Soporte | Descripción                                                     |
|-----------------------|---------|-----------------------------------------------------------------|
| Oficial con soporte   | ✅      | Mantenidos por LibreDTE y con soporte en caso de problemas.     |
| Oficial sin soporte   | ❌      | Creados por LibreDTE, pero sin mantenimiento ni soporte.        |
| No oficiales          | ❌      | Hechos por usuarios, útiles como referencia o punto de partida. |

---

## Clientes disponibles

| Lenguaje | Autor        | Soporte | Repositorio                                                                          |
|----------|--------------|---------|--------------------------------------------------------------------------------------|
| PHP      | LibreDTE     | ✅      | [libredte-api-client-php](https://github.com/LibreDTE/libredte-api-client-php)       |
| Python   | LibreDTE     | ✅      | [libredte-api-client-python](https://github.com/LibreDTE/libredte-api-client-python) |
| Java     | LibreDTE     | ❌      | [libredte-sdk-java](https://github.com/LibreDTE/libredte-sdk-java)                   |
| Perl     | LibreDTE     | ❌      | [libredte-sdk-perl](https://github.com/LibreDTE/libredte-sdk-perl)                   |
| C        | LibreDTE     | ❌      | [libredte-sdk-c](https://github.com/LibreDTE/libredte-sdk-c)                         |
| C++      | LibreDTE     | ❌      | [libredte-sdk-cpp](https://github.com/LibreDTE/libredte-sdk-cpp)                     |
| curl     | LibreDTE     | ❌      | [libredte-sdk-curl](https://github.com/LibreDTE/libredte-sdk-curl)                   |
| Ruby     | @crilam      | ❌      | [libredte-sdk-ruby](https://github.com/LibreDTE/libredte-sdk-ruby)                   |
| C#       | @petermajewski | ❌    | [libredte-sdk-c_sharp](https://github.com/LibreDTE/libredte-sdk-c_sharp)             |

---

## ¿Y si no hay cliente para mi lenguaje?

No hay problema. Puedes crear uno propio. Solo necesitas:

- Consumir `GET` y `POST` con JSON.
- Autenticación HTTP Basic.

## Creación de un nuevo cliente de la API

Si estás interesado en crear o mantener un cliente de la API, puedes hacerlo. Puedes colaborar con LibreDTE para crear uno nuevo, o solicitar acceso a mantener uno existente. Solo necesitas cumplir con algunas condiciones básicas.

### ¿Qué necesitas?

- Tener conocimientos básicos de HTTP, JSON y autenticación HTTP Basic.
- Conocer el lenguaje en el que quieras crear el cliente.
- Seguir la interfaz estándar que usamos en nuestros clientes oficiales.

---

### Requisitos

1. **Licencia libre**: el código debe estar bajo licencia [LGPL](https://www.gnu.org/licenses/lgpl-3.0.en.html).
2. **Interfaz compatible**: debe seguir la interfaz de nuestros clientes oficiales.
3. **Casos de prueba**: al menos los de [facturación](https://github.com/LibreDTE/libredte-api-client-php/tree/master/tests/dte_facturacion) deben estar implementados.

---

### Estructura mínima esperada

#### Orientado a objetos (ejemplo en PHP)

```php
class LibreDTE
{
    public function __construct($hash, $url = 'https://libredte.cl')
    {
        // Inicializa la conexión.
    }

    public function post($resource, $data = null)
    {
        // Realiza POST a /recurso con datos JSON.
    }

    public function get($resource)
    {
        // Realiza GET a /recurso.
    }
}
```

---

#### Versión funcional (ejemplo en PHP)

```php
function libredte_init($hash, $url = 'https://libredte.cl')
{
    // Retorna estructura para conexión.
}

function libredte_post($libredte, $resource, $data = null)
{
    // Realiza POST.
}

function libredte_get($libredte, $resource)
{
    // Realiza GET.
}
```
---

¡Con esto has terminado el módulo de Introducción! 🎉


---
Last updated on 25/08/2026

