Integración con la API
Sigue los pasos para conectar tu propio software a la API de LibreDTE y empezar a facturar.
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 |
| Python | LibreDTE | ✅ | libredte-api-client-python |
| Java | LibreDTE | ❌ | libredte-sdk-java |
| Perl | LibreDTE | ❌ | libredte-sdk-perl |
| C | LibreDTE | ❌ | libredte-sdk-c |
| C++ | LibreDTE | ❌ | libredte-sdk-cpp |
| curl | LibreDTE | ❌ | libredte-sdk-curl |
| Ruby | @crilam | ❌ | libredte-sdk-ruby |
| C# | @petermajewski | ❌ | libredte-sdk-c_sharp |
¿Y si no hay cliente para mi lenguaje?
No hay problema. Puedes crear uno propio. Solo necesitas:
- Consumir
GETyPOSTcon 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
- Licencia libre: el código debe estar bajo licencia LGPL.
- Interfaz compatible: debe seguir la interfaz de nuestros clientes oficiales.
- Casos de prueba: al menos los de facturación deben estar implementados.
Estructura mínima esperada
Orientado a objetos (ejemplo en 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)
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! 🎉
On this page
Last updated on 02/04/2026
by Anonymous