Dónde está y cuándo se lanza
¿Dónde está el botón Sincronizar productos?
Abre Shopify › Configuración › Tiendas (Shopify › Configuration › Stores) y entra en la ficha de la tienda, en la pantalla Instancias de Shopify (Shopify Instances): ahí está el botón. Para llegar al menú necesitas permisos: el tramo Configuración (Configuration) pide Operador (Operator) y el tramo Shopify pide Visor (Viewer); si te falta uno, no ves ese tramo. El botón no lleva condición de visibilidad y existe en Odoo 17, 18, 19 y 20.

Sincronizar productos, para Odoo 17, 18, 19 y 20.¿Hay que pulsarlo a mano?
Hay un camino automático: la tarea programada Sincronizar productos de Shopify (Shopify Sync Products) llega a la misma acción cada hora, pero viene desactivada al instalar; mientras siga así, no corre sola. Aparte, la tarea Procesar webhooks de Shopify (Shopify Process Webhooks), que corre cada minuto y viene activa al instalar, llega a otro método del módulo: uno que pide a Shopify productos concretos por su identificador, uno a uno, y no recorre el catálogo por páginas. Pulsar Sincronizar productos es la forma de lanzar la pasada por páginas cuando tú quieras, sin esperar a la tarea.
¿Cómo se llama el botón con Odoo en otro idioma?
Con Odoo en castellano se llama Sincronizar productos. El esquema siguiente recoge además la traducción al alemán, al francés, al italiano y al portugués.


Qué comprueba y qué cambia
En Odoo 20, el módulo hace esto al pulsar el botón:
¿Qué hace nada más empezar?
Abre una entrada en el registro de sincronización, de tipo productos y en curso, y prepara una consulta a Shopify. Por cada producto, la consulta pide título, vendor, tipo de producto, estado, handle, descripción, etiquetas, fecha de actualización, imagen destacada, opciones y variantes (SKU, título, precio, precio de comparación, código de barras, cantidad de inventario, opciones elegidas, artículo de inventario e imagen). Los productos llegan ordenados por fecha de actualización. Antes de guardar cada uno, el módulo se asegura de que lleve todas sus variantes.
¿Trae todo el catálogo cada vez?
Depende del campo Última sincronización de productos (Last Product Sync), que se ve en la ficha de la tienda y en la lista de Instancias de Shopify, solo de lectura: lo rellena el código, no tú. Si está vacío, la consulta va sin filtro de fecha. Si tiene valor, el módulo pide solo los productos actualizados desde esa fecha (incluida). Cuando la pasada termina entera, el campo pasa a la hora actual.
¿Qué pasa si hay más productos que páginas?
Dos ajustes marcan el tamaño de la pasada, en la ficha de la tienda, pestaña Operaciones (Operations), grupo Configuración de sincronización (Sync Settings). Tamaño de página (Page Size) vale 50 por defecto; su ayuda avisa de que por encima de 100 Shopify rechaza la consulta y de que una página grande en una consulta con mucha información puede superar el límite de coste, y el botón nunca pide más de 100 por página. Páginas máx. (Max Pages) vale 20 por defecto. La pasada se detiene cuando Shopify no tiene más páginas o cuando llega a ese máximo.
Si se corta con páginas pendientes, el módulo deja en la ficha de la tienda un mensaje de que la pasada se paró en el límite de páginas y desde qué fecha seguirá la siguiente. El campo Última sincronización de productos pasa entonces a la fecha de actualización del último producto leído, siempre que esa fecha sea posterior a la guardada (o no hubiera ninguna guardada); si no lo es, pasa a la hora actual.
¿Un producto que falla rompe la sincronización?
No. Cada producto se guarda de forma aislada: si uno falla, el módulo lo omite, deja un aviso en el registro del servidor y sigue con el siguiente. Al final, la entrada del registro de sincronización anota como actualizados solo los productos guardados; los omitidos no suman como errores, así que una entrada correcta no descarta que se haya omitido alguno. Para eso está el aviso del registro del servidor.
Cuando para con un error
¿Qué pasa si la llamada a Shopify falla?
Cada llamada admite hasta tres intentos. Si Shopify contesta con un 401 (el token ya no vale) y la tienda puede renovarlo, el módulo lo renueva y reintenta una vez más. Si contesta con un 429 (límite de ritmo), espera según la cabecera Retry-After y reintenta, con una espera máxima de treinta segundos. Cualquier respuesta con código 400 o superior que no se resuelva así detiene la llamada con un error. Cuando el fallo sale del bucle de productos, la entrada del registro queda como fallida con el texto del error (recortado a un máximo de 2000 caracteres), el error se vuelve a lanzar para que la acción se detenga y no se actualiza Última sincronización de productos.
¿Y si FlexigoTech Cloud pausa la conexión?
Si la conexión de la tienda pasa por FlexigoTech Cloud, las llamadas van por su relé y Odoo no se conecta directamente a la tienda. Si el servicio lo pausa, se detiene toda la pasada, no se omite ningún producto y la entrada del registro se borra en lugar de quedar como fallida.
Qué necesitas para usarlo
El módulo es de pago único por versión de Odoo y está publicado para 17, 18, 19 y 20; el precio de cada versión está en la ficha y en la página del módulo. Además necesita la suscripción a FlexigoTech Cloud, plan Conector: 49 € al mes o 490 € al año sin IVA, hasta 3 cuentas de la plataforma (plan Pro: 98 € al mes o 980 € al año, hasta 10). La conexión guarda cifradas las credenciales, vigila la sincronización y avisa por correo si falla. Sin suscripción, o con el servicio suspendido, se para lo que da la suscripción; los datos se quedan en tu Odoo. Si compras en el Odoo App Store, cada versión de Odoo se compra allí. Si necesitas implantar Odoo o ajustar la integración a tu catálogo, FlexigoTech implanta Odoo 17, 18, 19 y 20 y desarrolla conectores e integraciones a medida.
Sigue leyendo
Comprobado en el código del conector (versión 20.0) y en las fuentes enlazadas
Fuentes
- Código del módulo: flexigobe_shopify_seller_connector 20.0 (03641761): views/shopify_instance_views.xml
- Código del módulo: flexigobe_shopify_seller_connector 20.0 (03641761): models/shopify_instance.py
- Código del módulo: flexigobe_shopify_seller_connector 20.0 (03641761): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
