LibreDTE

¡facturación electrónica libre para Chile!

Herramientas de usuario

Herramientas del sitio


sdk

SDK de LibreDTE

Los SDK permiten simplificar la conexión desde cierto lenguaje a los servicios web de LibreDTE. Existen varios SDK, los mantenidos por SASCO SpA, y para los cuales prestamos soporte oficial, son:

Importante: no es obligatorio usar los SDK de LibreDTE, eres libre de construir los propios, desde 0 o basándote en los que tenemos publicados.

SDK de la comunidad

Adicionalmente a los 3 SDK oficiales, hay otros SDK (como el de Ruby) que son mantenidos por usuarios de la comunidad de LibreDTE y que no tienen soporte oficial de SASCO SpA, pueden buscar el soporte con los respectivos autores.

Nosotros alojamos los SDK de la comunidad en el repositorio oficial de LibreDTE. Puedes solicitar la creación de un repositorio para crear un SDK que no exista o bien para mantener o mejorar uno ya existente (previo acuerdo con el usuario original si aun está vigente).

Los requisitos para aceptar un SDK de la comunidad son:

  1. Que esté liberado bajo licencia de software libre LGPL.
  2. Que se cumpla con la interfaz del cliente actualmente vigente en los SDK oficiales.
  3. Que se entreguen a los menos los ejemplos 1 (emisión con POST) y 2 (consulta estado con GET) para el SDK.

Requerimientos SDK comunidad

A continuación se muestran las funcionalidades mínimas que debe implementar el cliente de los servicios web en un SDK de la comunidad. Esto para cumplir con lo mínimo que se encuentra en los SDK oficiales y permitir consumir todos los servicios web disponibles.

Versión orientada a objetos

Se debe respetar como mínimo la siguiente estructura (ejemplo en PHP):

class LibreDTE
{
 
    /**
     * Constructor de la clase LibreDTE
     * @param hash Hash de autenticación del usuario
     * @param host Host con la dirección web base de LibreDTE
     */
    public function __construct($hash, $url = 'https://libredte.cl')
    {
        // TODO: implementar método
    }
 
    /**
     * Método que consume un servicio web de LibreDTE a través de POST
     * @param api Recurso de la API
     * @param data Datos que se enviarán por POST
     * @return Entrega resultado de la consulta por POST
     */
    public function post($api, $data = null)
    {
        // TODO: implementar método
    }
 
    /**
     * Método que consume un servicio web de LibreDTE a través de GET
     * @param api Recurso de la API
     * @return Entrega resultado de la consulta por GET
     */
    public function get($api)
    {
        // TODO: implementar método
    }
 
}

Versión con funciones

Se debe respetar como mínimo la siguiente estructura (ejemplo en PHP):

/**
 * Inicializador de la conexión con LibreDTE
 * @param hash Hash de autenticación del usuario
 * @param host Host con la dirección web base de LibreDTE
 * @return Entrega estructura de datos que representa la conexión al servidor
 */
function libredte_init($hash, $url = 'https://libredte.cl')
{
    // TODO: implementar método
}
 
/**
 * Función que consume un servicio web de LibreDTE a través de POST
 * @param libredte Estructura de datos que representa la conexión creada con libredte_init()
 * @param api Recurso de la API
 * @param data Datos que se enviarán por POST
 * @return Entrega resultado de la consulta por POST
 */
function libredte_post($libredte, $api, $data = null)
{
    // TODO: implementar método
}
 
/**
 * Función que consume un servicio web de LibreDTE a través de GET
 * @param libredte Estructura de datos que representa la conexión creada con libredte_init()
 * @param api Recurso de la API
 * @return Entrega resultado de la consulta por GET
 */
function libredte_get($libredte, $api)
{
    // TODO: implementar método
}
sdk.txt · Última modificación: 2017/02/25 02:04 por delaf