Por qué la integración basada en archivos CSV puede ser mejor que la integración basada en API

Publicado: 2018-11-07

Los comerciantes a menudo necesitan mover grandes cantidades de datos (como catálogos de productos, pedidos o datos de clientes) de un sistema a otro para su procesamiento u organización. El problema es que la forma en que un sistema estructura y acepta datos puede no ser la misma que la del sistema de destino. Entonces, ¿cómo transfiere y comparte datos entre sistemas (además de ingresarlos a mano)?

muchos confían en la integración que utiliza archivos CSV (valores separados por comas) para exportar e importar archivos de texto de sus datos entre sistemas. Los CSV son un tipo de archivo universal compatible con muchos sistemas y los comerciantes se sienten cómodos al administrarlos. Si bien la integración de archivos suele ser una opción de integración, también tiene sus limitaciones. Mientras evalúa este enfoque de integración de datos, este artículo considera por qué la integración basada en archivos a través de archivos CSV puede ser mejor que la integración basada en API.

¿Qué es la integración de archivos planos?

La integración basada en archivos es cuando sus datos de origen y/o sus datos de destino deben estar representados en un archivo (como un archivo CSV). Algunos sistemas requieren esto como alternativa a una API o una conexión directa a la base de datos. La integración basada en archivos permite que los datos se transfieran entre diferentes bases de datos o sistemas operativos, sin necesariamente conectarse directamente a ellos.

Si bien la integración basada en archivos puede incluir diferentes tipos de archivos (p. ej., XML, JSON), este artículo se centra en la integración de archivos CSV en particular. Un archivo CSV solo puede tener un solo archivo, aunque a veces la integración basada en archivos requiere que combine elementos de varios archivos. Se denominan archivos 'aplanados' en los que se define un único registro en varias filas.

integración csv

Los CSV se utilizan para almacenar datos tabulares. Esto significa que se pueden importar y exportar desde programas que almacenan datos en tablas, como Microsoft Excel u otro software de hoja de cálculo, para convertirlos en un formato legible. Sin embargo, es importante tener en cuenta que los CSV no pueden incluir fórmulas ni ninguna de las funciones de formato que proporcionan las hojas de Excel. Si guarda un documento de Excel como CSV, todo ese material adicional se eliminará.

Los comerciantes han utilizado con éxito la integración de archivos CSV durante décadas para mover datos entre sistemas por todo tipo de razones. Sin embargo, en los últimos 10 a 15 años, las API han surgido como una forma más "moderna" para que dos sistemas se comuniquen o se integren entre sí. ¿Cual es la diferencia?

Integración de API frente a enfoque de integración de CSV

Una API (interfaz de programa de aplicación) es un conjunto de código que permite que dos programas de software se comuniquen entre sí. La API de un software explica una forma estándar y predecible para que un desarrollador escriba un programa que solicite servicios de otro sistema o aplicación.

Una API REST (Representational State Transfer) acepta solicitudes HTTP para OBTENER, PONER, PUBLICAR o ELIMINAR datos. REST representa un estilo arquitectónico y un enfoque de comunicación utilizado en la mayoría de los desarrollos de servicios web modernos. Por lo tanto, a menudo se usa para crear API que permiten a los usuarios conectarse e interactuar con los servicios en la nube.

SOAP (Protocolo simple de acceso a objetos) es otro protocolo utilizado para desarrollar API. Es menos común en las nuevas API que REST, pero básicamente logra lo mismo.

La integración de API le permite conectar dos sistemas interpretando y traduciendo datos entre dos sistemas a través de sus API. Permite flujos de datos como "OBTENER producto" desde un punto final de API conocido en un ERP y "PUT Product" a un punto final de API conocido en una plataforma de comercio electrónico.

Si bien la integración de API es un enfoque más moderno, no siempre es la solución correcta (o posible) para los comerciantes que buscan integrar sus sistemas. Aquí hay una mirada en profundidad sobre por qué la integración basada en archivos puede ser mejor que la integración API.

Por qué la integración basada en archivos puede ser mejor que la integración API

Hay escenarios en los que la integración de CSV podría tener más sentido para su negocio. Vea a continuación algunas de las principales ventajas de este enfoque de integración de sistemas.

Mantener y conectar sistemas sin API

