Ce qu'est cette tâche et quand elle s'exécute
C'est une tâche planifiée d'Odoo qui s'appelle Synchroniser les produits Shopify (Shopify Sync Products). Elle s'exécute toutes les heures et elle est désactivée à l'installation du module : tant que personne ne l'active, elle ne fait rien. Elle existe dans toutes les branches publiées du module (Odoo 17, 18, 19 et 20) ; dans Odoo 17, elle est configurée pour se répéter sans fin.

Les boutiques s'ouvrent depuis le menu Shopify › Configuration › Boutiques. Si vous ne voyez pas une partie du menu, c'est une question de droits : la partie Shopify demande Lecteur et la partie Configuration demande Opérateur.


Un cas pour suivre un passage complet
Exemple Cas illustratif : l'entreprise et ses chiffres sont inventés pour expliquer le flux.
Casa Olivar est une entreprise fictive d'articles de maison, avec une boutique Shopify principale et une seconde petite boutique, toutes deux connectées à son Odoo. Marta, l'administratrice, installe le module et active la tâche Synchroniser les produits Shopify. Dans Odoo 20, à chaque passage, la tâche fait ce qui suit lorsque l'heure de la prochaine exécution arrive :
- Odoo lance la tâche et vérifie d'abord que la personne qui l'exécute est administratrice. Si ce n'est pas le cas, elle s'arrête avec le message
Only an administrator can run this scheduled action.et ne fait rien de plus. - Elle choisit les boutiques avec lesquelles travailler : celles qui sont actives, qui ont la synchronisation des produits activée et qui ont des identifiants enregistrés, que ce soit un jeton d'accès ou le secret de l'API de l'app. La seconde boutique de Casa Olivar n'a encore ni l'un ni l'autre, elle n'entre donc pas dans le passage.
- Pour chaque boutique choisie, la tâche demande les produits à Shopify page par page.
- Chaque produit est enregistré de façon isolée. Si l'un échoue, la tâche note un avertissement dans le journal technique et passe au suivant : un mauvais produit n'interrompt pas le passage. La tâche compte les produits qui ont bien été enregistrés.
- Le passage se termine quand il n'y a plus de pages ou quand la limite de pages de la boutique est atteinte. S'il se termine complètement, la tâche enregistre l'heure actuelle comme dernier moment de synchronisation des produits. S'il a été interrompu par la limite alors qu'il restait des pages, la tâche peut enregistrer à la place la date de mise à jour du dernier produit vu, à condition qu'elle soit postérieure à celle qui existait déjà : jamais en arrière. L'idée est que le passage suivant reprenne à partir de là au lieu de considérer comme vu tout ce qui n'a pas été lu.
- Si la synchronisation d'une boutique entière échoue, la tâche note l'échec dans le journal technique et continue avec la boutique suivante.
- Il y a une exception : si FlexigoTech Cloud met la synchronisation en pause, le passage de cette boutique s'arrête sans sauter aucun produit et n'est pas enregistré comme échoué.
Dans le cas de Casa Olivar, la boutique principale a plus de pages de produits que la limite. Le premier passage est interrompu et celui de l'heure suivante reprend depuis le dernier produit vu, jusqu'à ce qu'un passage arrive à la fin.
Quoi vérifier si elle ne fait rien
Parcourez ces vérifications dans l'ordre.
- La tâche est désactivée. Elle l'est à l'installation. Tant qu'elle n'est pas activée, elle ne s'exécute pas.
- La boutique ne remplit pas les conditions. La tâche ne prend que les boutiques actives, avec la synchronisation des produits activée et avec un jeton d'accès ou le secret de l'API de l'app enregistrés. Une boutique avec des identifiants client peut ne pas avoir de jeton avant son premier appel, c'est pourquoi il suffit d'avoir des identifiants. Ouvrez les boutiques depuis
Shopify › Configuration › Boutiques. - La personne qui l'exécute n'est pas administratrice. La tâche s'arrête avec
Only an administrator can run this scheduled action.. - FlexigoTech Cloud a mis la synchronisation en pause. Le passage de la boutique concernée est interrompu et n'est pas enregistré comme échoué. Sans abonnement, ou avec le service suspendu, ce que fournit l'abonnement s'arrête ; les données restent dans votre Odoo.
- Le passage a été interrompu par la limite de pages. S'il restait des pages, le passage suivant reprend depuis le dernier produit vu.
- Il manque un produit précis. Si ce produit échoue à l'enregistrement, la tâche le saute, laisse un avertissement dans le journal technique et continue avec les autres.
Ce qu'il faut retenir du cas
Un produit qui pose problème est sauté, et une boutique qui échoue n'empêche pas de traiter la suivante. Ce qui arrête vraiment la tâche, c'est qu'elle ne soit pas exécutée par un administrateur ; une pause de FlexigoTech Cloud interrompt le passage de la boutique concernée. C'est pourquoi, quand elle « ne fait rien », il convient de vérifier d'abord que la tâche est activée et que la boutique remplit les conditions.
Comment FlexigoTech vous aide
Le module est en paiement unique par version et nécessite l'abonnement à FlexigoTech Cloud (plan Connecteur : 49 €/mois ou 490 €/an HT). La connexion passe par FlexigoTech Cloud, qui conserve les identifiants chiffrés, surveille la synchronisation et prévient par e-mail en cas d'échec. Il est publié pour Odoo 17, 18, 19 et 20 ; le prix de chaque version figure sur la fiche d'Odoo Apps et sur la page du module. Avec l'abonnement, le module pour les nouvelles versions d'Odoo est inclus si vous l'avez acheté sur flexigotech.com ; sur l'Odoo App Store, chaque version s'achète là-bas.
Si vous êtes en train de mettre en place Odoo et souhaitez vérifier comment se présente la synchronisation de votre catalogue, FlexigoTech déploie Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure.
À lire aussi
Vérifié dans le code du connecteur (version 17.0 et 20.0) et dans les sources citées
Sources
- Code du module : flexigobe_shopify_seller_connector 20.0 (d7e627b4): data/ir_cron_data.xml
- Code du module : flexigobe_shopify_seller_connector 17.0 (437257e3): data/ir_cron_data.xml
- Code du module : flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/shopify_instance.py
- Code du module : flexigobe_shopify_seller_connector 20.0 (d7e627b4): models/fgt_cloud.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_seller_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
