API Account Statuses

L'API Account Statuses vous permet de consulter l'état de votre compte Merchant Center ou d'un MC (multicompte) et de tous les sous-comptes qui lui sont associés.

Les marchands possédant plusieurs boutiques en ligne ou marques vendues sur des sites Web distincts peuvent choisir de disposer de sous-comptes dans un MC.

get

L'appel d'API accountstatuses.get permet à un multicompte d'obtenir des informations sur l'état d'un seul sous-compte ou à un compte individuel d'obtenir ses propres informations d'état.

Utilisez l'appel d'API suivant pour obtenir les informations sur l'état du compte, où merchantId est le numéro de multicompte et accountId celui de son sous-compte.

Si le compte Merchant Center n'est pas un multicompte, la méthode accountstatuses.get peut toujours renvoyer des informations sur l'état du compte. Dans ce cas, utilisez le même numéro de compte Merchant Center pour les deux paramètres dans l'appel d'API ci-dessous.

Vous pouvez contrôler les types de problèmes liés aux produits renvoyés par la méthode accountstatuses.get à l'aide du paramètre destination. Lorsque la destination n'est pas spécifiée, la réponse par défaut ne comprend que les états de destination: Shopping.

GET https://www.googleapis.com/content/v2.1/merchantId/accountstatuses/accountId

Voici un exemple de réponse JSON pour un sous-compte qui a été suspendu pour une violation de type "page de destination qui ne fonctionne pas".

{
 "kind": "content#accountStatus",
 "accountId": "123456789",
 "websiteClaimed": true,
 "accountLevelIssues": [
  {
   "id": "editorial_and_professional_standards_destination_url_down_policy",
   "title": "Account suspended due to policy violation: landing page not working",
   "country": "US",
   "severity": "critical",
   "documentation": "https://support.google.com/merchants/answer/6150244#wycd-usefulness"
  },
  {
   "id": "missing_ad_words_link",
   "title": "No Google Ads account linked",
   "severity": "error",
   "documentation": "https://support.google.com/merchants/answer/6159060"
  }
 ],
 "products": [
  {
   "channel": "online",
   "destination": "Shopping",
   "country": "US",
   "statistics": {
    "active": "0",
    "pending": "0",
    "disapproved": "5",
    "expiring": "0"
   },
   "itemLevelIssues": [
    {
     "code": "image_link_broken",
     "servability": "disapproved",
     "resolution": "merchant_action",
     "attributeName": "image link",
     "description": "Invalid image [image link]",
     "detail": "Ensure the image is accessible and uses an accepted image format (JPEG, PNG, GIF)",
     "documentation": "https://support.google.com/merchants/answer/6098289",
     "numItems": "2"
    },
    {
     "code": "landing_page_error",
     "servability": "disapproved",
     "resolution": "merchant_action",
     "attributeName": "link",
     "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",
     "numItems": "5"
    },
    {
     "code": "missing_condition_microdata",
     "servability": "unaffected",
     "resolution": "merchant_action",
     "description": "Missing or invalid data [condition]",
     "detail": "Add valid structured data markup to your landing page",
     "documentation": "https://support.google.com/merchants/answer/6183460",
     "numItems": "5"
    },
    {
     "code": "mobile_landing_page_error",
     "servability": "disapproved",
     "resolution": "merchant_action",
     "attributeName": "link",
     "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",
     "numItems": "3"
    }
   ]
  }
 ]
}

list

L'appel d'API accountstatuses.list renvoie des informations sur tous les sous-comptes. Utilisez l'appel d'API suivant pour obtenir les informations sur l'état du compte, où merchantId correspond au numéro d'un multicompte.

La méthode accountstatuses.list permet également de filtrer les problèmes liés aux produits par destination. Lorsque la destination n'est pas spécifiée, la réponse par défaut ne comprend que les états pour destination: Shopping.

GET https://www.googleapis.com/content/v2.1/merchantId/accountstatuses

Voici un exemple de réponse JSON :

{
 "kind": "content#accountstatusesListResponse",
 "resources": [
  {
   "kind": "content#accountStatus",
   "accountId": "1234567",
   "websiteClaimed": true,
   "accountLevelIssues": [
    {
     "id": "editorial_and_professional_standards_destination_url_down_policy",
     "title": "Account suspended due to policy violation: landing page not working",
     "country": "US",
     "severity": "critical",
     "documentation": "https://support.google.com/merchants/answer/6150244#wycd-usefulness"
    },
    {
     "id": "missing_ad_words_link",
     "title": "No Google Ads account linked",
     "severity": "error",
     "documentation": "https://support.google.com/merchants/answer/6159060"
    }
   ],
   "products": [
    {
     "channel": "online",
     "destination": "Shopping",
     "country": "US",
     "statistics": {
      "active": "0",
      "pending": "0",
      "disapproved": "0",
      "expiring": "0"
     }
    }
   ]
  },
  {
   "kind": "content#accountStatus",
   "accountId": "123456789",
   "websiteClaimed": true,
   "accountLevelIssues": [
    {
     "id": "home_page_issue",
     "title": "Website URL not provided",
     "severity": "critical",
     "documentation": "https://support.google.com/merchants/answer/176793"
    },
    {
     "id": "missing_ad_words_link",
     "title": "No Google Ads account linked",
     "severity": "error",
     "documentation": "https://support.google.com/merchants/answer/6159060"
    }
   ],
   "products": [
    {
     "channel": "online",
     "destination": "Shopping",
     "country": "US",
     "statistics": {
      "active": "0",
      "pending": "0",
      "disapproved": "0",
      "expiring": "0"
     }
    }
   ]
  }
 ]
}

