Importa Data de Shopify a Google Sheets sin herramientas de pago

Shopify 20 de mar. de 2024

Si buscas en la web como obtener data de shopify para utilizarla luego en una planilla Google Sheets, encontrarás muchos ejemplos, pero prácticamente todos utilizan alguna herramienta pagada (como Zapier por ejemplo), con lo que terminas pagando por cada consulta.

En este post veremos como consultar la API de tu tienda directamente desde Google Sheets, de manera directa y gratuita. Crearemos una función que consulta esta API y devolver valores que podamos utilizar en nuestra planilla.

Para esto el primer paso es crear una aplicación privada en Shopify, con acceso a la información que quieras compartir con Google Sheets.

1. Creación de una aplicación privada en Shopify

Para habilitar consultas vía API desde Google Sheets, primero debemos crear una aplicación privada en Shopify. Esto nos proporcionará las credenciales necesarias para la autenticación.

Pasos para crear la aplicación:

  1. Ingresa a tu panel de administración de Shopify.
  2. Ve a "Configuración" > "Aplicaciones y canales de venta".
  3. En esta pantalla selecciona la opción"Desarrollar aplicaciones" y luego "Crear una aplicación".
  4. Proporciona un nombre para la aplicación y selecciona un correo electrónico de emergencia y haz click en el botón "Crear aplicación".
  5. En la sección de "Credenciales de la API", activa los permisos que necesitarás. Para este ejemplo, asegúrate de tener acceso a "Clientes", para esto dirígete "Configurar alcances de la API del panel de control" y de la lista de opciones que aparecerán selecciona "Clientes > read_customers" y da click en "Guardar".
  6. Cuando tengas todos los permisos seleccionados, da click en "Instalar aplicación" y confirma la instalación, con esto llegarás a la pantalla donde te entregarán el Token de acceso de la API del panel de control. Esta clave sólo la podrás revelar una vez, por lo que anótala en un lugar seguro (note confundas con la Clave Secreta API, la que debes guardar es la que comienza con "shpat_"
  7. Más abajo encontrarás la información de "Clave API", anótala también por que la necesitarás en el ejercicio.

Con la aplicación creada, ahora iremos a Google Sheets para la segunda parte de nuestro ejercicio.

2. Creación de una función en Google Sheets para obtener el número de clientes de Shopify

Ahora, integraremos la API de Shopify con Google Sheets usando Apps Script, el cual nos permitirá ejecutar código JavaScript personalizado.

Pasos para crear la función:

  1. Abre Google Sheets y crea una nueva hoja de cálculo.
  2. Ve a "Extensiones" > "Apps Script".
  3. Borra cualquier código en el editor y copia el siguiente script:
function getShopifyCustomersCount() {
  var baseUrl = 'https://tu-tienda.myshopify.com/admin/api/2024-01/customers/count.json';
  var username = 'tu_clave_api'; // Sustituye por tu clave API
  var password = 'tu_token_acceso_privado'; // Sustituye por tu token de acceso privado

  var headers = {
    "Authorization": "Basic " + Utilities.base64Encode(username + ':' + password)
  };
  
  var options = {
    "method": "get",
    "headers": headers,
    "muteHttpExceptions": true
  };

  try {
    var response = UrlFetchApp.fetch(baseUrl, options);
    var result = JSON.parse(response.getContentText());
    var count = result.count;

    return count;
  } catch (e) {
    Logger.log("Error fetching customer count: " + e.toString());
    return 'Error';
  }
}

Asegúrate de reemplazar 'https://tu-tienda.myshopify.com' con la URL de tu tienda Shopify, 'tu_clave_api' con tu clave API, y 'tu_token_acceso_privado' con tu token de acceso privado (Token de acceso de la API del panel de control, el que comienza con "shpat_").

Veamos lo que hace este script, baseUrl es la URL de la API que utilizarás de shopify, en este caso nos conectaremos a la API de clientes (consulta otras funcionalidades disponibles en https://shopify.dev/docs/api/admin-rest). La variable headers es el mecanismo de autenticación que utilizaremos (en este caso obtendremos los campos vía get), luego dentro del bloque try, realizamos la llamada a la API, traemos el JSON con el resultado y obtenemos de este el valor que viene en la variable count, que es el número de clientes en nuestra tienda Shopify.

Para saber que variable quieres obtener, puedes consultar la documentación de la API o también puedes usar postman para hacer una consulta directamenta a la API y ver que información trae, en nuestro ejemplo puedes hacer una llamada utilizando el método GET a la URL https://{{tu_clave_api}}:{{tu_token_acceso_privado}}@{{tu-tienda.myshopify.com}}/admin/api/2024-01/customers/count.json lo que nos devuelve una sola variable "count" con el número de clientes.

{"count":626}

2. Uso de la función en Google Sheets

Para usar la función que acabamos de crear, salva el script y presiona el botón "Deploy", con esto la función quedará disponible en Google Sheets para se usada de la misma forma que utilizas cualquier otra función. Simplemente escribe =getShopifyCustomersCount() en cualquier celda de tu planilla. Esto ejecutará la función y devolverá el número de clientes en tu tienda Shopify.

En el siguiente post, veremos como agregar parámetros a esta función para poder filtrar este conteo de clientes.

Etiquetas

Juan Pablo Traverso

Profesional con más de 25 años de experiencias en diseño, creación y crecimiento de plataformas digitales, principalmente en el área de servicios financieros & ecommerce.