Cliente para realizar la integración con los servicios web de API Gateway desde Python
Project description
Cliente para realizar la integración con los servicios web de API Gateway (www.apigateway.cl) desde Python.
Este código está liberado bajo licencia LGPL. O sea, puede ser utilizado tanto en software libre como en software privativo.
Instalación
Instalar desde PIP con:
$ sudo pip install libredte.api-client
Actualización
Actualizar desde PIP con:
$ sudo pip install libredte.api-client --upgrade
Cliente genérico vs clientes específicos
Este cliente de API Gateway tiene 2 formas de acceder a los recursos:
Cliente genérico: es un cliente que permite consumir de manera sencilla cualquier recurso de la API. Que actualmente exista o sea añadido en el futuro. Esto se logra porque el cliente recibe los nombres de los recursos, la parte de la URL que permite acceder al servicio web solicitado. Se proveen métodos que sólo sirven para acceder a la API de manera genérica, pero no para hacer acciones específicas ni obtener los datos en un formato específico. Este cliente es el que entrega mayor flexibilidad, ya que cada programador decide qué recursos desea consumir y cómo desea obtener los datos.
Clientes específicos: son clases que permiten acceder de forma más natural a los recursos de la API. Al instanciar la clase, se tendrán métodos sencillos con parámetros para consumir la API. Sin ser necesario preocuparse de recordar o buscar en la documentación el nombre de los recursos que se deben consumir. Además de entregar los datos ya “listos” para ser usados en vez de tener que preocuparse de qué método del cliente genérico usar para obtenerlos en el formato requerido.
Autenticación en API Gateway
Lo más simple es usar una variable de entorno con el access token de www.apigateway.cl:
export LIBREDTE_API_TOKEN=""
Si no se desea usar una variable de entorno, al crear los objetos clientes se deberá indicar el access token. Ejemplo con el cliente genérico:
cliente_libredte = LibreDTE(ACCESS_TOKEN)
El siguiente es un ejemplo con el cliente específico de Rcv, se pasan los datos obligatorios de RUT y clave del usuario y además se pasa el access token de la API.
cliente_rcv = Rcv(USUARIO_RUT, USUARIO_CLAVE, api_token = ACCESS_TOKEN)
Si se usan variables de entorno, en ambos ejemplos se puede omitir el access token.
Desarrolladores (ayuda mental)
Modificar el cliente de la API:
$ git clone https://github.com/LibreDTE/apigateway-client-python
$ cd apigateway-client-python
$ sudo pip install -e .
Crear el paquete que se desea distribuir:
$ sudo python setup.py sdist
Publicar el paquete a distribuir:
$ twine upload dist/*
Más información en http://python-packaging-user-guide.readthedocs.io/en/latest/distributing
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for libredte.api_client-2.5.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5dbaa7482c32192deb84ca3e10a4e7a1200adb2aec96625386eee11ee3766d03 |
|
MD5 | b9ea218da513d7c39eb33f4ddd8300fe |
|
BLAKE2b-256 | 5410b1dbae7780bc30e3adf06a7de8c6deba53935bee1d3de96bba3e4d52e0f6 |