Un appel d'API accountstatuses.list pour un compte autre qu'un multicompte (par exemple, un compte Merchant Center individuel) renvoie une erreur 403, avec un corps JSON semblable à celui-ci :

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "forbidden",
    "message": "111111111 is not a multi-client account (MCA). The only account
                service operations allowed on non-MCAs are 'get', 'update',
                'authinfo' and 'claimwebsite'."
   }
  ],
  "code": 403,
  "message": "111111111 is not a multi-client account (MCA). The only account
              service operations allowed on non-MCAs are 'get', 'update',
              'authinfo' and 'claimwebsite'."
 }
}

Requêtes par lot

Un appel d'API accountstatuses.custombatch incluant une méthode GET renvoie des informations d'état pour plusieurs sous-comptes liés à un multicompte.

La requête JSON comporte le paramètre merchantId du numéro de multicompte, le paramètre accountId du sous-compte, un paramètre batchId unique et le paramètre method défini sur get.

POST https://www.googleapis.com/content/v2.1/accountstatuses/batch

Voici un exemple de corps de requête JSON :

{
  "entries": [
    {
      "accountId": 1212121212,
      "merchantId": 4444444444,
      "method": "get",
      "batchId": 9
    },
    {
      "accountId": 1313131313,
      "merchantId": 4444444444,
      "method": "get",
      "batchId": 99
    }
  ]
}

Voici un exemple de corps de réponse JSON :

{
 "kind": "content#accountstatusesCustomBatchResponse",
 "entries": [
  {
   "batchId": 9,
   "accountStatus": {
    "kind": "content#accountStatus",
    "accountId": "1212121212",
    "websiteClaimed": true,
    "accountLevelIssues": [
     {
      "id": "home_page_issue",
      "title": "Website URL not provided",
      "severity": "critical",
      "documentation": "https://support.google.com/merchants/answer/176793"
     },
     {
      "id": "missing_ad_words_link",
      "title": "No Google Ads account linked",
      "severity": "error",
      "documentation": "https://support.google.com/merchants/answer/6159060"
     }
    ],
    "products": [
     {
      "channel": "online",
      "destination": "Shopping",
      "country": "US",
      "statistics": {
       "active": "0",
       "pending": "0",
       "disapproved": "0",
       "expiring": "0"
      }
     }
    ]
   }
  },
  {
   "batchId": 99,
   "accountStatus": {
    "kind": "content#accountStatus",
    "accountId": "1313131313",
    "websiteClaimed": true,
    "accountLevelIssues": [
     {
      "id": "editorial_and_professional_standards_destination_url_down_policy",
      "title": "Account suspended due to policy violation: landing page not working",
      "country": "US",
      "severity": "critical",
      "documentation": "https://support.google.com/merchants/answer/6150244#wycd-usefulness"
     },
     {
      "id": "missing_ad_words_link",
      "title": "No Google Ads account linked",
      "severity": "error",
      "documentation": "https://support.google.com/merchants/answer/6159060"
     }
    ],
    "products": [
     {
      "channel": "online",
      "destination": "Shopping",
      "country": "US",
      "statistics": {
       "active": "0",
       "pending": "0",
       "disapproved": "0",
       "expiring": "0"
      }
     }
    ]
   }
  }
 ]
}

Modifications apportées dans la version 2.1

Dans la ressource AccountStatus, l'attribut dataQualityIssues a été remplacé par itemLevelIssues. Pour en savoir plus sur ces modifications, reportez-vous à la page Passer de la version 2 à la version 2.1 de Content API.

Tester l'API Account Statuses

Ces exemples de test utilisent base_url pour se référer à https://www.googleapis.com. De plus, tous les exemples se servent de /content/v2 dans l'URL d'un environnement de production. Pour tester l'API v2.1, utilisez plutôt /content/v2.1.

Dans l'exemple suivant, nous récupérons l'état des comptes d'un multicompte à l'aide de la méthode custombatch.get :

  1. Obtenez l'état des sous-comptes d'un multicompte à l'aide de accountstatuses.get.

    1. Les paramètres merchantId et accountId peuvent être obtenus en exécutant GET au point de terminaison de l'API :

      GET https://www.googleapis.com/content/v2.1/merchantId/accountstatuses/accountId
      
    2. Vous devez recevoir un code d'état HTTP 200 en cas de réussite, ainsi que la liste des états des comptes au format JSON.

  2. Affichez l'état de tous les sous-comptes d'un multicompte à l'aide de accountstatuses.list.

    1. Exécutez une commande GET au point de terminaison de l'API avec le paramètre merchantId :

      GET https://www.googleapis.com/content/v2.1/merchantId/accountstatuses
      
    2. Vous devez recevoir un code d'état HTTP 200 en cas de réussite, ainsi que la liste des états des comptes au format JSON pour le paramètre merchantId envoyé.

  3. Affichez les sous-comptes d'un multicompte à l'aide de accountstatuses.custombatch.

    1. Créez un corps de requête JSON valide à l'aide des paramètres accountID et merchant ID, et de la méthode get.

    2. Exécutez une commande POST au point de terminaison de l'API :

      POST https://www.googleapis.com/content/v2.1/accountstatuses/batch
      
    3. Vous devez recevoir un code d'état HTTP 200 en cas de réussite, ainsi que la liste des états des comptes au format JSON.