Aller au contenu principal
Shopify

Ce que fait le bouton « Synchroniser les produits » de Shopify Connector

Le bouton Synchroniser les produits (Sync Products) de la fiche de l'instance demande à Shopify les produits page par page, transmet chacun au lien produit du module et, si tout se passe bien, note la date dans Last Product Sync ; en cas d'échec, il s'arrête et laisse l'erreur dans le journal de synchronisation. Voici les vérifications et les étapes dans l'ordre où elles se produisent.

FlexigoTech · Responsable : Víctor Gómez · Mis à jour le 5 novembre 2026

L'essentiel

Module
Shopify
Versions
Odoo 17, 18, 19 et 20
Vérifié
dans le code du connecteur, version 20.0 · dans les sources citées à la fin
Lecture
5 min

Avant de cliquer : où il se trouve et ce qu'Odoo fait seul

La fiche de l'instance s'ouvre depuis le menu Ventes (Sales) : allez dans Shopify, puis dans Control Center et enfin dans Instances. Le bouton Synchroniser les produits existe dans les branches 17, 18, 19 et 20 d'Odoo et, d'après la condition de sa vue, il est toujours visible.

Schéma réalisé avec du code : le chemin de menu Sales, Shopify, Control Center, Instances et le bouton Sync Products
Schéma réalisé avec du code à partir du code publié du module, ce n'est pas une capture d'Odoo : le chemin du menu et le bouton, présents dans Odoo 17, 18, 19 et 20.

Le bouton n'est pas le seul chemin. Ce qu'il fait, la tâche planifiée Shopify Sync Products le fait aussi, toutes les heures, mais elle est désactivée à l'installation du module. Ce qui suit décrit le code publié pour Odoo 20.0.

  • Décidez si la tâche planifiée Shopify Sync Products (toutes les heures, désactivée à l'installation) vous suffit : si vous ne l'activez pas, vous pouvez lancer la synchronisation des produits avec ce bouton.
  • Ouvrez la fiche de l'instance et notez la valeur de Last Product Sync. Elle s'affiche dans la fiche et dans la liste des instances, en lecture seule : c'est le module qui l'écrit, pas vous.
  • Dans l'onglet Operations, groupe Paramètres de synchronisation (Sync Settings), vérifiez Page Size (50 par défaut) et Max Pages (20 par défaut). Si vous mettez moins de un dans l'un des deux, le module utilise un.
  • Si l'instance ne passe pas par FlexigoTech Cloud, le code exige qu'elle ait un jeton d'accès avant d'envoyer quoi que ce soit.
Your Odoo doesn't talk to Amazon, Temu or Shopify?
Vidéo : Your Odoo doesn't talk to Amazon, Temu or Shopify? (vidéo en anglais)

Ce que fait le bouton, dans l'ordre

  1. Il crée un enregistrement de synchronisation de l'instance, de type produits, marqué comme en cours.
  2. Il prépare la requête vers Shopify. Elle demande les produits triés par date de mise à jour et, pour chacun, entre autres données : titre, fournisseur, type de produit, statut, description, étiquettes, date de mise à jour, image principale, options et jusqu'à 250 variantes avec leur SKU, prix, prix de comparaison, code-barres et quantité en stock.
  3. Il décide du filtre. Si Last Product Sync est vide, il n'en met aucun. S'il contient une date, il ne demande que les produits mis à jour dans Shopify depuis ce moment.
  4. Il appelle Shopify page par page, à la taille de Page Size, en passant à chaque appel le curseur de la page précédente.
  5. Il remet chaque produit reçu au lien produit Shopify du module et l'ajoute au total.
  6. Il s'arrête quand Shopify indique qu'il n'y a plus de pages ou quand il atteint le nombre de pages de Max Pages.
  7. Il écrit dans Last Product Sync la date et l'heure de ce moment et clôt l'enregistrement de synchronisation, avec le total compté comme produits mis à jour.

Un détail sur la dernière étape : la date est écrite à la sortie de la boucle, qu'il n'y ait plus de pages ou que l'on ait été coupé par Max Pages. L'exécution suivante part donc de cette date. Gardez-le en tête en fixant Page Size et Max Pages dans une boutique avec beaucoup de produits.

Ce que fait l'appel à Shopify

  • Si l'instance passe par FlexigoTech Cloud, la requête transite par le service, qui ajoute le jeton qu'il conserve (et renouvelle). Odoo ne se connecte pas à la boutique et ne reçoit pas le jeton.
  • Sans ce chemin, Odoo appelle Shopify avec le jeton de l'instance.
  • Si Shopify répond que vous avez dépassé sa limite de requêtes, l'appel attend (le temps indiqué par Shopify ou quelques secondes, avec un plafond de trente, et plus longtemps à chaque nouvel essai) puis recommence. Il fait jusqu'à trois tentatives.
  • Si Shopify rejette le jeton dès la première tentative et que l'instance a un jeton de renouvellement, le module refait l'appel une fois, avec le jeton que l'instance a à ce moment-là.
  • Toute autre réponse d'erreur, une réponse contenant des erreurs ou une réponse contenant des erreurs utilisateur arrête l'action avec cette erreur. Elle s'arrête aussi si les tentatives sont épuisées.

En cas d'échec : ce qui change et ce qui ne change pas

  • Face à une erreur, le module marque l'enregistrement de synchronisation comme échoué, y enregistre le texte de l'erreur (tronqué s'il est très long) et relance l'erreur, de sorte que l'action s'arrête.
  • Lors d'une exécution échouée, Last Product Sync n'est pas mis à jour : cette étape vient après la boucle.
  • Si FlexigoTech Cloud met l'exécution en pause, le module supprime l'enregistrement de cette exécution (il ne reste pas comme échoué) et l'action s'arrête quand même.

Après le clic : que vérifier

  • Last Product Sync affiche la date et l'heure actuelles dans la fiche et dans la liste des instances.
  • Si votre boutique a plus de produits que ce que permet Page Size multiplié par Max Pages, rappelez-vous que la date est écrite quand même et que l'exécution suivante ne demande que ce qui a été mis à jour depuis.
  • Vérifiez comment le bouton s'appelle dans votre langue d'Odoo. Avec Odoo en français, c'est Synchroniser les produits ; les autres traductions publiées figurent dans le schéma.
Schéma réalisé avec du code du texte Sync Products selon la langue d'Odoo : espagnol, allemand, français, italien et portugais
Schéma réalisé avec du code à partir des traductions publiées du module, ce n'est pas une capture d'Odoo : en espagnol, Synchroniser les produits ; en allemand, Produkte synchronisieren ; en français, Synchroniser les produits ; en italien, Sincronizza prodotti ; en portugais, Sincronizar produtos.

Pour le stock de Shopify, il existe un autre article : ce que fait le bouton « Pull Stock ».

Prix et aide

Shopify Connector coûte 9 € par version d'Odoo, HT, en paiement unique (pour 17, 18, 19 et 20 ; consultez la fiche), et nécessite l'abonnement à FlexigoTech Cloud : plan Connecteur, 49 €/mois ou 490 €/an HT.

Si vous êtes en train de mettre en place Odoo et voulez que la synchronisation des produits soit bien configurée, FlexigoTech déploie Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure.

À lire aussi

Ce que fait le bouton Pull Stock de Shopify Connector, pas à pasCe que fait le bouton Pull Stock de Shopify Connector dans Odoo 20 : quand il apparaît, ce qu'il vérifie, quels ajustements d'inventaire il crée et quelles…
Vérifié dans le code du connecteur (version 20.0) et dans les sources citées

Sources