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:
-
Se detecta el archivo y se pasa a la cola de procesado, concatenando el identificador del cliente.
-
Cuando el archivo llega a su turno de procesamiento, se leen todas las líneas y se comprueba el formato de lectura.
-
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: |
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. |