Appels d'API directs

Dans cette approche d'interaction avec l'API Merchant, vous envoyez des requêtes brutes directement aux points de terminaison de l'API, généralement via HTTP(S). Vous gérez manuellement des aspects tels que la création du corps de la requête, la définition des en-têtes (y compris l'authentification) et l'analyse de la réponse.

Étape 1 : S'inscrire comme développeur

Pour utiliser l'API Merchant, vous devez enregistrer vos coordonnées de développeur.

L'inscription permet d'effectuer les opérations suivantes :

  • Créer un contact technique pour votre compte Merchant Center en attribuant le rôle API developer à un utilisateur. Cela permet à Google d'envoyer des mises à jour importantes concernant spécifiquement l'API et les fonctionnalités utilisées par le développeur, telles que des annonces de service et des informations sur les nouvelles fonctionnalités, qui peuvent être moins intéressantes pour les non-développeurs.
  • Vous permet de travailler avec plusieurs comptes marchand sans avoir à vous inscrire plusieurs fois. Lorsque vous vous inscrivez, l'ID de projet Google Cloud utilisé pour l'authentification auprès de l'API Merchant est associé à votre compte Merchant Center, qui comporte les contacts techniques (les API developer). Vous pouvez ainsi recevoir des mises à jour importantes pour tous les comptes marchand que vous gérez, à condition que l'authentification soit effectuée avec le projet Google Cloud enregistré.

Lors de l'inscription, respectez les prérequis et les restrictions décrits dans la section Inscription.

Pour vous inscrire à l'aide de la developerRegistration.registerGcp méthode, vous pouvez commencer par cet exemple, en remplaçant {DEVELOPER_EMAIL} par l' adresse e-mail appropriée dans le corps de la requête.

POST https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/developerRegistration:registerGcp

{
  "developerEmail": "{DEVELOPER_EMAIL}"
}

Un appel réussi renvoie une ressource DeveloperRegistration, qui confirme le lien entre votre projet et votre compte.

{
  "name": "accounts/{ACCOUNT_ID}/developerRegistration",
  "gcpIds": [
    "123456789012345"
  ]
}

Étape 2 : Gérer les contacts et les autorisations des développeurs

Lorsque vous vous inscrivez :

  • Si l'adresse e-mail appartient à un utilisateur du compte Merchant Center, le rôle API_DEVELOPER lui est attribué.
  • Si l'adresse e-mail n'appartient pas à un utilisateur existant, une invitation est envoyée à cette adresse. Le destinataire doit accepter l'invitation pour être ajouté en tant que nouvel utilisateur avec le rôle API_DEVELOPER.

Après l'inscription initiale, nous vous recommandons d'ajouter plusieurs développeurs et de leur accorder des droits d'accès supplémentaires.

Étape 2a : Accorder des autorisations supplémentaires

Le rôle API_DEVELOPER est requis pour recevoir des notifications importantes, mais il dispose d'autorisations minimales dans Merchant Center. Pour autoriser cet utilisateur à effectuer d'autres appels d'API ou à gérer les paramètres dans l'interface utilisateur de Merchant Center, vous devez lui accorder des rôles supplémentaires, tels que STANDARD ou ADMIN. Pour en savoir plus, consultez la section Types d'accès.

Vous pouvez mettre à jour les droits d'accès d'un utilisateur à l'aide de la accounts.users.patch méthode.

L'exemple suivant montre comment mettre à jour un utilisateur pour lui accorder les rôles ADMIN et API_DEVELOPER. Il peut ainsi gérer entièrement le compte et recevoir des communications liées à l'API.

PATCH https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/users/{DEVELOPER_EMAIL}?update_mask=access_rights
{
  "access_rights": [
    "ADMIN",
    "API_DEVELOPER"
  ]
}

Étape 2b : Ajouter des développeurs de secours

Pour éviter que votre accès à l'API ne soit interrompu si votre contact développeur principal quitte votre organisation, vous devez ajouter au moins un développeur de secours.

Vous pouvez ajouter un utilisateur avec la accounts.users.create méthode ou en mettre à jour un avec accounts.users.patch. Nous vous recommandons d'attribuer à cet utilisateur les rôles ADMIN et API_DEVELOPER.

Étape 3 : Créer une source de données produit principale

Pour insérer un produit, vous avez besoin d'une source de données produit principale. La requête suivante montre comment créer une source de données que vous pouvez utiliser pour insérer un produit dans votre compte :

POST https://merchantapi.googleapis.com/datasources/v1/accounts/{ACCOUNT_ID}/dataSources

{
  "primaryProductDataSource": {
    "contentLanguage": "en",
    "countries": [
      "US"
    ],
    "feedLabel": "US"
  },
  "name": "primary-data-source",
  "displayName": "Primary Products Data Source"
}

Remplacez {ACCOUNT_ID} par l'ID du compte Merchant Center que vous avez créé.

Une fois cette requête exécutée, vous devriez voir la réponse suivante :

{
  "name": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}",
  "dataSourceId": "{DATASOURCE_ID}",
  "displayName": "Primary Products Data Source",
  "primaryProductDataSource": {
    "feedLabel": "US",
    "contentLanguage": "en",
    "countries": [
      "US"
    ],
    "defaultRule": {
      "takeFromDataSources": [
        {
          "self": true
        }
      ]
    }
  },
  "input": "API"
}

Copiez la valeur du champ name. Vous en aurez besoin pour insérer un produit.

Vous pouvez afficher cette source de données dans l'interface utilisateur de Merchant Center. Pour en savoir plus, consultez la section Comment trouver l'onglet "Sources de données".

Étape 4 : Insérer un produit

Une fois la source de données créée, essayez d'y insérer un produit. Exécutez la commande suivante en fournissant le ACCOUNT_ID approprié. Remplacez {DATASOURCE_NAME} par la valeur que vous avez copiée précédemment.

POST https://merchantapi.googleapis.com/products/v1/accounts/{ACCOUNT_ID}/productInputs:insert?dataSource={DATASOURCE_NAME}
{
  "contentLanguage": "en",
  "feedLabel": "US",
  "name": "Red T-shirt",
  "productAttributes": {
    "gender": "MALE",
    "brand": "New brand"
  },
  "offerId": "tshirt-123"
}

Une fois cette requête exécutée, vous devriez voir la réponse suivante :

{
  "name": "accounts/{ACCOUNT_ID}/productInputs/en~US~tshirt-123",
  "product": "accounts/{ACCOUNT_ID}/products/en~US~tshirt-123",
  "offerId": "tshirt-123",
  "contentLanguage": "en",
  "feedLabel": "US",
  "productAttributes": {
    "brand": "New brand",
    "gender": "MALE"
  }
}

L'ID du produit nouvellement créé est en~US~tshirt-123. Vous pouvez utiliser la accounts.products.get méthode pour récupérer des informations sur ce produit. Vous pouvez également utiliser l'interface utilisateur de Merchant Center pour afficher ce produit. Pour en savoir plus sur l'affichage de vos données produit, consultez la section Présentation des produits dans Merchant Center.