Skip to content

Cliente - Webservice SIPSA desarrollado en Python 3.8 usando la librería Zeep para acceder al servicio SOAP de la Webservice SIPSA mendiante la WSDL que aparece en el servicio web para consulta de la base de datos de sipsa.

License

oigonzalezp2024/cliente-webservice-sipsa

Repository files navigation


Cliente - Webservice SIPSA


El presente proyecto es un cliente de la Webservice SIPSA desarrollado en Python 3.8 usando la librería Zeep para acceder al servicio SOAP de la Webservice SIPSA mendiante la WSDL que aparece en el servicio web para consulta de la base de datos de sipsa.

Mejora:

  • Ahora permite extraer la data en CSV, XML y Json, basta con definir el formato en el nombre del archivo destino.

Procesos ETL

  1. Extrae los datos de su origen usando la librería Zeep.
  2. Transforma los datos que recibe de formato XML a objetos python.
  3. Almacena los datos en archivos planos en formato CSV, XML o JSON.

La data recogida se almacenará en la carpeta data.


Sobre la Webservice SIPSA


Teniendo en cuenta que el acceso a la información es un derecho de todos los colombianos, el DANE ha publicado de manera abierta y transparente la documentación de la Webservice SIPSA en su página web, para que cualquier interesado la pueda consultar.

Según sus desarrolladores:

"Este servicio permite la consulta de la información consolidada en la base de datos del aplicativo SIPSA alimentada de los diferentes métodos de recolección para los productos agroalimentarios que se comercializan en el país"

"La implementación de este servicio Web está desarrollada bajo el estándar SOAP (Simple Object Access Protocol), en su versión 1.2, el cual permite el intercambio de información en un formato XML bajo protocolo HTTP."

El acceso se encuentra disponible para ser consumido bajo las siguientes condiciones:

Mayoristas - Están dispuestos los datos diarios, semanales y mensuales.

El consumo de los datos diarios y semanales,
se podrá llevar a cabo a partir de las 2 p.m.,
correspondientes a los datos del día,

los datos mensuales se actualizan el día 8 del mes en curso.

Abastecimientos - La información se genera con una periodicidad mensual,

se actualiza el día 10 del mes en curso.


Documentación técnica del Cliente


Configuración del entorno de desarrollo.

Paso Descripción comando
Paso 1 Crear el entorno de trabajo. python -m venv env
Paso 2 Activar el entorno de trabajo. ./env/Scripts/activate
Paso 3 Actualizar el gestor de paquetes. python -m pip install --upgrade pip
Paso 4 Prepare la receta de librerías. pip install -r requirements.txt

Librerías del proyecto.

librería Descripción Comando
zeep Permite el acceso a SOAP python -m pip install zeep
xmltodict Permite el acceso a SOAP python -m pip install xmltodict

Prueba - Realice un Test de los métodos.


Métodos

Método Sipsa Ejecución con python
promedioAbasSipsaMesMadr() py promedioAbasSipsaMesMadr.py
Cantidad promedio mensual en toneladas,
discriminada por productos y fuentes
de abastecimiento.
promediosSipsaSemanaMadr() py promediosSipsaSemanaMadr.py
Retorna los valores máximo, mínimo y
promedio semanal de recolección de
un producto, discriminando los datos
de la fuente.
promediosSipsaParcial() py promediosSipsaParcial.py
Retorna los valores máximo, mínimo y
promedio parcial de recolección de un
producto, discriminando los datos de la
ubicación y la fuente.
promediosSipsaCiudad() py promediosSipsaCiudad.py
Retorna los valores promedios
de cada producto por ciudad.
promediosSipsaMesMadr() py promediosSipsaMesMadr.py
Retorna las cantidades máxima,
mínima y promedio mensual en Kg
de la recolección de un
producto, discriminando los
datos de la fuente.

Realice sus pruebas, actualizaciones o modificaciones.

Puedes actualizar, contribuir y mejorar el presente software, es libre. Licencia GNU v3.
No esta permitido modificar la licencia de trabajos derivados de este proyecto.
Por norma internacional debes conservar el mismo tipo de licencia.

Actualizar la receta.

Si agregas nuevas librerías al proyecto, no olvides actualizar la receta.

pip freeze > requirements.txt

Comprobar que todo está en orden.

Paso Descripción comando
Paso 1 Desactive el entorno de trabajo. deactivate
Paso 2 Elimine el entorno anterior. rm -R env
Paso 3 Cree un entorno de python. python -m venv env
Paso 4 Active el entorno de trabajo. ./env/Scripts/activate
Paso 5 Actualice el gestor de paquetes. python -m pip install --upgrade pip
Paso 6 Instale las librerías necesarias para operar. pip install -r requirements.txt
Paso 7 Realice pruebas de rutina. Realice un Test de todos los métodos.
Paso 8 Finalice su gestión. deactivate

About

Cliente - Webservice SIPSA desarrollado en Python 3.8 usando la librería Zeep para acceder al servicio SOAP de la Webservice SIPSA mendiante la WSDL que aparece en el servicio web para consulta de la base de datos de sipsa.

Topics

Resources

License

Stars

Watchers

Forks

Languages