Exportar productos de Shopify en formato CSV

Shopify es una plataforma de comercio electrónico muy popular, utilizada ampliamente por empresas minoristas de todos los tamaños. Aunque Shopify ofrece herramientas fáciles de usar para configurar y administrar una tienda en línea, la gestión de la gran cantidad de datos que se manejan internamente, como catálogos de productos, información de clientes, registros de pedidos e inventario, puede volverse rápidamente compleja.

Las empresas a menudo necesitan integrar los datos de Shopify con bases de datos internas, sistemas ERP, sistemas CRM, almacenes de datos u otras plataformas para optimizar las operaciones, realizar análisis más profundos o facilitar la automatización de procesos.

Aquí es donde una herramienta de mapeo de datos con soporte para Shopify se vuelve esencial, permitiendo a las empresas transformar, mapear y transferir datos entre Shopify y otros sistemas de manera eficiente y precisa.

Veamos un ejemplo de un escenario común: la extracción de datos de productos desde Shopify a un archivo CSV, utilizando herramientas visuales en MapForce.

How Can You Get Data Out of Shopify?

Si bien Shopify proporciona las herramientas que las empresas necesitan para configurar y administrar sus tiendas en línea, obtener los datos necesarios para otras tareas desde la plataforma puede ser un poco más complicado.

Shopify ha ofrecido históricamente múltiples APIs y herramientas diseñadas para ayudar a los desarrolladores a acceder y exportar datos, pero recientemente ha estandarizado el uso de GraphQL como el formato de API preferido. De hecho, pronto exigirá que todas las nuevas aplicaciones de Shopify utilicen GraphQL. El enfoque de GraphQL permite realizar consultas muy específicas, lo que permite a los comerciantes solicitar únicamente los datos que necesitan en una sola llamada a la API, lo que mejora el rendimiento y reduce cualquier transferencia de datos innecesaria.

Shopify ofrece dos API de GraphQL principales que ayudan a los desarrolladores o profesionales de TI a acceder a los datos de las tiendas:

  • API de GraphQL para el panel de administración de Shopify: Esta es la API principal para las operaciones del lado del servidor. Proporciona acceso a los datos de la tienda, como productos, pedidos, clientes, inventario, información de envío, entre otros. Los desarrolladores pueden utilizar la API de GraphQL para el panel de administración para extraer y mapear datos a otros sistemas.

  • API de GraphQL para la tienda online de Shopify: Si bien la API para la tienda online se utiliza principalmente para crear experiencias de compra personalizadas y aplicaciones de interfaz de usuario, también proporciona acceso a datos de la tienda que son visibles para el público, como listados de productos, colecciones y procesos de pago. Esto es especialmente útil para empresas que desean integrar datos de Shopify en plataformas orientadas al cliente, como aplicaciones móviles personalizadas.

Utilizando MapForce para integrar datos de Shopify

Los desarrolladores pueden utilizar MapForce para integrar los datos de Shopify con otros formatos y sistemas, creando mapeos personalizados que llaman directamente a estas APIs de GraphQL. MapForce, al admitir las llamadas a Shopify como fuente o destino de cualquier proyecto de integración de datos, actúa como un puente, transformando las estructuras de datos de Shopify en los formatos requeridos por la estructura de datos de destino, o viceversa.

Para comenzar, los desarrolladores deben crear una aplicación personalizada dentro de su tienda Shopify. Una aplicación personalizada proporciona las credenciales de la API y los permisos necesarios para interactuar de forma segura con las API de Shopify. A diferencia de las aplicaciones públicas que se encuentran en la tienda de aplicaciones de Shopify, que son ofrecidas por socios de Shopify para uso general, las aplicaciones personalizadas se desarrollan específicamente para un caso de uso privado de una sola tienda y no están disponibles para otras tiendas. Esto permite a las empresas tener control total sobre cómo se accede y se utiliza los datos en sus proyectos de integración de datos o proyectos de ETL.

Conectar MapForce a las APIs de GraphQL

Para integrar los datos de Shopify en otros sistemas utilizando la API GraphQL de la administración o de la tienda, existen varios pasos clave que los propietarios de tiendas deben completar dentro de Shopify:

  1. Permitir el desarrollo de aplicaciones personalizadas Shopify restringe, por defecto, la creación de aplicaciones personalizadas para ayudar a proteger a los comerciantes de accesos no autorizados a la API. Antes de crear una aplicación personalizada, el propietario o administrador de la tienda debe habilitar primero el desarrollo de aplicaciones personalizadas en la configuración de su panel de administración de Shopify.

2.   Crear una aplicación personalizada ("Desarrollar aplicaciones") Una vez que se habilita el desarrollo de aplicaciones personalizadas, el siguiente paso es crear la propia aplicación. Esto se realiza a través de la sección "Desarrollar aplicaciones", donde el propietario de la tienda o el desarrollador pueden definir una nueva aplicación específicamente para fines de integración con la API.

3.   Asigne los permisos de acceso a la API correctos Shopify utiliza permisos detallados para controlar a qué datos puede acceder una aplicación. Dependiendo del uso que se le dé a la aplicación, se le deberán otorgar los permisos correspondientes de la API de administración o de la API de la tienda (por ejemplo, acceso para leer pedidos, escribir productos, leer clientes).

