Logo

Global Catalog REST est arrêté, le Token hors ligne expirera obligatoirement l'année prochaine

avatar jayce 04 Nov 2026

Global Catalog REST est arrêté, le Token hors ligne expirera obligatoirement l’année prochaine

À partir du 2 novembre, l’API Global Catalog REST ne traitera plus aucun trafic. Toutes les requêtes vers discover.shopifyapps.com/global/... échoueront directement, y compris les requêtes pour interroger les catalogues sauvegardés. Lors de sa dépréciation en avril, une alternative, le Global Catalog MCP, a été fournie, et la fenêtre de six mois est maintenant écoulée.

D’autre part, l’année prochaine. Le 27 octobre, Shopify a fixé la date limite pour les Tokens hors ligne : les applications publiques non migrées seront retirées le 1er janvier 2027, et à partir du 1er avril, les anciens Tokens retourneront un HTTP 403. Les deux actions nécessitent des modifications de code, l’une est urgente aujourd’hui, l’autre a encore deux mois, ne la considérez pas comme non urgente.

L’interface qui a commencé à échouer hier

L’API Global Catalog REST a été marquée comme dépréciée en avril 2026, son remplaçant, le Global Catalog MCP, implémente le Universal Commerce Protocol (UCP). Après le 2 novembre, les quatre points de terminaison cesseront tous de fonctionner :

  • GET /global/v2/search
  • GET /global/v2/p/{upid}
  • GET /global/v2/p/by-variant/{vid}
  • POST /global/v2/lookup

Les applications qui agrègent des données entre magasins seront les plus directement affectées. Par exemple, une équipe qui compare les prix des fournitures pour animaux a stocké deux cents produits à surveiller dans son outil de sélection, et utilise chaque nuit /global/v2/lookup pour récupérer les derniers prix en masse, fournissant un rapport de comparaison aux utilisateurs le matin. Après le 2 novembre, la première requête de cette tâche échouera, laissant le rapport vide, et les commerçants constateront immédiatement que les prix ne bougent plus. Les fonctionnalités de comparaison de prix, de recherche sur l’ensemble du réseau et de recherche inter-magasins, qui dépendent de cette interface de catalogue, perdront leur source de données le même jour.

Les catalogues sauvegardés seront également affectés. Après l’arrêt du service, il n’y a pas de tampon, et l’ancienne adresse sera-t-elle redirigée ? Cela n’est pas précisé par l’officiel, le changelog ne mentionne que l’arrêt du service. Je traite cela comme s’il n’y avait pas de tampon, les tâches programmées continuent d’interroger ce domaine, et elles devraient maintenant recevoir des alertes.

Changement de méthode

L’essentiel est de remplacer les quatre appels REST par trois outils UCP, envoyés à https://catalog.shopify.com/api/ucp/mcp :

  • Recherche → search_catalog, supporte le filtrage, la pagination, le contexte d’acheteur
  • Produit et variante → get_product, identifiant transmis sous gid://shopify/p/{upid} ou gid://shopify/ProductVariant/{id}
  • En masse → lookup_catalog, jusqu’à 50 à la fois

Deux détails faciles à manquer : chaque requête doit inclure meta.ucp-agent.profile, dont la valeur est l’URL du profil de l’agent ; pour interroger le catalogue sauvegardé, il faut transmettre catalog.catalog_id, ne pas reconstituer l’ancienne URL du point de terminaison.

La méthode d’authentification reste inchangée, il s’agit toujours des identifiants client du Dev Dashboard pour échanger contre un token bearer.

Si vous souhaitez essayer avant de modifier, utilisez UCP CLI pour exécuter une commande ucp catalog search, le CLI est disponible sur github.com/Shopify/ucp-cli. Je n’ai pas encore testé les formes d’erreur de l’UCP dans un trafic réel, donc je ne peux pas garantir cela, il vaut mieux d’abord le faire fonctionner dans un environnement de test avant de passer en production.

changelog : https://shopify.dev/changelog/posts/global-catalog-rest-api-stops-serving-traffic-on-november-2-2026

Les trois dates du Token, seule le 1er janvier nécessite votre intervention

Cette affaire a été préparée depuis le début de l’année : à partir du 1er avril 2026, la création de nouvelles applications publiques a rendu les tokens expirants obligatoires, et le 20 mai, le changelog a élargi le champ à toutes les applications publiques. À l’époque, seule la date du 1er janvier était donnée, et le 27 octobre, l’officiel a complété la ligne de temps des échéances :

  • 1er janvier 2027 : les applications non migrées seront retirées de l’App Store, interdites à la nouvelle installation, les installations existantes continueront de fonctionner.
  • 15 janvier 2027 : les commerçants verront un avertissement dans l’admin Shopify.
  • 1er avril 2027 : les requêtes Admin API avec des tokens hors ligne non expirés retourneront un HTTP 403.

La déclaration officielle est très claire : le 1er janvier est la date limite de migration, les deux dates suivantes sont des périodes de grâce pour les commerçants, pas pour vous. Le code doit être modifié avant le 31 décembre.

Pourquoi cette pression ? La raison officielle est le rayon de fuite. Un token non expiré, s’il est divulgué, reste valide indéfiniment, sans limite de fenêtre d’attaque ; un token expirant expire au bout de 60 minutes et est automatiquement renouvelé, limitant l’impact à une heure. Il est important de préciser : les applications publiques qui appellent l’API Admin sont concernées, les applications personnalisées, les applications créées par les commerçants et les tokens d’accès en ligne ne sont pas sur la liste. De nombreuses équipes transforment leurs outils internes en applications publiques, cette partie est la plus susceptible d’être négligée, il est donc conseillé de faire une vérification avant de procéder.

La migration est plus facile que prévu. Les commerçants n’ont pas besoin de réinstaller, il suffit d’échanger le token existant dans le code ; les modèles et bibliothèques API officiels ont déjà mis en œuvre le rafraîchissement, il ne reste qu’à gérer l’échange de tokens et la mise à jour du stockage. Guide : https://shopify.dev/docs/apps/build/authentication-authorization/migrate-to-expiring-offline-access-tokens

À la fin octobre, il y a également une solution pratique : l’accès par identifiants client. Auparavant, si le token de rafraîchissement était perdu, il fallait attendre que le commerçant redémarre l’application, maintenant le backend peut utiliser la clé secrète de l’application pour signer et échanger directement contre un nouveau token d’accès. Pour les anciennes applications installées dans des milliers de magasins, cette solution compense le coût de migration.

À portée de main

Le même avis a également fourni deux commutateurs à faible coût : le fichier shopify.app.toml a un nouveau segment [network_access], déclarant les serveurs et sites auxquels l’application a accès ; le Dev Dashboard prend en charge la liste blanche IP. Avant de publier, exécutez une vérification de sécurité avec shopify app security check.

Calendrier

Pour ceux qui utilisent encore le REST, il n’y a pas de calendrier, l’interface est déjà morte, aujourd’hui est le jour de la migration. Pour ceux qui utilisent des tokens non expirés, planifiez la migration pour le T4, ne retardez pas jusqu’en janvier lorsque les commerçants commenceront à voir des avertissements et que le support technique viendra frapper à votre porte.

Tags
shopify
Global Catalog
UCP
API 迁移
Contactez-nous