Cette approche pour interagir avec la Merchant API consiste à envoyer 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 formation 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 Merchant API, vous devez enregistrer vos coordonnées de développeur.
L'enregistrement permet d'effectuer les opérations suivantes :
- Crée un contact technique pour votre compte Merchant Center en attribuant le rôle
API developerà un utilisateur. Cela permet à Google d'envoyer des informations importantes concernant spécifiquement l'API et les fonctionnalités utilisées par le développeur, telles que des annonces sur le service et des informations sur les nouvelles fonctionnalités, qui pourraient être moins intéressantes pour les non-développeurs. - Vous permet de travailler avec plusieurs comptes marchands sans avoir à vous inscrire plusieurs fois. Lors de l'enregistrement, l'ID du projet Google Cloud utilisé pour s'authentifier auprès de l'API Merchant est associé à votre compte Merchant Center, qui contient les contacts techniques (les
API developer). Vous pouvez ainsi recevoir des informations importantes pour tous les comptes marchands que vous gérez, à condition que l'authentification soit effectuée avec le projet Google Cloud enregistré.
Lors de l'enregistrement, respectez les conditions préalables et les restrictions détaillées dans la section Enregistrement.
Pour vous inscrire à l'aide de la méthode developerRegistration.registerGcp, 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}"
}
Si l'appel aboutit, une ressource DeveloperRegistration est renvoyée, ce qui confirme l'association 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_DEVELOPERlui 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'enregistrement initial, nous vous recommandons d'ajouter plusieurs développeurs et de leur accorder des droits d'accès supplémentaires.
Étape 2a. Accordez 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 permettre à cet utilisateur d'effectuer d'autres appels d'API ou de gérer les paramètres dans l'UI Merchant Center, vous devez lui attribuer des rôles supplémentaires, tels que STANDARD ou ADMIN. Pour en savoir plus, consultez Types d'accès.
Vous pouvez mettre à jour les droits d'accès d'un utilisateur à l'aide de la méthode accounts.users.patch.
L'exemple suivant montre comment mettre à jour un utilisateur pour lui attribuer les rôles ADMIN et API_DEVELOPER. Cela lui permet de gérer entièrement le compte et de recevoir les 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 l'accès à votre 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 méthode accounts.users.create ou en modifier 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, la réponse suivante devrait s'afficher :
{
"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 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 indiquant le bon ACCOUNT_ID. 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, la réponse suivante devrait s'afficher :
{
"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'identifiant produit du produit que vous venez de créer est en~US~tshirt-123. Vous pouvez utiliser la méthode accounts.products.get 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 Vue d'ensemble des produits dans Merchant Center.