No todos los sistemas de software tienen API disponibles para la integración. Este suele ser el caso del software "heredado" más antiguo, pero es incluso el caso de los sistemas modernos como la plataforma de comercio electrónico Salesforce Commerce Cloud (Demandware). La integración con estos sistemas debe realizarse sin usar API, lo que significa que su mejor opción podría ser la integración basada en archivos.

La mayoría de los sistemas aceptan al menos CSV a través de un proceso de importación manual, sin importar la antigüedad del software. Algunos (nuevamente, como Salesforce Commerce Cloud) ofrecen la capacidad de automatizar la importación de CSV apuntando a un servidor SFTP.

Es importante tener en cuenta que muchos comerciantes utilizarán este enfoque de integración en lugar de asumir proyectos a veces costosos para actualizar o reemplazar estos sistemas sin API.

no propietario

Los archivos CSV no son propiedad de ningún proveedor de software específico. Crear y compartir un CSV es una forma genérica de manejar datos. Esto los hace fáciles de interactuar y compartir entre personas y sistemas. Puede crear CSV aprovechando Excel u otro software de hoja de cálculo y la mayoría de las personas se sienten cómodas manejándolos de esta manera. Independientemente del software específico que esté utilizando, poder importar y exportar un archivo CSV no es exclusivo de ese software o marca.

integración basada en archivos csv

Más fácil de crear archivos

Dado que los CSV son archivos de texto sin formato, es más fácil para un desarrollador web u otros miembros de su equipo crear, ver y validar los datos como una hoja de cálculo. Todo lo que necesita es una fila de encabezado en la parte superior y las siguientes filas de datos. Podrás manipular los datos para organizarlos como necesites. Entonces es fácil compartir estos datos entre diferentes sistemas.

No existe una relación jerárquica entre los datos, a menos que represente artificialmente esa jerarquía con varios archivos CSV. Si necesita hacer esto, hace que la integración basada en CSV sea más compleja.

Ejemplos comunes de archivos CSV que los comerciantes pueden crear son hojas de precios, listas de clientes, datos de productos, datos de pedidos y descuentos para compartir entre su comercio electrónico y el sistema ERP o POS.

Comunicación estándar entre múltiples fuentes

Los archivos CSV también son una forma estándar de comunicar datos, lo que los convierte en una excelente herramienta para recopilar y compilar datos de múltiples fuentes o sistemas. Si bien el formato de los datos (qué columnas y en qué orden) probablemente variará, un CSV es un tipo de archivo bien establecido y casi universalmente admitido.

Por ejemplo, puede recopilar catálogos de productos de un puñado de proveedores diferentes. Independientemente del sistema que utilicen para dominar los datos de sus productos, deberían poder exportar un CSV de todos sus datos de productos. Luego puede recoger e importar este CSV en su sistema. No necesita preocuparse por la integración directa a su sistema. Es posible que ni siquiera tenga la integración API directa como una opción debido a la seguridad u otras preocupaciones.

Limitaciones de la integración basada en archivos

Hay inconvenientes en este enfoque de integración que debe considerar, especialmente al comparar este enfoque con una alternativa como la integración basada en API.

Responsabilidades de seguridad

Al automatizar las transferencias de archivos CSV, esencialmente está colocando un archivo en un servidor que luego es recogido por otro sistema. ¿Quién está manteniendo los servidores? ¿Cómo mantiene sus datos seguros a lo largo de ese proceso?

La integración basada en archivos requiere que los comerciantes piensen en la seguridad de una manera diferente. Si bien desea que sus datos estén seguros durante la transferencia, tampoco puede dificultar demasiado el acceso. De lo contrario, será muy difícil comunicarse con otros sistemas empresariales. Es su responsabilidad encontrar ese equilibrio y asegurarse de que todas las personas (y no más) puedan acceder a estos archivos según sea necesario.

Sincronización por lotes

Al integrar sistemas, la mayoría de los comerciantes desean una sincronización instantánea o en tiempo real de sus datos entre sistemas.

Esto sería especialmente importante para datos como artículos de comercio electrónico con disponibilidad de inventario que cambia rápidamente o pedidos que deben cumplirse para el envío de dos días. Tan pronto como se realiza un pedido en línea, desea reducir esa cantidad de inventario en todos sus canales de venta y comenzar a procesar el pedido. Los retrasos en esta sincronización, incluso tan pequeños como 30 minutos, pueden provocar ventas excesivas durante las horas pico de ventas, como las ventas flash o los días festivos. También pueden ralentizar el cumplimiento de los pedidos, lo que hace que se pierdan las fechas de entrega garantizadas. Tu cliente sufre las consecuencias.

