D'abord, le chemin qui ne passe pas par le bouton
Pour les commandes et les produits, Odoo n'a pas besoin que vous cliquiez sur quoi que ce soit : des tâches planifiées appellent les mêmes actions que Run. Ce qui suit décrit le code d'Odoo 20.0 ; le bouton existe dans les versions 17, 18, 19 et 20.
- Vérifiez la tâche planifiée
Shopify Sync Orders: elle est installée désactivée et, une fois activée, elle s'exécute toutes les cinq minutes. - Vérifiez
Shopify Sync Products: elle aussi est installée désactivée et s'exécute toutes les heures. - Gardez en tête le fonctionnement de celle des commandes : seul un administrateur peut l'exécuter et elle parcourt les instances actives qui ont la synchronisation des commandes activée et un jeton d'accès. Si une instance échoue, elle laisse l'erreur dans le journal du serveur et passe aux suivantes.
- Utilisez
Runquand vous voulez lancer la synchronisation à la main : il travaille sur l'instance que vous choisissez, sans ces conditions de sélection, il peut lancer en plus le stock et les webhooks, et si quelque chose échoue l'erreur vous est affichée.

Avant de cliquer : l'écran et ses cases
Le bouton Run se trouve sur l'écran Synchronisation manuelle Shopify (Shopify Manual Sync) et il est toujours visible, sans aucune condition. Ce sont les champs de cette fiche qui décident de ce qu'il fait.
- Choisissez l'instance de la boutique dans le champ
Instance. - Laissez cochée
Synchroniser les commandes(Sync Orders) si vous voulez importer des commandes : elle est cochée par défaut. - Cochez
Push Stockseulement si vous voulez lancer aussi cette action : elle est décochée par défaut. - Cochez
Register Webhooksseulement si nécessaire : elle est décochée par défaut et n'est visible que pour les utilisateurs disposant du droit Sales Administrator ou Settings administrator. - Assurez-vous qu'au moins une action reste cochée, sinon le bouton s'arrête aussitôt.

Run et, à côté, les messages qui peuvent l'arrêter.Au clic : ce qu'il fait, dans l'ordre
Le bouton parcourt ses actions l'une après l'autre. Si l'une s'arrête sur une erreur, les suivantes ne sont pas exécutées, et si tout se passe bien la fenêtre se ferme.
- Sélection. Il vérifie d'abord qu'une action est cochée. Sinon, il s'arrête avec l'avertissement que vous verrez plus bas.
- Commandes (si
Synchroniser les commandesest cochée). Il cherche dans Shopify des commandes de tout statut, avec le filtre de date de l'instance quand il y en a un. - Première importation. Si cette recherche ne trouve rien et que l'instance n'a encore aucune commande Shopify importée, il relit tout l'historique sans filtre de date. Une boutique qui a déjà des commandes ne refait pas cette lecture.
- Ce qui change dans l'instance. S'il a importé des commandes, il enregistre la date et l'heure de la dernière synchronisation des commandes, remet à zéro le compteur d'erreurs consécutives et vide la dernière erreur de synchronisation.
- Produits (quand cette action est choisie). Il lit les produits de Shopify par pages, avec la taille de page de l'instance, et traite chaque produit reçu. Il s'arrête quand il n'y a plus de pages ou que le nombre maximum de pages de l'instance est atteint, puis il enregistre la date de la dernière synchronisation des produits.
- Stock (si
Push Stockest cochée). Il lance l'action de stock de l'instance. - Webhooks (si
Register Webhooksest cochée). Il vérifie le droit, l'URL et les sujets, puis ajuste les abonnements de la boutique (détail dans la section suivante).
Ce que fait l'étape des webhooks
- Le module vérifie que la personne qui clique est Sales Administrator ou Settings administrator. Les vues ne font que masquer la case : la vérification est aussi faite à l'exécution.
- Il écarte toujours le sujet des commandes mises à jour et retire les sujets de commandes ou de produits qui ne sont pas activés dans l'instance.
- Il lit les abonnements qui existent déjà dans Shopify et supprime ceux qui pointent vers une autre URL, ceux d'un sujet qui n'est plus d'actualité et les doublons. Si une suppression échoue, il le note dans le journal du serveur et continue.
- Il crée dans Shopify les abonnements manquants, un par sujet, et ignore ceux qui existent déjà avec cette URL.
En cas d'échec : quel message, pourquoi et que faire
Sélectionnez au moins une action.(Select at least one action.) : aucune action n'était cochée. Cochez-en une et cliquez de nouveau.

Only a Sales Administrator or a Settings administrator can register the store's webhooks.: la personne qui clique n'a aucun de ces droits. Qu'un utilisateur qui en dispose le fasse.L'URL webhook n'est pas disponible. Vérifiez l'URL de base Odoo et le jeton webhook.(Webhook URL is not available. Check Odoo base URL and webhook token.) : contrôlez ces données, comme le demande le message lui-même.Veuillez configurer au moins un sujet webhook.(Please configure at least one webhook topic.) : configurez un sujet de webhook dans l'instance. Il peut aussi apparaître si, après avoir retiré les sujets de commandes ou de produits non activés, il n'en reste aucun.La synchronisation de la commande Shopify a échoué pour … : …(Shopify order sync failed for …: …) : après « pour » figure le domaine de la boutique et après les deux-points l'erreur reçue. Lisez l'erreur indiquée après les deux-points et corrigez la cause avant de recommencer.
Coût et aide
Le module coûte 9 € HT par version d'Odoo, pour 17, 18, 19 et 20, et nécessite l'abonnement à FlexigoTech Cloud : le plan Connecteur est à 49 € HT/mois ou 490 € HT/an.
Si vous mettez en place Odoo et voulez que la synchronisation Shopify soit bien réglée, FlexigoTech déploie Odoo et développe des connecteurs et des intégrations sur mesure.
À lire aussi
Vérifié dans le code du connecteur (version 20.0) et dans les sources citées
Sources
- Code du module : flexigobe_shopify_connector 20.0 (c7078cd8): wizard/shopify_sync_wizard_views.xml
- Code du module : flexigobe_shopify_connector 20.0 (c7078cd8): wizard/shopify_sync_wizard.py
- Code du module : flexigobe_shopify_connector 20.0 (c7078cd8): models/shopify_instance.py
- apps.odoo.com/apps/modules/20.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/17.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/18.0/flexigobe_shopify_connector
- apps.odoo.com/apps/modules/19.0/flexigobe_shopify_connector
- flexigotech.com/precios.html
- flexigotech.com/en/services.html
