Faire circuler les données · Module 10
Synchroniser avec Shopify
C'est ici que le travail paie : vos fiches enrichies partent vers votre boutique, jusqu'à la publication sur votre site public, puis s'y tiennent à jour, à la main ou automatiquement selon votre réglage. Ce module couvre les prérequis Shopify, la connexion, la correspondance des champs, la publication et le suivi.
15 min de lecture
Le principe
cocoPIM reste la source de vérité : vous enrichissez dans le PIM, et le connecteur pousse les fiches vers Shopify : titres, descriptions, variantes, prix, images, champs personnalisés. Le flux est à sens unique : le PIM écrit, Shopify reçoit. Et la synchronisation est idempotente, un mot technique pour une garantie simple : renvoyer dix fois le même produit ne crée pas dix doublons, cela met à jour la même fiche Shopify. Vous pouvez donc synchroniser sans crainte.
Source de vérité
cocoPIM
- fiches enrichies + images
- état par canal :
- Publié · Archivé · Erreur
Le connecteur traduit
Synchronisation
- champs natifs + metafields
- images sans doublon
- stock : seulement si activé
Côté Shopify
Admin Shopify
- produits, variantes, metafields
Online Store
- visible si « Publié »
- retiré si « Dépublié »
Prérequis : donner à cocoPIM l’accès à votre boutique
Premier prérequis, côté cocoPIM : le connecteur Shopify est inclus à partir de l’offre Pro. Côté Shopify ensuite : pour écrire dans votre boutique, cocoPIM doit y être explicitement autorisé, avec des droits précis, ni plus ni moins. Depuis le 1er janvier 2026, Shopify ne permet plus de créer d’« application personnalisée » depuis l’admin d’une boutique. La voie à suivre : vous créez une petite application dans le Dev Dashboard de votre organisation Shopify, vous l’installez sur votre boutique, puis vous donnez à cocoPIM ses deux identifiants, le Client ID et le Client secret. cocoPIM en tire seul un accès valable 24 heures et le renouvelle tout seul : il n’y a rien à republier ni à déclarer chez Shopify, et aucune application cocoPIM à installer. Les six droits à accorder, et ce qu’ils autorisent :
- read_products + write_products : lire et écrire les fiches, soit titres, descriptions, variantes et champs personnalisés (metafields).
- read_publications + write_publications : lister vos canaux de vente et y publier ou masquer les produits ; c’est ce qui permet à « Synchroniser » et « Dépublier » de piloter la visibilité sur votre site public.
- write_files : envoyer vos images (principale + galerie).
- write_inventory : le stock. cocoPIM ne s’en sert que si vous activez « Le PIM gère le stock sur ce canal », mais le droit est demandé dès le départ.
La marche à suivre, une seule fois par boutique :
Ouvrez le Dev Dashboard de la bonne organisation
Rendez-vous sur dev.shopify.com/dashboard avec le compte qui gère l’organisation Shopify propriétaire de votre boutique. C’est le point essentiel : l’application et la boutique doivent appartenir à la même organisation Shopify, sinon Shopify refusera de délivrer l’accès.
Créez l'application
Cliquez Créer une appli et nommez-la « cocoPIM » : vous saurez toujours à quoi elle sert. Dans la rubrique URL, laissez l’URL proposée et décochez « Intégrer l’appli dans l’interface administrateur Shopify » : cocoPIM n’affiche rien dans Shopify et n’attend aucune redirection.
Accordez les six droits (portées d'accès)
Sur le même écran, dans Accès à l’API, saisissez dans le champ Portées les six portées listées ci-dessus, séparées par des virgules, la liste complète dès maintenant, même si vous ne comptez pas gérer le stock tout de suite.
Publiez la version
Cliquez Créer une appli, puis Publier dans la fenêtre qui s’ouvre : tant que la version n’est pas publiée, Shopify n’applique pas les portées choisies.
Installez l'application sur votre boutique
Sur la page Aperçu de l’application, cliquez Installer l’appli, choisissez la boutique à connecter, puis confirmez avec Installer. Shopify ouvre ensuite l’URL de l’application : c’est normal, refermez simplement cet onglet. Sans cette installation, Shopify répondra qu’il ne trouve pas l’application.
Copiez le Client ID et le Client secret
Toujours sur la page Aperçu, l’encadré Identifiants donne l’ID client et le Secret client (bouton de copie à droite de chaque champ). Traitez le secret comme un mot de passe : rangez-le dans votre gestionnaire de mots de passe, ne le partagez jamais par email.
Connecter sa boutique
Ouvrez l'onglet Synchronisation du canal
Dans Catalogue → Canaux, ouvrez votre canal e-commerce (module « Catégories, canaux, langues & devises ») puis son onglet Synchronisation. Tout le réglage Shopify vit ici, en six sous-onglets : Connexion, Où publier, Metafields, Taxonomie, Envoi, Historique.
Collez les identifiants de votre application
Dans Connexion, saisissez le Domaine Shopify (…myshopify.com, sans https://), laissez « Client ID et Client secret » sélectionné, collez les deux valeurs puis cliquez « Connecter ». cocoPIM vérifie les identifiants auprès de Shopify avant de rien enregistrer : si quelque chose cloche, un message en clair dit quoi corriger. Le Client secret est stocké de manière sécurisée et chiffrée, et n’est jamais réaffiché. Pour une application d’avant 2026, choisissez « Jeton d’accès Admin » à la place.
Vérifiez, puis gardez la main
Tester la connexion confirme que cocoPIM parle bien à votre boutique. Vous pouvez déconnecter à tout moment : vos produits restent intacts dans Shopify, vos correspondances sont conservées, et une reconnexion reprend là où vous en étiez.
Le jeton de 24 heures est géré par cocoPIM : il est renouvelé avant son expiration, sans action de votre part. Si une connexion est refusée, ou si un test échoue plus tard, le message affiché dit quoi faire :
- « Shopify ne reconnaît pas ce Client ID, ou l’application n’est pas installée sur cette boutique » : vérifiez le Client ID et installez l’application sur la boutique depuis le Dev Dashboard.
- « Shopify a refusé le Client secret » : recopiez-le depuis Aperçu → Identifiants. Si vous l’avez fait renouveler dans Shopify, cliquez Reconnecter et collez le nouveau.
- « …ne font pas partie de la même organisation Shopify » : recréez l’application dans le Dev Dashboard de l’organisation qui possède la boutique.
- « Il manque l’accès … » : ajoutez la portée citée à l’application, publiez une nouvelle version et acceptez-la sur la boutique, puis réessayez.


Où publier : choisir ses canaux de vente
Une boutique Shopify a plusieurs canaux de vente (« publications ») : l’Online Store, mais aussi un point de vente, une application… Le sous-onglet Où publier liste ceux de votre boutique et vous laisse cocher ceux sur lesquels vos produits « Publié » seront rendus visibles. Sans sélection, cocoPIM publie sur l’Online Store.
La correspondance : dire quoi envoyer où
Certaines choses partent sans réglage : le titre Shopify est le nom du produit (dans la langue du canal), et vos variantes arrivent avec leurs axes, sans rien associer. Tout le reste se décide dans le sous-onglet Metafields, en deux cartes.
1. Les champs natifs Shopify. Pour chaque champ standard de la fiche Shopify, vous choisissez l’attribut cocoPIM qui l’alimente :
- côté produit : Description, Fournisseur, Type de produit, Balises, Titre SEO, Description SEO ;
- côté variante : Prix, Prix avant réduction (le prix barré), Code-barres ;
- pour un prix, vous indiquez aussi la devise à envoyer, celle de votre boutique Shopify. Si le produit n’a pas de prix dans cette devise, le champ n’est pas envoyé ;
- un champ laissé sur Par défaut garde le comportement standard (la description et le prix partent si vos attributs portent les codes attendus ; les balises et le SEO ne sont pas envoyés).
2. Les metafields. Pour tout le reste (matière, certifications, fiche technique), cocoPIM alimente les champs personnalisés de Shopify :
- associez un attribut PIM à une clé de metafield ; le type Shopify est choisi automatiquement (recommandé) ou à la main, et vous pouvez épingler le champ dans votre admin Shopify ;
- le bouton Synchroniser le schéma crée les définitions dans votre admin Shopify, à relancer après chaque nouvelle correspondance, sans risque de doublon ;
- seuls les attributs associés sont envoyés : un attribut non associé ne quitte jamais le PIM. Un attribut déjà affecté à un champ natif n’est pas proposé une seconde fois, et les attributs de type média ou lien entre produits ne peuvent pas devenir des metafields.
En option, le sous-onglet Taxonomie rapproche vos catégories cocoPIM des catégories de la taxonomie Shopify (recherche intégrée, en anglais comme la taxonomie elle-même, par exemple « candle », « cushion ») : vos produits arrivent déjà classés dans votre boutique. Sans ce rapprochement, c’est le type de produit qui sert au classement.
Publier sur votre site, produit par produit
Envoyer un produit dans l’admin Shopify est une chose ; le rendre visible sur votre boutique publique en est une autre. Tout se pilote depuis l’onglet Diffusion de la fiche produit, qui liste vos canaux connectés :
- Synchroniser : envoie la fiche à jour et la rend visible sur les canaux de vente choisis dans « Où publier » (l’Online Store par défaut), et l’état du canal passe à Publié ;
- Dépublier : retire le produit de la vente. Il est archivé côté Shopify, jamais supprimé, et l’état passe à Archivé. C’est réversible : un nouveau « Synchroniser » le remet en ligne ;
- en cas d’échec, l’état passe à Erreur, avec la raison dans l’historique. Cet état est posé par le système : il ne se choisit pas à la main.
La colonne « Lien externe » ouvre la fiche du produit dans l’admin Shopify : le bon réflexe pour contrôler ce qui est réellement arrivé. Synchroniser reste proposé une fois le produit publié, pour renvoyer une fiche modifiée sans attendre la synchronisation automatique.
Un produit Validé est mis en ligne dès son premier envoi, qu’il parte par la synchronisation automatique ou par « Envoyer le catalogue ». L’envoi en masse, lui, emporte tout l’espace : un produit encore en brouillon dans cocoPIM arrive alors en brouillon dans Shopify, hors de votre boutique publique, et passe en ligne à l’envoi qui suit sa validation. Un produit que vous avez dépublié reste archivé, quel que soit le nombre d’envois, et même si un envoi échoue entre-temps : seul « Synchroniser », depuis sa fiche, le remet en ligne.
Dernier cas : un produit archivé dans cocoPIM n’est jamais en ligne. La synchronisation automatique le retire de la vente. Ce retrait-là n’est pas une décision de votre part : restaurez le produit, validez-le, et il revient en ligne tout seul à l’envoi suivant.
Images et stock : deux comportements à connaître
- Les images suivent, sans doublon. Votre image principale devient l’image en vedette de la fiche Shopify, la galerie suit dans l’ordre du PIM. Les visuels ne sont envoyés qu’une fois : resynchroniser ne crée jamais de doublons, et retirer une image côté PIM la retire de Shopify au cycle suivant.
- Le stock n’est PAS envoyé, par défaut. Si un ERP ou Shopify lui-même gère votre inventaire, cocoPIM n’y touche pas. Si le PIM est votre seule source de stock, activez « Le PIM gère le stock sur ce canal » dans le sous-onglet Connexion, en sachant qu’il écrasera alors les niveaux Shopify à chaque synchronisation.
Synchroniser : à la main, en automatique ou en masse
- À la main, produit par produit : l’onglet Diffusion de la fiche produit liste vos canaux connectés, avec pour chacun l’état, la date du dernier envoi, un lien vers la fiche Shopify et les boutons Synchroniser et Dépublier.
- En automatique : c’est un réglage du canal, désactivé par défaut. Cochez Synchronisation automatique dans l’onglet Général du canal. Dès lors, chaque produit « Validé » que vous enregistrez part vers la boutique, et un rattrapage tourne chaque nuit pour ce qui aurait été manqué. Un produit en brouillon ne part jamais tout seul ; un produit archivé ou supprimé est retiré de la vente. Le réglage Exiger la complétude avant la synchronisation automatique (sous-onglet Connexion) retient en plus les fiches incomplètes pour ce canal.
- En masse : le sous-onglet Envoi et son bouton Envoyer le catalogue renvoient tous les produits de l’espace ; les absents de la boutique sont créés, les autres mis à jour. C’est le geste du premier envoi, ou d’une remise en cohérence après un changement de correspondance. L’envoi tourne en arrière-plan et peut prendre plusieurs minutes.
- Le suivi : chaque exécution laisse un journal détaillé dans Diffusion → Synchronisation (tous canaux, filtrable par canal, statut et déclencheur) et dans le sous-onglet Historique du canal (produits envoyés, réussites, échecs et raisons, dont les avertissements « image non résolue » quand un visuel référencé n’existe plus). Il n’y a pas de notification de fin : c’est ici qu’on vérifie.


Et les autres plateformes ?
Shopify est le connecteur de diffusion natif de cocoPIM. Pour toute autre plateforme, les exports CSV/Excel ciblés par canal (module précédent) alimentent déjà n’importe quel site ou place de marché acceptant un fichier, et l’API (module 14) permet de brancher le reste.
Dans l’autre sens, si vos articles naissent dans votre ERP Odoo, le connecteur Odoo les fait entrer dans cocoPIM sans fichier : c’est l’objet du module Importer depuis Odoo.