En mars 2019, nous avons lancé la version 2.1 de Content API for Shopping et, en avril 2021, nous avons annoncé que l'intégration de la version 2 s'arrêterait le 30 septembre 2021. La version 2 a été abandonnée. Veuillez migrer immédiatement vers la version 2.1.
Migrer votre application
La migration de la version 2 vers la version 2.1 implique de mettre à jour vos URL de point de terminaison pour appeler la nouvelle version 2.1 et de modifier vos applications de sorte qu'elles tiennent compte des modifications destructives introduites dans la version 2.1.
Mettre à jour vos appels d'API pour utiliser les points de terminaison de la version 2.1
Pour effectuer des appels vers la version 2.1, mettez à jour vos requêtes afin qu'elles utilisent les nouveaux points de terminaison de la version 2.1.
Par exemple, pour appeler la méthode products.get avec la version 2, vous deviez utiliser :
GET https://shoppingcontent.googleapis.com/content/v2/merchantId/products/productId
Pour la version 2.1, mettez à jour l'URL comme suit :
GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId
Pour en savoir plus sur les services et les points de terminaison de la version 2.1, consultez la documentation de référence de l'API.
Apporter les modifications requises
En plus de mettre à jour les URL pour vos appels d'API, vous devez également mettre à jour votre application pour qu'elle tienne compte de plusieurs modifications destructives introduites dans la version 2.1. Consultez les sections suivantes et mettez à jour votre application si nécessaire.
1. Mettre à jour les intégrations au service inventory
Le service inventory de la version 2 a été supprimé. Les fonctionnalités équivalentes de la version 2.1 suivantes sont disponibles :
Utilisez de nouveaux flux supplémentaires ou
products.updatepour mettre partiellement à jour les produits. Les mises à jour sont possibles pour tous les champs de produit modifiables, y compris tous les champs précédemment mis à jour avecinventory.set(à l'exception de ceux qui appartiennent àlocalinventory). Consultez Migrer vers les flux supplémentaires pour en savoir plus.Utilisez le nouveau service
localinventorypour mettre à jour les données produit en magasin.
2. Mettre à jour les appels au service accounts
Les appels à la méthode
accounts.updatedans la version 2.1 écrasent complètement la ressourceaccounts, au lieu de ne mettre à jour que les champs inclus dans la requête. Pour éviter de supprimer des champs de la ressourceaccounts, mettez à jour vos requêtes d'appel de façon à inclure tous les champs.Le paramètre
reviewsUrla été supprimé.L'état
inactivedes liens a été supprimé pouradsLinks,googleMyBusinessLinketyoutubeChannelLinks.
3. Mettre à jour les appels au service products
Les attributs personnalisés ne contiennent plus de type ni d'unité. À la place, les unités doivent être ajoutées à la valeur et les types sont automatiquement détectés.
Le champ répété
productTypesremplace à la foisproductTypeetadditionalProductTypes.Les champs répétés
includedDestinationsetexcludedDestinationsremplacent le champ répétédestinations.Les champs suivants liés à AdWords ont été renommés :
adwordsGrouping->adsGroupingadwordsLabels->adsLabelsadwordsRedirect->adsRedirect
Les champs suivants ont été supprimés :
aspectsdestinationsonlineOnlyvalidatedDestinationswarnings
Le paramètre
includeInvalidInsertedItemsa été supprimé. Dans la version 2.1, tous les produits sont renvoyés par défaut.Un délai de quelques minutes est désormais nécessaire avant qu'un produit inséré ne puisse être récupéré via
products.getouproducts.list.La valeur
offerIdaffichée n'est plus garantie comme étant la valeurofferIdsaisie. La version 2.1 coupe les espaces de début et de fin dans le fichierofferId, et fusionne plusieurs espaces blancs en un seul. Cette modification n'a pas d'incidence sur les valeursofferIdqui respectent la syntaxeofferIdrecommandée.Les prix sont désormais validés avant l'insertion du produit. Seuls les caractères suivants sont autorisés dans la chaîne de valeur :
+,-,.ainsi que des chiffres (ex. :0-9). Les virgules ne sont plus acceptées.Les réponses d'un appel
products.insertouproducts.updatene contiennent que les attributs suivants :channelcontentLanguageidofferIdfeedLabel
L'option
includeAttributesde la version 2 est obsolète. Utilisez plutôtproducts.getavecProductIdpour afficher toutes les informations produit.
4. Mettre à jour les appels au service productstatuses
L'attribut
producta été supprimé, de même que le paramètreincludeAttributes. Pour récupérer les attributs du produit correspondant à un état, utilisez le serviceproductset transmettez la valeur du nouveau champproductId.Le paramètre
includeInvalidInsertedItemsa été supprimé. Le champproductIdde chaque produit est désormais renvoyé, que le produit soit valide ou non.Les champs
intention,approvalStatusetapprovalPendingdansdestinationStatusesont été remplacés par le champstatus, qui correspond à une chaîne pouvant êtreapproved,disapprovedoupending.dataQualityIssuesa été remplacé paritemLevelIssues.
5. Mettre à jour les appels au service datafeeds
Les champs cibles suivants ont été remplacés :
contentLanguage->languagetargetCountry->countryintendedDestinations->includedDestinationsetexcludedDestinations
Les flux de données avec
contentType = "product inventory update"ont été supprimés.
6. Mettre à jour les appels aux services orders et TestOrders
Dans la version 2.1, les appels ne doivent pas inclure de données fiscales, car celles-ci sont calculées automatiquement. Si la commande est exécutée dans un État où une loi sur l'équité du marché (Marketplace Fairness Act) ou une loi similaire est en vigueur, les appels comprenant des données fiscales échouent. Si la commande est exécutée dans un État non soumis à ce type de législation, les taxes sont calculées en fonction des paramètres configurés dans Merchant Center. Si aucun paramètre n'est défini, la taxe calculée est égale à 0.
Les champs
InStoreRefundLineItemetReturnRefundLineItemamountPretaxetamountTaxont été remplacés respectivement parpriceAmountettaxAmount. Le champpriceAmountpeut être hors taxes ou TTC selon le lieu de la commande.Les champs
ShipLineItemcarrier,shipmentIdettrackingIdde la requête ont été déplacés versshipmentInfos.billingAddressetpredefinedBillingAddresssont désormais des champs de premier niveau dansordersetTestOrder, respectivement.customer.explicitMarketingPreferencea été remplacé parcustomer.marketingRightsInfo.Le champ
netAmounta été divisé ennetPriceAmountetnetTaxAmount.shippingOptiona été remplacé parlineItems[].shippingDetails.Les champs
CancelLineItemamount,amountPretaxetamountTaxde la requête ont été supprimés. Le montant remboursé est désormais calculé automatiquement.CustomBatcha été supprimé.Refunda été supprimé. Utilisez plutôtrefundOrderourefundItem.Le champ
paymentMethoda été supprimé.Les méthodes
orders.returnlineitemetorders.refundde la version 2 sont remplacées parorderreturns.creatOrderReturnetorderreturns.process.Les champs
customer.email,channelTypeetlineItem.product.channelont été supprimés.Le champ
promotionsa été supprimé du serviceTestOrder, et son format a été modifié dansOrder.
7. Mettre à jour les appels au service orderinvoice
Les champs
amountPretaxetamountTaxont été remplacés respectivement parpriceAmountettaxAmount. Le champpriceAmountpeut être hors taxes ou TTC selon le lieu de la commande.Les soldes (marchand, client et Google) ont été supprimés de
invoiceSummaryet des champs liés aux promotions.
8. Supprimer les fonctionnalités non incluses dans la version 2.1
Plusieurs autres fonctionnalités ont été supprimées dans la version 2.1 de Content API. Consultez la liste suivante et mettez à jour votre application si nécessaire :
Le format XML n'est plus accepté. Pour en savoir plus sur le passage au format JSON, consultez l'article Arrêt de la compatibilité du format XML dans Content API for Shopping.
Le paramètre
dryRuna été supprimé. Cette modification s'applique à tous les appels d'API.Toutes les méthodes
HTTP BATCHont été supprimées. UtilisezcustomBatchà la place.La méthode
patcha été supprimée des services suivants :accountsaccounttaxdatafeedsliasettingsshippingsettings
Le service
orderpaymentsa été supprimé.
Tester votre migration
Pour en savoir plus sur le test des modifications apportées à vos applications après la migration vers la version 2.1, consultez Tester Content API for Shopping. Si vous rencontrez des problèmes lors du test de vos mises à jour, vous pouvez nous contacter.
Modifications supplémentaires dans la version 2.1
En plus des modifications nécessitant des mises à jour, la version 2.1 introduit également plusieurs nouvelles fonctionnalités et modifications non destructives :
Nouveaux services :
Le nouveau service
localinventoryvous permet de mettre à jour les produits en magasin (il remplace le serviceinventorydans la version 2).Le nouveau service
orderreturnsfacilite la gestion du programme Acheter sur Google (anciennement appelé Shopping Actions) en vous permettant de traiter les retours sans avoir à utiliser le serviceorders.
Les flux supplémentaires vous permettent d'effectuer des mises à jour partielles des produits.
Modifications supplémentaires apportées au service
products:Les requêtes
products.insertne renvoient plus d'erreurs ni d'avertissements non fatals. Cela vous permet d'insérer des produits et d'effectuer des mises à jour ultérieures pour résoudre des problèmes grâce aux règles de flux dans Merchant Center, comme vous le faites pour les flux gérés en dehors de Content API.products.updatea été ajouté pour vous permettre de mettre à jour un ensemble de champs de produit de votre choix. Pour en savoir plus sur les utilisations possibles, consultez le guide.Les valeurs non valides pour les attributs suivants ne déclenchent plus d'erreurs d'insertion et sont renvoyées en tant que
itemLevelIssuespar le serviceproductstatus:ageGroupavailabilityconditionenergyEfficiencyClassgendermaxEnergyEfficiencyClassminEnergyEfficiencyClasssizeSystemsizeType
Les attributs personnalisés sont désormais récursifs. De ce fait, le recours aux groupes personnalisés n'est plus nécessaire.
Les attributs personnalisés disposent désormais d'un champ
groupValuesen plus du champ d'originevalue. Un seul de ces champs doit être défini.