Integraciones a través de SFTP

SFTP (Secure File Transfer Protocol) es un protocolo de red utilizado para transferir archivos de forma segura sobre una red. Este protocolo utiliza técnicas de cifrado para proteger la confidencialidad e integridad de los datos durante la transferencia.

Ejecución del SFTP

La manera en la que se ejecuta este protocolo en la integración de datos es la siguiente:

  1. Se detecta el archivo y se pasa a la cola de procesado, concatenando el identificador del cliente.

  2. Cuando el archivo llega a su turno de procesamiento, se leen todas las líneas y se comprueba el formato de lectura.

  3. Se filtran los registros que tienen valores inválidos (identificadores incorrectos, formato de fecha erróneo, valores negativos, etc.) y las líneas no procesables son ignoradas. Para todos los demás valores procesados como correctos:

    • Se eliminan los registros actuales.

    • Se insertan los nuevos registros.

En general, el proceso no se detiene por cantidad de errores de validación, solo por aquellos que puedan hacer peligrar el sistema: timeout (base de datos colapsada) o errores de inserción. Este proceso de guardado es asíncrono, es decir, se ejecutan varios valores al mismo tiempo.

Integración de medidas

Una vez que se crea el directorio SFTP para el cliente, y cuando este ha recibido toda la información necesaria para la conexión (credenciales, host, etc.), podrá cargar ficheros con la periodicidad que se haya acordado. Así, el cliente deposita los archivos CSV en su directorio SFTP para que se procesen tal y como se ha detallado en el apartado anterior.

Según la configuración por defecto, es necesario especificar las siguientes cabeceras:

  • STORE: identificador externo del servicio.

  • DATE: fecha, por defecto en formato yyyyMMdd.

  • TIME: hora local, por defecto en formato HHmm.

  • ZONE: identificador externo del producto o sección.

  • Los distintos tipos de medidas configurados en el negocio: el nombre debe coincidir exactamente con el que se ha definido en Orquest.

A continuación, se muestra un ejemplo:

STORE DATE TIME ZONE measure1 measure2 measure3

serviceId

20241124

0000

productId

0.77

2

1.5

serviceId

20241124

0015

productId

6.66

1

6.4

serviceId

20241124

0030

productId

7.93

7

1

serviceId

20241124

0045

productId

5.87

10

1.4

serviceId

20241124

0100

productId

8.09

6

8.7

El formato de estas columnas puede variar según la configuración de negocio. Por ejemplo, podría configurarse un formato diferente para la fecha: yyyy-MM-dd.

Así, los archivos con las medidas reales se envían de manera segura al servidor SFTP de Orquest, desde donde son procesados para integrar los datos en el sistema.

Protocolo para la carga de datos históricos

Con el fin de no monopolizar la cola de procesado, el flujo recomendado para la carga de archivos con datos históricos es de 100 archivos cada 30 minutos. No obstante, es fundamental consultar con el equipo de Orquest antes de realizar las cargas de este tipo de datos, ya que el protocolo puede variar en función del volumen de datos que sea necesario gestionar.

Si no se siguen estas recomendaciones y se detecta un uso inadecuado de la herramienta, el equipo de Orquest podría bloquear temporalmente al usuario para garantizar el correcto funcionamiento del sistema.

Aspectos que tener en cuenta

  • Solo se actualizan los datos de los tipos de medidas presentes en el archivo. Por tanto, si hubiera datos cargados previamente de tipos de medidas que no están en el archivo, estos datos permanecerán inalterados en el sistema.

  • El correcto procesamiento de un archivo no implica la inserción de datos en el sistema: si todas las líneas contienen errores y son ignoradas, el archivo se procesa correctamente, pero no hay datos válidos que añadir.

  • El tiempo de procesamiento de los archivos dependerá de la cantidad de elementos que estén en cola: tardará más si coincide con alguna otra subida o si se cargan numerosos archivos al mismo tiempo.

  • Existen diferentes plantillas SFTP para cada negocio: se generan en función de los parámetros que el negocio tiene configurados.

  • Es recomendable no enviar archivos con el mismo nombre, con el fin de poder monitorizar mejor el procesamiento de los datos.

Errores frecuentes

A continuación, se exponen algunos de los errores más frecuentes en el procesamiento de archivos vía SFTP.

Error SFTP Descripción

encoding_possibly_wrong

El procesador detecta que el fichero no está codificado como UTF-8.

invalid_date_format

Error en el formato de fecha y hora.

product_not_exist

El identificador de producto no coincide con lo que hay configurado en Orquest.

product_for_service_not_exist

El identificador de servicio o producto no coincide con lo que hay configurado en Orquest.

invalid_value

El archivo contiene valores no válidos, como valores negativos.

demandtype_not_exist

El tipo de medida no existe en el negocio.