Récupérer une clé API Shopify : la méthode, et les pièges

Application personnalisée, jetons d'accès, portées de permission : la procédure exacte, et les erreurs qui coûtent une boutique compromise.

Récupérer une clé API Shopify prend cinq minutes. Le faire correctement — sans ouvrir une porte que vous ne pourrez plus fermer — demande de comprendre trois notions. Elles sont simples, et les ignorer est la cause de la plupart des incidents que je rencontre en reprise d'existant.

D'abord : de quelle clé avez-vous besoin ?

Shopify distingue plusieurs cas, et les gens choisissent souvent le mauvais.

Application personnalisée (custom app) — c'est ce qu'il vous faut dans 90 % des cas. Une intégration pour votre boutique uniquement : connecter un CRM, alimenter un outil interne, brancher n8n ou Zapier.

Application publique — pour distribuer une application à d'autres marchands via l'App Store. Si vous n'êtes pas éditeur de logiciel, ce n'est pas votre cas.

Storefront API — pour un site vitrine découplé qui lit le catalogue. Portée en lecture, publiable côté navigateur.

La procédure

1. Dans l'admin Shopify : Paramètres → Applications et canaux de vente → Développer des applications.

2. Si l'option est grisée, il faut d'abord autoriser le développement d'applications personnalisées. C'est un réglage de la boutique, et il demande un compte propriétaire — pas simplement un accès administrateur.

3. Créez l'application, nommez-la explicitement. Intégration HubSpot vous dira quelque chose dans un an ; Test ne vous dira rien, et vous n'oserez plus la supprimer.

4. Configurez les portées d'accès (scopes). C'est l'étape qui compte, j'y reviens.

5. Installez l'application sur la boutique. Shopify génère alors le jeton d'accès.

6. Copiez le jeton immédiatement. Il n'est affiché qu'une fois.

Les portées : le seul vrai enjeu

Shopify vous demande de cocher ce que l'application peut lire et écrire. La tentation est de tout cocher pour ne pas y revenir. C'est exactement ce qu'il ne faut pas faire.

Une clé avec toutes les permissions qui fuite — dans un dépôt Git, une capture d'écran, un ticket de support — donne accès à l'intégralité de votre boutique : données clients, commandes, remboursements. Une clé limitée à read_products ne donne accès qu'au catalogue.

Les portées les plus courantes : read_products et write_products pour le catalogue, read_orders et write_orders pour les commandes, read_customers pour les fiches clients — celle-là mérite une réflexion particulière, elle donne accès à des données personnelles.

Où stocker le jeton

C'est là que ça dérape le plus souvent.

Jamais dans le code. Un jeton committé reste dans l'historique Git même après suppression du fichier. Il faut réécrire l'historique et révoquer la clé.

Jamais dans une variable d'environnement publique. Tout ce qui est préfixé PUBLIC_, NEXT_PUBLIC_ ou VITE_ finit dans le navigateur de vos visiteurs.

Dans le gestionnaire de secrets de votre plateforme. Variables d'environnement chiffrées, coffre-fort de votre hébergeur, ou stockage de secrets de votre outil d'automatisation. n8n et Zapier ont tous deux un espace prévu pour ça.

Si une clé a fuité

Ne cherchez pas à évaluer le risque, révoquez d'abord.

1. Supprimez l'application dans l'admin Shopify. Le jeton est immédiatement invalide, et c'est irréversible dans le bon sens.

2. Recréez-en une avec les mêmes portées et mettez à jour vos intégrations.

3. Vérifiez ensuite les journaux d'activité de la boutique pour repérer d'éventuels accès anormaux.

Une intégration cassée pendant dix minutes est un désagrément. Une clé compromise laissée active est un incident de sécurité, avec des données clients à la clé — et donc une obligation de notification si elles ont été exposées.

Le point qu'on oublie toujours

Documentez quelle clé sert à quoi. Un tableau suffit : nom de l'application, portées accordées, intégration qui l'utilise, date de création.

Sans ça, dans dix-huit mois, vous aurez six applications personnalisées dans votre admin, aucune idée de ce que chacune fait, et personne n'osera en supprimer une. C'est l'état dans lequel je trouve la plupart des boutiques que je reprends — et le nettoyage coûte alors bien plus cher que la documentation qu'on n'a pas faite.

Questions sur cet article

Où trouve-t-on les clés API dans Shopify ?

Paramètres → Applications et canaux de vente → Développer des applications. Si l'option est grisée, il faut d'abord autoriser le développement d'applications personnalisées, ce qui demande un compte propriétaire et pas seulement un accès administrateur.

Peut-on récupérer un jeton d'accès perdu ?

Non. Le jeton n'est affiché qu'une seule fois à la création. S'il est perdu, il faut désinstaller l'application et en créer une nouvelle. C'est aussi ce qui le rend sûr.

Quelles permissions accorder ?

Le strict minimum nécessaire, puis on ajoute au besoin. Ajouter une portée après coup prend trente secondes et ne casse rien ; en retirer une à une clé déjà diffusée suppose de savoir où elle est utilisée, ce qui est rarement le cas.

Que faire si une clé a fuité ?

Révoquer d'abord, analyser ensuite. Supprimez l'application dans l'admin Shopify — le jeton devient immédiatement invalide — recréez-en une, puis vérifiez les journaux d'activité. Dix minutes d'interruption valent mieux qu'une clé compromise laissée active.

← Tous les articles