Ce guide vous aide à migrer de l'API Merchant v1beta vers v1, la première
version disponible de manière générale. La version v1 introduit plusieurs mises à jour et quelques modifications qui peuvent nécessiter des mises à jour du code. Ces modifications sont conçues pour simplifier l'API et améliorer la gestion de votre compte Merchant Center.
Différences majeures
Voici les modifications les plus importantes à connaître lorsque vous migrez de v1beta
vers v1 :
- Enregistrement unique d'au moins un développeur d'API pour utiliser l'API Merchant
: vous devrez appeler la méthode
registerGcp(une seule fois pour chaque projet Google Cloud utilisé pour l' authentification) afin de fournir vos coordonnées. Cela vous permettra d'utiliser l'API et de recevoir des mises à jour et des annonces concernant l'API Merchant. Vous ne pourrez pas utiliser d'APIv1niv1alphatant que cette étape n'aura pas été effectuée. Pour en savoir plus sur le processus d'enregistrement, consultez la section Enregistrement. Encodage du nom du produit : les champs
ProductInput.nameetProduct.namesont compatibles avec l'encodage base64url sans remplissage (section 5 de la norme RFC 4648). Suivez ces consignes :- Avant l'encodage, la chaîne doit respecter le format
contentLanguage~feedLabel~offerId. L'encodage est obligatoire si le nom de votre produit contient des caractères utilisés par l'API Merchant ou des caractères réservés aux URL, tels que :
% . + / : ~ , ( * ! ) & ? = @ # $Si le nom de votre produit respecte le
contentLanguage~feedLabel~offerIdformat et ne contient pas de caractères utilisés par l'API Merchant ni de caractères réservés aux URL, vous pouvez utiliser le format brut, sans encodage.Pour garantir une analyse cohérente et correcte, nous vous recommandons d'utiliser l'encodage base64url sans remplissage pour tous les noms de produits.
- Avant l'encodage, la chaîne doit respecter le format
Suppression des informations fiscales au niveau du produit :
taxesettaxCategory.Product.attributesrenommé : le champProduct.attributesa été renomméProduct.productAttributes.Suppression des informations fiscales au niveau du produit : les champs
taxesettaxCategoryont été supprimés de l'Product.productAttributesobjet. Pour en savoir plus, consultez l' article du Centre d'aide Google Merchant Center sur les taxes.Modifications apportées au champ GTIN : le
gtinchamp de l'Product.productAttributesobjet a été renommégtinspour mieux refléter le fait qu'il peut contenir plusieurs valeurs. Le champgtinde l'OrderTrackingSignals.lineItemDetailsobjet est désormais unarrayet a également été renommégtins.Suppression du champ "Channel" : le champ
channela été supprimé des produits, des entrées de produits et des sources de données. Un nouveau champ booléen,legacyLocal, a été introduit pour désigner clairement les produits vendus exclusivement dans les magasins physiques. Remarque : Le champlegacyLocalest un champ auxiliaire destiné à faciliter la migration. Il sera à terme obsolète une fois que les méthodes marketing en ligne et en magasin pourront être entièrement ciblées avec une seule source de produits. Pour en savoir plus, consultez le tableau de la section suivante.Nouveaux champs pour les attributs d'inventaire régional et en magasin :
- Tous les
RegionalInventorychamps, à l'exception dename,accountetregion, sont désormais regroupés sous un nouvel objet appeléregionalInventoryAttributes. Par exemple, l'attributRegionalInventory.pricese trouve désormais sousRegionalInventory.regionalInventoryAttributes.price. - Tous les
LocalInventorychamps, à l'exception dename,accountetstoreCode, sont désormais regroupés sous un nouvel objet appelélocalInventoryAttributes. Par exemple, l'attributLocalInventory.pricese trouve désormais sousLocalInventory.localInventoryAttributes.price.
- Tous les
Suppression de
customAttributesdes inventaires régionaux et en magasin : le champcustomAttributesa été supprimé des ressourcesRegionalInventoryetLocalInventory.Création de compte affinée : le champ
usersredondant a été supprimé deCreateAndConfigureAccountRequest. Utilisez le champuserau singulier pour associer un utilisateur initial à un nouveau compte.Certains types d'attributs ont été modifiés et sont passés de chaînes à des énumérations : certains champs des ressources
ProductetInventoryavec une courte liste de valeurs définie sont passés du typestringau typeenumpour une meilleure validation des données (par exemple, leProduct.ProductAttributes.conditionchamp est désormais uneenum).Suppression de la méthode de mise à jour du règlement de retour en ligne : la
onlineReturnPolicy.updateméthode est supprimée dansv1. Créez plutôt un règlement de retour en ligne à l'aide de la méthodeonlineReturnPolicy.create.
Comment procéder ?
La version v1beta de l'API Merchant sera mise hors service le 28 février 2026.
Pour en savoir plus sur le calendrier de mise hors service, consultez le
guide de gestion des versions de l'API Merchant.
La première étape de la migration consiste à effectuer un enregistrement unique en tant que développeur (voir S'enregistrer en tant que développeur). Vous devez appeler la méthode
registerGcppour chaque projet Google Cloud que vous utilisez pour l'authentification avant qu'une méthodev1ne fonctionne.Quelle que soit la façon dont vous appelez les API (avec REST, gRPC ou à l'aide de bibliothèques clientes), vous pouvez effectuer la migration par étapes. Cela signifie que vous pouvez mettre à jour et migrer votre code une API à la fois (par exemple, en déplaçant l'API
Productsversv1tout en conservant l'APIAccountssurv1beta) sans avoir à mettre à jour l'ensemble de votre intégration en une seule fois.
Modifications détaillées des champs
Ce tableau compare en détail les champs qui ont changé
entre les versions v1beta et v1.
| v1beta | v1 | Description |
|---|---|---|
ProductInput.name |
ProductInput.name |
Unpadded base64url encoding accepté et obligatoire pour les noms de produits contenant des caractères utilisés par l'API Merchant ou des caractères réservés aux URL. |
Product.name |
Product.name |
Unpadded base64url encoding accepté et obligatoire pour les noms de produits contenant des caractères utilisés par l'API Merchant ou des caractères réservés aux URL. |
Product.gtin |
Product.gtins |
Le champ des GTIN a été renommé. |
Product.taxes |
Supprimé | Le champ taxes a été supprimé. |
Product.taxCategory |
Supprimé | Le champ taxCategory a été supprimé. |
Product.channel |
Supprimé | Le champ channel a été supprimé. Utilisez le
legacyLocal champ pour les cas d'utilisation locaux. |
Product.attributes |
Product.productAttributes |
Le champ attributes a été renommé productAttributes.
|
availability, condition, gender, includedDestinations et excludedDestinations dans les champs Product sont représentés sous forme de strings (ou de array de strings). |
Ces champs sont désormais des enums (ou des array d'enums). |
Les champs avec une courte liste de valeurs définie sont passés du type string au type enum.
|
price, salePrice, salePriceEffectiveDate et availability dans RegionalInventory |
Déplacé vers RegionalInventory.regionalInventoryAttributes |
Ces champs ont été déplacés sous regionalInventoryAttributes.
|
Le champ RegionalInventory.availability est une string. |
RegionalInventory.regionalInventoryAttributes.availability est désormais une enums. |
Le type de disponibilité est passé de string à enum.
|
price, salePrice, salePriceEffectiveDate, availability, quantity, pickupMethod, pickupSla et instoreProductLocation dans LocalInventory |
Déplacé vers LocalInventory.localInventoryAttributes |
Ces champs ont été déplacés sous localInventoryAttributes.
|
Le champ LocalInventory.availability est une string. |
LocalInventory.localInventoryAttributes.availability est désormais une enums. |
Le type de disponibilité est passé de string à enum.
|
LocalInventory.customAttributes |
Supprimé | Les attributs personnalisés ne sont plus acceptés pour l'inventaire en magasin. |
RegionalInventory.customAttributes |
Supprimé | Les attributs personnalisés ne sont plus acceptés pour l'inventaire régional. |
ProductInput.channel |
Supprimé | Le champ channel a été supprimé. Utilisez le
legacyLocal champ pour les cas d'utilisation locaux. |
DataSource.channel |
Supprimé | Le champ channel a été supprimé. Utilisez le
legacyLocal champ pour les cas d'utilisation locaux. |
| Non disponible | ProductInput.legacyLocal |
Nouveau champ booléen indiquant qu'un produit ne peut cibler que des méthodes marketing locales. L'ID de ressource du produit aura le préfixe "local~". |
| Non disponible | Product.legacyLocal |
Nouveau champ booléen indiquant qu'un produit n'est vendu que dans des magasins locaux et n'est pas disponible à l'achat en ligne. |
| Non disponible | DataSource.legacyLocal |
Nouveau champ booléen indiquant qu'une source de données contient des produits vendus uniquement dans des magasins locaux. |
OrderTrackingSignals.LineItemDetails.gtin |
OrderTrackingSignals.LineItemDetails.gtins |
Le champ gtin a été renommé gtins et
est désormais un tableau de chaînes (au lieu d'une chaîne). |
CreateAndConfigureAccountRequest.users |
Supprimé | Le champ users a été supprimé. Utilisez le
user champ pour ajouter l'administrateur initial au compte. |