Feedoptimise
Feedoptimise
menu
Prueba gratuita de 7 días

Actualizaciones parciales del feed para importaciones de Shopify: importaciones más rápidas de precios, stock y nuevos productos

¿Tienes una tienda Shopify con una gran cantidad de productos y sus variaciones? ¿Y muchos metafields? Entonces quizá hayas notado lo dolorosamente lenta que puede ser una importación completa de este tipo de tiendas. La razón está en la naturaleza de los límites de tasa de la Shopify GraphQL Admin API. Cuanto más rica es la información que consulta tu integración, mayor es su coste en términos del límite de la API. Como resultado, una integración puede verse obligada a ralentizarse drásticamente para no gastar todos sus puntos de cuota demasiado pronto.

Para abordar este problema, hemos introducido un par de nuevas funciones en la integración de Shopify de Feedoptimise: ahora puedes ejecutar actualizaciones parciales (o deltas/importaciones incrementales) en paralelo con las importaciones completas habituales.

Por qué las importaciones completas de Shopify pueden ser lentas en catálogos grandes

Al usar la Shopify GraphQL Admin API, es necesario llevar un control del presupuesto de tu límite de puntos. Cada campo incluido en una sola llamada a la API consume una cierta cantidad de puntos, según una fórmula compleja. Los valores escalares simples, los enums y los objetos consumen 1 punto por llamada. El coste de las conexiones depende del número de elementos devueltos. Las mutaciones (escrituras) cuestan 10 puntos por llamada.

Cada tienda comienza con 1000 puntos en el pool. Los puntos se reponen según una tasa constante por segundo basada en el nivel de tu plan. El plan estándar de Shopify ofrece una tasa de reposición de 100 puntos/seg; 200 puntos/seg para el plan Advanced y hasta 1000 puntos/seg para los planes Shopify Plus o Enterprise.

Dependiendo de la cantidad de información solicitada de cada producto en una consulta masiva (información de precio y stock, metafields, imágenes y referencias, traducciones), una sola consulta puede consumir 50 o 100 puntos fácilmente, a veces incluso más después de agrupar muchos productos en una sola. Una vez que el presupuesto llega a cero, la tasa queda limitada a una reposición lenta. Aunque Shopify devuelve puntos a un ritmo fijo e independientemente de la velocidad a la que el software solicitante los consuma.

Por lo tanto, por ejemplo, una tienda con 100.000 SKU con un uso intensivo de metafields requeriría muchos puntos por consulta para un solo producto, más que la tasa de reposición. Por ello, la integración se ve obligada a esperar hasta obtener la cuota de puntos para poder realizar otra llamada a la API.

Cómo las actualizaciones parciales superan este problema

Hemos desarrollado tres modos de actualización parcial para evitar los problemas mencionados. Mientras el resto de los atributos de tus productos se importa durante las importaciones completas semanales/mensuales habituales, las siguientes actualizaciones parciales permiten obtener datos actualizados de precios y stock o nuevos productos mucho más rápido, cada pocas horas.

Tres tipos de actualizaciones parciales

Aquí tienes una breve lista de lo que se incluye en cada modo de actualización parcial:

  1. Actualizaciones de precios - información de precios actual en todos los productos y variantes, incluidas diferentes divisas.
  2. Actualizaciones de inventario - información de stock para todos tus productos.
  3. Importación de productos añadidos recientemente - Es posible combinar cualquiera o todos los modos indicados. Los atributos de tu catálogo permanecen intactos hasta la siguiente importación completa programada.

Es posible combinar cualquiera o todos los modos indicados. Los atributos de tu catálogo permanecen intactos hasta la siguiente importación completa programada.

Programación independiente para cada modo

Cada uno de los tres tipos de actualización parcial puede programarse de forma independiente en cuanto a frecuencia. Aquí tienes un ejemplo de programación óptima:

  • Importación completa - cada noche o durante horas de baja demanda una vez a la semana;
  • importaciones parciales - varias veces al día, por ejemplo, cada pocas horas empezando temprano por la mañana.

La parte que consume más tiempo (extracción de datos, obtención de traducciones, resolución de variantes, procesamiento de imágenes) seguirá realizándose por la noche como de costumbre. Pero los cambios de precios y stock se propagan a tus feeds en pocas horas. Te permite responder rápidamente a los cambios del mercado y adaptar los precios de tus productos.

Además, las actualizaciones parciales reducen el número de llamadas a la API, por lo que es más probable que tu presupuesto de límite de puntos sea suficiente para otras apps e integraciones conectadas a la misma tienda.

La desventaja

Aunque las actualizaciones parciales son excelentes para obtener precios y niveles de stock actualizados o importar productos añadidos recientemente, otros atributos permanecerán tal cual hasta que se ejecute la siguiente importación completa. Si has cambiado el valor de un metafield, editado el título de un producto, cambiado una imagen o realizado cualquier otra acción con el producto, el cambio solo tendrá efecto con la siguiente importación completa.

Este enfoque se adapta a la mayoría de las tiendas, ya que los detalles del producto como el título, los metafields y la descripción no cambian tan a menudo como los precios y el stock. Y siempre que necesites enviar una actualización de contenido urgente, aún puedes forzar una importación completa bajo demanda.

¿Cuáles son los beneficios?

Uno de nuestros clientes tenía problemas porque su importación de Shopify tardaba más de 20 horas en completarse. Esto ocurría en su tienda más grande, que contenía más de 100.000 SKU y variantes y utilizaba ampliamente metafields y traducciones en varios idiomas. Desde que la nueva función está disponible, hemos podido mejorar significativamente la situación. Los ciclos de importación parcial actualmente tardan menos de 30 minutos en completarse.

Aunque los tamaños del catálogo y los outputs de feed generados se mantuvieron sin cambios, las importaciones parciales ahora extraen cantidades menores de información sobre cada producto, lo que permite realizar un mayor número de solicitudes por minuto. Las importaciones completas habituales ocurren solo una vez a la semana, mientras que los precios y el stock se actualizan en un periodo de tiempo más corto.

¿Quién debería habilitar esta función?

La funcionalidad propuesta puede ser útil especialmente para quienes tienen:

  • Tiendas grandes (más de 100.000 SKU);
  • Uso intensivo de metafields y traducciones;
  • Varios mercados configurados en su tienda Shopify;
  • Cambios frecuentes en precios o stock.

Si tu catálogo es lo suficientemente pequeño como para poder importarse regularmente en un par de minutos, difícilmente experimentarás alguna mejora de rendimiento.

¿Cómo activar esta función?

Solo inicia sesión en tu cuenta de Feedoptimise. Ve a la página de configuración de tu fuente de Shopify y encuentra los interruptores para cada tipo de importación parcial justo al lado de tu configuración actual de importación completa. Actívalos, elige las frecuencias necesarias y la próxima vez que se ejecute tu importación, lo hará en modo parcial.

Y si necesitas ayuda para configurar el calendario de importación parcial, solo contáctanos a través de la sección de soporte de nuestra plataforma y nuestro equipo estará encantado de ayudarte.