La mayoría de las integraciones de archivos CSV por defecto no pueden sincronizarse instantáneamente. Esto se debe a que en realidad no es posible escribir continuamente nuevas líneas en un CSV mientras algún otro sistema lee continuamente nuevas líneas del CSV. Debe escribir un montón de líneas en un archivo, soltar ese archivo para que lo recoja y luego iniciar un nuevo archivo.

Esto significa que si sus reglas para iniciar un nuevo archivo son "número de filas" o "período de tiempo", habrá algún tipo de retraso en el proceso.

Piense en la integración de archivos CSV de otra manera: no se le entrega el correo a pedido, ya que llega como si llegara un correo electrónico. Una vez al día, recibe potencialmente un lote de cartas y también las envía como un lote.

Manejo de estructuras de datos complejas

Si bien la estructura de archivo plana de un CSV puede ser una ventaja, también puede ser una desventaja. Por diseño, los datos CSV no son jerárquicos ni están orientados a objetos, lo que significa que tienen una estructura ubicua. Para algunos comerciantes, esto es un problema cuando tiene varias capas de datos que se relacionan entre sí. Piense en cómo necesitaría representar pedidos con varios elementos de línea o un producto que viene en varios tamaños o colores.

Terminará creando varios archivos CSV para intentar representar esta relación entre sus datos. Puede ser un desafío tratar de administrar y organizar grandes conjuntos de datos.

Validación de datos

Un paso crucial en la integración del sistema es validar los datos que está transfiriendo. No desea enviar datos incorrectos o inexactos a otro sistema, especialmente porque puede causar errores "no válidos". Con la integración de archivos CSV, la validación de datos es un proceso manual para sus usuarios.

Cuando se trata de varios CSV con cientos de filas de datos, la validación se vuelve difícil de administrar. No podrá simplemente "observar" que todo se ve bien para enviar. En su lugar, los usuarios confiarán en fórmulas o macros escritas en Excel para resaltar las celdas si están equivocadas. Luego, debe ir a mano para corregir cualquier error. Este proceso requiere mucho tiempo y es defectuoso cuando se revisan grandes cantidades de datos.

En algunos casos, el sistema en el que está cargando los datos CSV puede proporcionar una validación de datos en el CSV importado, pero esto también tiene inconvenientes. La existencia y solidez de estas características no es consistente de plataforma a plataforma. Y, a menudo, no administran bien la transacción de importación en caso de falla. Eso podría significar que si una fila de 100.000 fuera incorrecta, toda la importación podría fallar.

Recuperación de errores durante la transferencia de datos

La integración de archivos CSV se basa en dejar y recoger archivos en los servidores. A lo largo de ese proceso, hay muchas cosas que pueden salir mal, como que el archivo se dañe o que el servidor o el sistema de archivos no funcionen. Tampoco suele haber comprobaciones de caracteres no válidos, descripciones de datos faltantes u otros problemas de contenido de archivos. ¿Qué sucede cuando envías un archivo con estos problemas? ¿Cómo piensas arreglarlo?

Gestión de recursos informáticos para el procesamiento de datos

Dependiendo de cómo se escriba el código para integrar sus sistemas, la integración basada en archivos puede requerir una gran cantidad de CPU y RAM para leer grandes conjuntos de datos en varios archivos.

Problemas de codificación de caracteres

Cada sistema tiene su propio valor predeterminado para codificar caracteres, por ejemplo, UTF-8. Al compartir archivos de texto (como CSV), los comerciantes deben tener en cuenta que los archivos deben usar los mismos caracteres de codificación. De lo contrario, uno de sus archivos CSV puede ser rechazado o los datos pueden parecer incorrectos porque el sistema no puede leer sus caracteres correctamente. Por ejemplo, es posible que el sistema de destino no pueda leer apóstrofes o caracteres especializados para idiomas asiáticos.

Obtenga más información sobre la integración de CSV

Los comerciantes tienen opciones cuando se trata de integrar sus sistemas. Y para muchos, la integración basada en archivos a través de CSV puede ser la opción correcta. Sin embargo, este enfoque de integración no viene sin sus desventajas que debe considerar.

Si está interesado en obtener más información sobre cómo automatizar su negocio a través de la integración basada en archivos, obtenga más información sobre la solución de transferencia de archivos de nChannel, que está diseñada para abordar directamente todos los desafíos descritos en este documento.