4.   Instale la aplicación personalizada en la tienda de Shopify
Una vez que la aplicación está configurada y se han asignado los permisos necesarios, debe instalarse directamente en la tienda de Shopify. Este proceso de instalación genera las credenciales de la API necesarias, incluyendo el token de acceso a la API.

5.   Obtener y almacenar el token de acceso a la API
El token de acceso proporciona un acceso seguro y autenticado a las API de Shopify. Este token será utilizado por su herramienta externa de mapeo de datos para autenticar las solicitudes a la API.

Asignar los datos de Shopify a un archivo CSV

Ahora, veamos un ejemplo de mapeo GraphQL en MapForce. Este proyecto de mapeo satisface una necesidad común: extraer datos de productos de Shopify a un archivo CSV para su carga en otro sistema, o incluso simplemente para importarlos a Excel para su análisis.

Al insertar un componente de Shopify en un proyecto de mapeo, MapForce le guiará a través del proceso de ingresar el nombre de su tienda, seleccionar la API de administración o la API de la tienda, e ingresar su token de acceso a la API. A continuación, puede definir la configuración de la conexión, configurar los ajustes de seguridad HTTP (si es necesario), agregar parámetros de encabezado relevantes y crear una consulta o una mutación.

Para ello, puede construir la consulta GraphQL de forma dinámica en el lado izquierdo, seleccionando elementos de las opciones disponibles en el lado derecho, lo que le guiará a través del proceso. También puede pulsar el botón "Obtener esquema" para que MapForce cree automáticamente la definición del esquema JSON para la respuesta de la API, basándose en la introspección del servidor y la consulta GraphQL. Además, puede guardar una versión en caché de ese esquema localmente para su uso futuro al abrir la configuración.

Para este ejemplo, utilizaremos una consulta para productos y especificaremos qué datos queremos obtener para cada nodo en el lado izquierdo a medida que construimos la consulta: el ID, el título y las variantes, junto con su respectivo código SKU y precio. No vamos a cubrir todos los detalles de cómo funciona GraphQL en esta publicación, pero existen muchos recursos en línea disponibles, como https://graphql.org/learn/ y https://www.shopify.com/partners/blog/getting-started-with-graphql, que puede utilizar para obtener más información al respecto.

A continuación, MapForce inserta la llamada a Shopify como un componente gráfico que muestra la estructura de la solicitud y la respuesta de la API.

Aquí es donde las cosas se complican un poco: dado que la API de GraphQL de Shopify se basa en la paginación y solo devuelve un número determinado de resultados por cada llamada a la API (es decir, una página de resultados), necesitaremos llamar a la API varias veces para obtener todos los elementos resultantes de nuestra consulta. Para lograr esto, vamos a encapsular esta llamada a la API en una función personalizada que llamaremos "getProducts", a la que podremos llamar de forma recursiva si hay páginas adicionales de resultados que recuperar.

Aquí es donde puede ver, en la esquina inferior derecha del mapa, dentro de la función "getProducts":

Básicamente, cuando la primera llamada a la API devuelve "verdadero" en el parámetro "hasNextPage", vamos a llamar a la misma función de nuevo de forma recursiva, estableciendo la variable "$after" con la posición del "endCursor" que fue devuelta por la llamada anterior a la API. Además, vamos a introducir una pausa de 1 segundo entre cada llamada a la API para evitar superar el límite de frecuencia de llamadas establecido por la API.

Y, obviamente, el resultado de esa llamada recursiva a la función getProducts también se añade al resultado de la función getProducts principal, de modo que, al final, devolvemos todos los resultados al mapeo principal.

Al encapsular la llamada real a la API dentro de esta función "getProducts", también estamos logrando un diseño realmente limpio y ordenado para la parte principal del proceso, donde tomamos los resultados de la llamada a la API y los convertimos en el archivo CSV resultante

Este proyecto de muestra se entrega con MapForce, y puede ingresar el nombre de su propia tienda de Shopify y el token de acceso para ejecutarlo. Para hacerlo, abra el archivo de ejemplo Shopify_ExportAllProducts.mfd desde el proyecto de ejemplos, luego haga doble clic en la función "getProducts" y, finalmente, haga doble clic en el objeto de llamada al servicio web POST. Es aquí donde debe ingresar la URL de su tienda, así como la cadena correcta para su token de acceso de Shopify.

Una vez que haya hecho eso, podrá cambiar a la pestaña "Salida" y verá una vista previa de la lista de todos sus productos, generada en formato CSV.

Puede guardar el resultado directamente o implementar este proyecto de mapeo en MapForce Server para una automatización de alto rendimiento.

Las herramientas gráficas de MapForce facilitan la exportación de datos desde Shopify a formato CSV, así como a otros formatos como XML, bases de datos, Excel y más.

Pruébelo usted mismo con una prueba gratuita de 30 días de MapForce.

Para obtener más información sobre la integración de datos de Shopify, consulte nuestro artículo sobre cómo crear una aplicación móvil para recopilar información del inventario y vincularla a Shopify en tiempo real.