Skip to main content

Cliente para realizar la integración con los servicios web de BHExpress desde Python.

Project description

https://badge.fury.io/py/bhexpress.svg https://img.shields.io/pypi/status/bhexpress.svg https://img.shields.io/pypi/pyversions/bhexpress.svg https://img.shields.io/pypi/l/bhexpress.svg

Cliente para realizar la integración con los servicios web de BHExpress desde Python.

Instalación y actualización

Instalar usando un entorno virtual y PIP con:

python3 -m venv venv
source venv/bin/activate
pip install bhexpress

Actualizar usando PIP con:

pip install bhexpress --upgrade

Modo de uso

Se recomienda ver los ejemplos para más detalles. Lo que se muestra aquí es sólo una idea, y muy resumida:

Lo más simple, y recomendado, es usar una variable de entorno con el token del usuario, el cual será reconocida automáticamente por el cliente:

from bhexpress.api_client.bhe.boletas import Boleta

client = Boleta()

boletas = client.listar()
print(boletas)

Lo que hizo el ejemplo anterior es listar boletas emitidas en un resultado e imprimir dicho resultado en consola.

Variables de entorno

La aplicación y las pruebas hacen uso de variables de entornos. Si quieres usar estos, debes tenerlas creadas. En Windows 10 se hace con:

set BHEXPRESS_API_URL="https://bhexpress.cl"
set BHEXPRESS_API_TOKEN="" # aquí el token obtenido en https://bhexpress.cl/usuarios/perfil#token
set BHEXPRESS_EMISOR_RUT="" # aquí el RUT del emisor de las BHE

Ejemplo de definición de variables de entorno en la consola de Linux:

export BHEXPRESS_API_URL="https://bhexpress.cl"
export BHEXPRESS_API_TOKEN="" # aquí el token obtenido en https://bhexpress.cl/usuarios/perfil#token
export BHEXPRESS_EMISOR_RUT="" # aquí el RUT del emisor de las BHE

Pruebas

Las pruebas utilizan un archivo llamado test.env, que sirve para definir todas las variables de entorno necesarias para ejecutar estas pruebas. Las pruebas se crearon para probar los ejemplos vistos previamente en el capítulo Ejemplos.

Estas pruebas utilizan unittest, se ejecutan con el archivo run.py, y dependiendo de cómo se configure test.env, se pueden omitir ciertas pruebas. Asegúrate de definir BHEXPRESS_API_URL, BHEXPRESS_API_TOKEN y BHEXPRESS_EMISOR_RUT en test.env, o no podrás efectuar las pruebas.

Para ejecutar las pruebas unitarias, debes ejecutar el siguiente código en consola desde la raíz del proyecto:

python tests/run.py

Si quieres ejecutar una prueba específica, deberás especificar el nombre y ruta:

python tests/run.py boletas.test_boletas.TestBheBoletas.test1_listar

Para ejecutar otros ejemplos, debes reemplazar test1_listar por el nombre de alguna de las otras pruebas descritas posteriormente.

A continuación se pondrán instrucciones de cómo probar el cliente de API de Python:

  • test1_listar():
    • Prueba que permite obtener un listado de todas las boletas emitidas a través de BHExpress usando algunos filtros.

    • Variables necesarias: TEST_LISTAR_PERIODO, TEST_LISTAR_CODIGORECEPTOR

    • Variable de ejecución: Ninguna

  • test2_emitir():
    • Prueba que permite emitir una BHE a un receptor.

    • Variables necesarias: TEST_EMITIR_FECHA_EMIS, TEST_EMITIR_EMISOR, TEST_EMITIR_RECEPTOR, TEST_EMITIR_RZNSOC_REC, TEST_EMITIR_DIR_REC, TEST_EMITIR_COM_REC

    • Variable de ejecución: TEST_EMITIR_EMISOR

  • test3_pdf():
    • Prueba que permite obtener una BHE y convertirla a un PDF.

    • Variables necesarias: Ninguna

    • Variable de ejecución: TEST_PDF_PROBAR

  • test4_email():
    • Prueba que permite enviar un email a un destinatario con una BHE específica.

    • Variables necesarias: TEST_EMAIL_NUMEROBHE, TEST_EMAIL_CORREO

    • Variable de ejecución: TEST_EMAIL_NUMEROBHE y TEST_EMAIL_CORREO

  • test5_anular():
    • Prueba que permite anular una BHE existente.

    • Variables necesarias: Ninguna

    • Variables de ejecución: TEST_ANULAR_PROBAR

Las variables necesarias son aquellas variables que se necesitan para ejecutar las pruebas. Las variables de ejecución son aquellas variables que permitirán ejecutar u omitir las pruebas a las que pertenecen. Si las variables de ejecución tienen un valor específico o son texto en blanco, entonces la prueba será omitida, pero no fallida.

Licencia

Este programa es software libre: usted puede redistribuirlo y/o modificarlo bajo los términos de la GNU Lesser General Public License (LGPL) publicada por la Fundación para el Software Libre, ya sea la versión 3 de la Licencia, o (a su elección) cualquier versión posterior de la misma.

Este programa se distribuye con la esperanza de que sea útil, pero SIN GARANTÍA ALGUNA; ni siquiera la garantía implícita MERCANTIL o de APTITUD PARA UN PROPÓSITO DETERMINADO. Consulte los detalles de la GNU Lesser General Public License (LGPL) para obtener una información más detallada.

Debería haber recibido una copia de la GNU Lesser General Public License (LGPL) junto a este programa. En caso contrario, consulte GNU Lesser General Public License.

Enlaces

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bhexpress-1.0.2.tar.gz (12.1 kB view details)

Uploaded Source

File details

Details for the file bhexpress-1.0.2.tar.gz.

File metadata

  • Download URL: bhexpress-1.0.2.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for bhexpress-1.0.2.tar.gz
Algorithm Hash digest
SHA256 1b2cda39c3492e9f16ef9697f8be5bf768dfccba6cfd3cc124e3be6dfda7e91b
MD5 718f8fb8fde88b45fbeeab4b661350d2
BLAKE2b-256 f303afab90a34e37c2d57d97eece8f294c22cd32f211f08e98b360e48a12ced7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page