Product Statuses API

Product Statuses API vous permet d'identifier les problèmes que présentent vos produits et de rassembler des informations sur ces problèmes. Dans la version 2.1, tous les produits sont renvoyés à partir de la méthode "list", quelle que soit leur validité. Nous vous recommandons d'appeler régulièrement Product Statuses API pour identifier les problèmes liés à vos produits.

get

La méthode productstatuses.get permet de récupérer l'état de la qualité des données d'un produit.

GET https://www.googleapis.com/content/v2.1/{merchantID}/productstatuses/{productId}?destinations=Shopping&includeAttributes=true&fields=productId%2Ctitle

Les paramètres d'URL facultatifs pour la méthode productstatuses.get sont les suivants :

{merchantID}
ID du marchand.
{productID}
Identifiant produit. Pour voir un exemple d'identifiant produit, reportez-vous à l'attribut "Identifiant REST" dans le guide Identifiant produit.
destinations
Liste des destinations séparées par une virgule. La valeur par défaut est Shopping, ce qui correspond au programme des annonces Shopping.

Voici un exemple de réponse JSON à un appel de la méthode productstatuses.get :

{
"kind": "content#productStatus",
"productId": "online:en:US:63",
"title": "Third Product",
"link": "http://examplemenc.com/",
"destinationStatuses": [
 {
   "destination": "Shopping",
   "status": "disapproved"
 },
 {
   "destination": "ShoppingActions",
   "status": "disapproved"
 },
 {
   "destination": "SurfacesAcrossGoogle",
   "status": "disapproved"
 }
],
"itemLevelIssues": [
 {
  "code": "strong_id_inaccurate",
  "servability": "disapproved",
  "resolution": "merchant_action",
  "attributeName": "mpn",
  "destination": "Shopping",
  "description": "Incorrect product identifier [mpn]",
  "detail": "Use the manufacturer's product identifiers (GTIN, brand, MPN)",
  "documentation": "https://support.google.com/merchants/answer/160161"
 },
 {
  "code": "image_link_internal_error",
  "servability": "disapproved",
  "resolution": "merchant_action",
  "attributeName": "image link",
  "destination": "Shopping",
  "description": "Processing failed [image link]",
  "detail": "Wait for the product image to be crawled again (up to 3 days)",
  "documentation": "https://support.google.com/merchants/answer/6240184"
 },
 {
  "code": "landing_page_error",
  "servability": "disapproved",
  "resolution": "merchant_action",
  "attributeName": "link",
  "destination": "Shopping",
  "description": "Unavailable desktop landing page",
  "detail": "Update your website or landing page URL to enable access from desktop devices",
  "documentation": "https://support.google.com/merchants/answer/6098155"
 },
 {
  "code": "missing_condition_microdata",
  "servability": "unaffected",
  "resolution": "merchant_action",
  "destination": "Shopping",
  "description": "Missing or invalid data [condition]",
  "detail": "Add valid structured data markup to your landing page",
  "documentation": "https://support.google.com/merchants/answer/6183460"
 },
 {
  "code": "mobile_landing_page_error",
  "servability": "disapproved",
  "resolution": "merchant_action",
  "attributeName": "link",
  "destination": "Shopping",
  "description": "Unavailable mobile landing page",
  "detail": "Update your website or landing page URL to enable access from mobile devices",
  "documentation": "https://support.google.com/merchants/answer/6098296"
 }
],
"creationDate": "2019-02-15T20:30:15Z",
"lastUpdateDate": "2019-02-26T16:40:11Z",
"googleExpirationDate": "2019-03-28T16:40:11Z"
}

Ressources

Le corps JSON renvoyé après un appel de la méthode get comporte plusieurs sections. Les informations de base et les états des destinations sont renvoyés pour tous les produits, mais la section présentant les problèmes au niveau des articles n'est renvoyée que pour les produits rencontrant des problèmes. Les informations de base consistent en une série d'attributs individuels, mais les autres sections comportent des blocs d'attributs, car un produit peut présenter plusieurs problèmes.

Informations de base

kind
La valeur de l'attribut kind est toujours content#productStatus pour indiquer le corps de la réponse à un appel productstatuses.
creationDate
Date de création du produit.
lastUpdateDate
Date de la dernière mise à jour du produit.
googleExpirationDate
Date d'expiration du produit.
productId
Identifiant REST du produit.
title
Titre du produit.
link
Lien URL du produit.

États des destinations

destination
Les destinations peuvent être les suivantes :
  • Shopping Ads [Annonces Shopping]
  • Shopping Actions [Shopping Actions]
  • Surfaces Across Google [Diffusion sur différentes plates-formes Google]
  • Shopping
status
Les états possibles sont les suivants :
  • approved [approuvé]
  • disapproved [refusé]
  • pending [en attente]

Problèmes au niveau des articles

code
Code d'erreur utilisé pour définir le problème.
servability
Indique si le produit apparaît comme :
  • disapproved [refusé], ce qui indique que le problème empêche la diffusion du produit.
  • unaffected [non affecté], ce qui indique que le problème de qualité des données n'empêche pas la diffusion du produit dans le magasin.
resolution
Indique si le marchand peut résoudre le problème.
attributeName
Nom de l'attribut affecté.
destination
Destination affectée.
description
Description du produit.
detail
Informations supplémentaires sur le problème.
documentation
Lien vers la documentation sur le problème.

