LibreDTE

¡facturación electrónica libre para Chile!

Herramientas de usuario

Herramientas del sitio


sowerphp:api

API para integrar software propio

A través de los servicios web de la API de LibreDTE podrás consumir diferentes recursos los cuales te permitirán realizar ciertas acciones asociadas a los documentos tributarios electrónicos.

Para poder usar la API es requisito contar con una cuenta de usuario de LibreDTE, ¡regístrate gratis!. El hash o la API key está en el perfil de usuario.

Documentación API Swagger editor Cliente terminal

Pasos para integrar

Todos los servicios web de LibreDTE están basados en REST usando directamente el protocolo HTTP. Por lo anterior, lo primero es entender cómo consumir este tipo de servicios desde el lenguaje que se esté usando. LibreDTE tiene algunos SDK oficiales que se recomienda revisar, si el lenguaje a usar no está dentro de los SDK puedes consumir directamente los servicios web.

De forma resumida lo que se debe hacer para poder integrar con tu software es:

  1. Prepara los datos que usarás para crear el DTE, tienes ejemplos aquí.
  2. Aprender a consumir los servicios web REST, para esto las opciones son:
    1. Revisar si existe un SDK oficial de LibreDTE para el lenguaje a usar.
    2. Construir su propio SDK para el lenguaje no soportado oficialmente, si lo liberan bajo LGPL se agradece.
    3. Buscar una biblioteca para su lenguaje que les facilite consumir los servicios web REST.
  3. Replicar en su software el ejemplo básico de los SDK, el 001, que permite generar un DTE. Se debe:

Para emitir un DTE y obtener su PDF se deben realizar desde el cliente las llamadas del siguiente diagrama de secuencia:

Más detalles en el video que explica los servicios web que se deben consumir para emitir un DTE.

Si se desea utilizar preautenticación para iniciar la sesión de un usuario de LibreDTE desde otra aplicación revisar el ejemplo de preauth.

Autenticación

La autenticación en la API es realizada a través de HTTP Basic Auth. Se deberá utilizar el hash asociado a la cuenta del usuario, por ejemplo si el hash es Bgw mediante curl se consultará la API de la siguiente forma:

  $ curl -u Bgw:X https://libredte.cl/api/dte/:controlador/:recurso

Después del hash es obligatorio colocar :X

Si se está construyendo la cabecera de autenticación se debe respetar el formato definido por el protocolo HTTP. Un ejemplo de construcción en PHP es:

$header['Authorization'] = 'Basic '.base64_encode($hash.':X');

Donde la variable $header después se puede usar con cURL desde PHP.

¿Qué necesito para poder integrar?

SDK

Los SDK de LibreDTE facilitan la integración con los servicios web de LibreDTE desde diferentes lenguajes. Actualmente está disponible el soporte para los lenguajes:

  • Oficiales (creados por SASCO SpA):
  • No oficiales (creados por usuarios de la comunidad):

Que un SDK para cierto lenguaje no exista no significa que no se pueda hacer la integración, sólo significa que LibreDTE oficialmente no ha creado dicho SDK o bien no es parte de los de la comunidad. Por ejemplo, un cliente realizó la integración desde vb6 pero aun no lo tenemos como SDK.

Si estás interesado en hacerte cargo de uno de los SDK ya existentes o bien crear uno nuevo revisa la siguiente documentación y ¡contáctanos!.

Ejemplo SDK PHP

Se muestra el ejemplo de generación de un DTE desde PHP, para ilustrar lo simple que es hacerlo con nuestro SDK:

// crear cliente
$LibreDTE = new \sasco\LibreDTE\SDK\LibreDTE($hash, $url);
// crear DTE temporal
$emitir = $LibreDTE->post('/dte/documentos/emitir', $dte);
// crear DTE real
$generar = $LibreDTE->post('/dte/documentos/generar', $emitir['body']);
// obtener el PDF del DTE
$generar_pdf = $LibreDTE->post('/dte/documentos/generar_pdf', ['xml'=>$generar['body']['xml']]);
// guardar PDF en el disco
file_put_contents('factura.pdf', $generar_pdf['body']);
sowerphp/api.txt · Última modificación: 2018/06/28 14:00 por delaf