Integración con 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 |
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
GET
yPOST
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
- 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.
}
¿Cómo colaborar?
Puedes escribirnos desde la sección de ayuda.
Allí puedes:
- Solicitar la creación de un repositorio oficial.
- Ofrecerte para mantener uno ya existente.
- Compartir el enlace a tu cliente si ya lo creaste.
Nota: Si tu cliente no cumple todos los requisitos aún, ¡igual puedes enviarlo como base! Lo revisaremos contigo.
¡Con esto has terminado el módulo de Introducción! 🎉