list

La méthode productstatuses.list permet de récupérer la liste des produits présentant des problèmes.

GET https://www.googleapis.com/content/v2.1/{merchantID}/productstatuses?destinations=Shopping&includeAttributes=false&includeInvalidInsertedItems=true&maxResults=3&pageToken=5108b52782905aa9

La méthode productstatuses.list peut comporter les paramètres facultatifs suivants :

destinations

Il s'agit de la destination, Shopping dans cet exemple. L'URL de base est la suivante :

https://www.googleapis.com/content/v2.1
{merchantID}

Vous devez indiquer ici votre ID de marchand.

pageToken

Utilisé pour obtenir la deuxième page et toutes les pages suivantes. Chaque page possède un paramètre nextPageToken que vous utilisez pour obtenir la page suivante dans la séquence.

destinations

Liste des destinations séparées par une virgule. La valeur par défaut est Shopping.

maxResults

Nombre de résultats à renvoyer par page.

Voici un exemple de réponse JSON à un appel productstatuses.list (notez que la ressource renvoyée pour la méthode productstatuses.list est dans un format semblable à celui de l'appel d'API productstatuses.get) :

{
"kind": "content#productstatusesListResponse",
"nextPageToken": "632fd090c95712c6",
"resources": [
 {
   "kind": "content#productStatus",
   "productId": "online:en:US:online-en-US-GGL614",
   "title": "Green Headphones",
   "link": "https://example.com/green-headphones/",
   "destinationStatuses": [
     {
       "destination": "Shopping",
       "status": "disapproved"
     },
     {
       "destination": "ShoppingActions",
       "status": "disapproved"
     },
     {
       "destination": "SurfacesAcrossGoogle",
       "status": "disapproved"
     }
   ],
   "itemLevelIssues": [
     {
       "code": "mobile_landing_page_crawling_not_allowed",
       "servability": "disapproved",
       "resolution": "merchant_action",
       "attributeName": "link",
       "destination": "Shopping",
       "description": "Mobile page not crawlable due to robots.txt",
       "detail": "Update your robots.txt file to allow user-agents \"Googlebot\" and \"Googlebot-Image\" to crawl your site",
       "documentation": "https://support.google.com/merchants/answer/6098296"
     },
     {
       "code": "pending_initial_policy_review",
       "servability": "disapproved",
       "resolution": "pending_processing",
       "destination": "Shopping",
       "description": "Pending initial review",
       "documentation": "https://support.google.com/merchants/answer/2948694"
     },
     {
       "code": "ambiguous_gtin",
       "servability": "unaffected",
       "resolution": "merchant_action",
       "attributeName": "gtin",
       "destination": "Shopping",
       "description": "Ambiguous value [gtin]",
       "detail": "Use the full GTIN. Include leading zeroes, and use the full UPC, EAN, JAN, ISBN-13, or ITF-14.",
       "documentation": "https://support.google.com/merchants/answer/7000891"
     }
   ],
   "creationDate": "2020-01-09T15:36:39Z",
   "lastUpdateDate": "2020-01-14T19:17:02Z",
   "googleExpirationDate": "2020-02-13T19:17:02Z"
 },
 {
  "kind": "content#productStatus",
  "productId": "online:en:US:43",
  "title": "Green shirt",
  "link": "https://example.com/shirt-green/",
  "destinationStatuses": [
   {
    "destination": "ShoppingActions",
    "status": "approved",
   },
   {
    "destination": "SurfacesAcrossGoogle",
    "status": "approved",

   }
  ],
  "creationDate": "2019-01-29T21:14:36Z",
  "lastUpdateDate": "2019-02-21T18:47:44Z",
  "googleExpirationDate": "2019-03-23T18:47:44Z"
 },
 {
  "kind": "content#productStatus",
  "productId": "online:en:US:40",
  "title": "Black hat",
  "link": "https://example.com/hat-black/",
  "destinationStatuses": [
   {
    "destination": "SurfacesAcrossGoogle",
    "status": "approved",
   }
  ],
  "creationDate": "2019-01-29T21:14:36Z",
  "lastUpdateDate": "2019-02-21T18:47:44Z",
  "googleExpirationDate": "2019-03-23T18:47:44Z"
 }
]
}

Tester la méthode productstatuses.list de l'API

La méthode productstatuses.list de l'API peut être testée sans risque en production, car elle génère des rapports en lecture seule sur l'état des produits et ne modifie donc aucune donnée.

Modifications apportées dans la version 2.1

  • L'attribut product a été supprimé, de même que le paramètre includeAttributes. Pour extraire les attributs du produit correspondant à un état, utilisez le service Products et la valeur du nouveau champ productId.

  • Le paramètre includeInvalidInsertedItems a été supprimé. Le champ productId de chaque produit est désormais renvoyé, que le produit soit valide ou non.

  • Les champs intention, approvalStatus et approvalPending dans destinationStatuses ont été remplacés par le champ status, qui correspond à une chaîne pouvant être approved, disapproved ou pending.

  • dataQualityIssues a été remplacé par itemLevelIssues.

Pour plus d'informations sur les modifications apportées dans la version 2.1, consultez la section Passer de la version 2 à la version 2.1.