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.update
pour 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 des champs exclusifs àlocalinventory
). Consultez Migrer vers les flux supplémentaires pour en savoir plus.Utilisez le nouveau service
localinventory
pour mettre à jour les produits en magasin.
2. Mettre à jour les appels au service accounts
Les appels à la méthode
accounts.update
dans 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
reviewsUrl
a été supprimé.L'état
inactive
des liens a été supprimé pouradsLinks
,googleMyBusinessLink
etyoutubeChannelLinks
.
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é
productTypes
remplace à la foisproductType
etadditionalProductTypes
.Les champs répétés
includedDestinations
etexcludedDestinations
remplacent le champ répétédestinations
.Les champs suivants liés à AdWords ont été renommés :
adwordsGrouping
->adsGrouping
adwordsLabels
->adsLabels
adwordsRedirect
->adsRedirect
Les champs suivants ont été supprimés :
aspects
destinations
onlineOnly
validatedDestinations
warnings
Le paramètre
includeInvalidInsertedItems
a é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.get
ouproducts.list
.La valeur
offerId
affichée n'est plus garantie comme étant la valeurofferId
saisie. 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 valeursofferId
qui respectent la syntaxeofferId
recommandé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 :
+
,-
et.
, ainsi que les chiffres (ex. :0
-9
). Les virgules ne sont plus acceptées.Les réponses d'un appel
products.insert
ouproducts.update
ne contiennent que les attributs suivants :channel
contentLanguage
id
offerId
feedLabel
L'option
includeAttributes
de la version 2 est obsolète. Utilisez plutôtproducts.get
avecProductId
pour afficher toutes les informations produit.
4. Mettre à jour les appels au service productstatuses
L'attribut
product
a été supprimé, de même que le paramètreincludeAttributes
. Pour récupérer les attributs du produit correspondant à un état, utilisez le serviceproducts
et transmettez la valeur du nouveau champproductId
.Le paramètre
includeInvalidInsertedItems
a été supprimé. Le champproductId
de chaque produit est désormais renvoyé, que le produit soit valide ou non.Les champs
intention
,approvalStatus
etapprovalPending
dansdestinationStatuses
ont été remplacés par le champstatus
, qui correspond à une chaîne pouvant êtreapproved
,disapproved
oupending
.dataQualityIssues
a été remplacé paritemLevelIssues
.
5. Mettre à jour les appels au service datafeeds
Les champs cibles suivants ont été remplacés :
contentLanguage
->language
targetCountry
->country
intendedDestinations
->includedDestinations
etexcludedDestinations
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 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
InStoreRefundLineItem
etReturnRefundLineItem
amountPretax
etamountTax
ont été remplacés respectivement parpriceAmount
ettaxAmount
. Le champpriceAmount
peut être hors taxes ou TTC selon le lieu de la commande.Les champs
ShipLineItem
carrier
,shipmentId
ettrackingId
de la requête ont été déplacés versshipmentInfos
.billingAddress
etpredefinedBillingAddress
sont désormais des champs de premier niveau dansorders
etTestOrder
, respectivement.customer.explicitMarketingPreference
a été remplacé parcustomer.marketingRightsInfo
.Le champ
netAmount
a été divisé ennetPriceAmount
etnetTaxAmount
.shippingOption
a été remplacé parlineItems[].shippingDetails
.Les champs
CancelLineItem
amount
,amountPretax
etamountTax
de la requête ont été supprimés. Le montant remboursé est désormais calculé automatiquement.CustomBatch
a été supprimé.Refund
a été supprimé. UtilisezrefundOrder
ourefundItem
à la place.Le champ
paymentMethod
a été supprimé.Les méthodes
orders.returnlineitem
etorders.refund
de la version 2 sont remplacées parorderreturns.creatOrderReturn
etorderreturns.process
.Les champs
customer.email
,channelType
etlineItem.product.channel
ont été supprimés.Le champ
promotions
a été supprimé du serviceTestOrder
, et son format a été modifié dansOrder
.
7. Mettre à jour les appels au service orderinvoice
Les champs
amountPretax
etamountTax
ont été remplacés respectivement parpriceAmount
ettaxAmount
. Le champpriceAmount
peut être hors taxes ou TTC selon le lieu de la commande.Les soldes (marchand, client et Google) ont été supprimés de
invoiceSummary
et des champs liés aux promotions.
8. Supprimer des 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
dryRun
a été supprimé. Cette modification s'applique à tous les appels d'API.Toutes les méthodes
HTTP BATCH
ont été supprimées. Utilisez plutôtcustomBatch
.La méthode
patch
a été supprimée des services suivants :accounts
accounttax
datafeeds
liasettings
shippingsettings
Le service
orderpayments
a été supprimé.
Tester la migration
Pour en savoir plus sur le test des modifications apportées à vos applications après la migration vers la version 2.1, consultez la page Tester Content API for Shopping. Si vous rencontrez des problèmes lors du test de vos mises à jour, vous pouvez publier un post à ce sujet sur le forum de Content API.
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
localinventory
vous permet de mettre à jour les produits en magasin (il remplace le serviceinventory
dans la version 2).Le nouveau service
orderreturns
facilite la gestion du programme Acheter sur Google (anciennement appelé Shopping Actions) en vous permettant de traiter les retours sans avoir à utiliser le serviceorders
.
Avec les flux supplémentaires, vous pouvez effectuer des mises à jour partielles des produits.
Modifications supplémentaires apportées au service
products
:Les requêtes
products.insert
ne 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 via les règles de flux dans Merchant Center, comme vous le faites pour les flux gérés en dehors de Content API.products.update
a été ajouté pour que vous puissiez mettre à jour un ensemble de champs de produit de votre choix. Pour plus d'informations sur son utilisation, 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
itemLevelIssues
par le serviceproductstatus
:ageGroup
availability
condition
energyEfficiencyClass
gender
maxEnergyEfficiencyClass
minEnergyEfficiencyClass
sizeSystem
sizeType
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
groupValues
en plus du champ d'originevalue
. Un seul de ces champs doit être défini.