Cette page explique comment importer et gérer vos produits de manière programmatique. L'API Merchant Products vous permet d'insérer ou de mettre à jour un produit dans une source de données, de récupérer un produit dans votre compte et de supprimer un produit d'une source de données.
L'API Merchant Products contient deux ressources.
productInputs
représente les parties d'entrée de vos produits.products
représente les produits traités qui ont été construits à partir de vos pièces d'entrée.
productInputs
peut être principal et supplémentaire, selon qu'il est importé dans une source de données principale ou une source de données supplémentaire.
Chaque product
sera construit à partir d'un seul productInput
principal et d'un nombre quelconque de productInputs
supplémentaires.
Vous pouvez utiliser Merchant Products API pour créer des catalogues de magasins en ligne ou en magasin. Il s'agit de produits pouvant apparaître sur plusieurs sites d'achat.
Vous pouvez utiliser la ressource productInputs
une fois que vous avez créé votre compte Merchant Center, configuré votre première source de données et êtes prêt à importer un ensemble initial de produits via l'API.
Bien que les marchands puissent importer des produits à l'aide d'un fichier appelé PrimaryProductDataSource, la création et la suppression de produits à l'aide de Merchant API présente plusieurs avantages. Ces avantages incluent un temps de réponse plus rapide et la possibilité de mettre à jour les produits en temps réel, sans avoir à gérer de gros fichiers. Il peut s'écouler plusieurs heures avant que les modifications apportées aux produits via des appels d'API ne soient appliquées dans la base de données Shopping.
Prérequis
Si vous ne disposez pas d'une source de données, créez-en une à l'aide de l'API Merchant DataSources ou de Merchant Center.
Si vous avez déjà créé une source de données à l'aide de l'interface utilisateur de Merchant Center ou de l'API, vous pouvez utiliser l'API Merchant Products pour ajouter vos produits. Si vous utilisez la Content API for Shopping pour ajouter des produits, consultez le guide de migration pour savoir comment commencer à utiliser l'API Merchant Products.
Vous êtes tenu de respecter les règles concernant les annonces Shopping et les fiches gratuites. Les annonces Shopping se réservent le droit de faire appliquer ces règles et de prendre les mesures appropriées si nous détectons un contenu ou un comportement qui n'y est pas conforme.
Ressources
La ressource products
vous permet de récupérer des informations produit à partir de la base de données Shopping.
La ressource productInput
représente les données d'entrée que vous envoyez pour un produit. Elle fournit également des méthodes qui vous permettent de mettre à jour ou de supprimer des informations sur un produit, voire sur plusieurs produits en même temps, en mode par lot. Une ressource productInput
doit comporter les champs suivants:
channel
: canal du produit.offerId
: identifiant unique du produit.contentLanguage
: code de langue ISO 639-1 à deux lettres du produit.feedLabel
: libellé du flux du produit.
Importer une entrée produit dans votre compte
Pour importer une entrée de produit dans votre compte, utilisez la méthode accounts.productInputs.insert
. Vous devez transmettre l'identifiant unique de la source de données principale ou supplémentaire.
L'exemple de requête suivant montre comment utiliser la méthode accounts.productInputs.insert
pour importer une entrée de produit dans votre compte marchand. La requête définit le prix et la région de livraison, ainsi que des attributs personnalisés tels que la date de fabrication et la taille.
POST https://merchantapi.googleapis.com/products/v1beta/accounts/{ACCOUNT_ID}/productInputs:insert?dataSource={DATASOURCE}
{
"name": "{PRODUCT_TITLE}",
"versionNumber": {VERSION_NUMBER},
"contentLanguage": "{CONTENT_LANGUAGE}",
"feedLabel": "{FEED_LABEL}",
"offerId": "{OFFER_ID}",
"channel": "ONLINE",
"attributes": {
"availability": "in stock",
"imageLink": "{IMAGE_LINK}",
"link": "{PRODUCT_LINK}",
"brand": "{BRAND_NAME}",
"price": {
"currencyCode": "{CURRENCY_CODE}",
"amountMicros": {PRICE}
},
"color": "red",
"productWeight": {
"value": 320,
"unit": "g"
},
"adult": false,
"shipping": [
{
"country": "GB",
"price": {
"amountMicros": {SHIPPING_COST},
"currencyCode": "{CURRENCY_CODE_SHIPPING}"
},
"postalCode": "{SHIPPING_POSTALCODE}",
"service": "",
"region": "{SHIPPING_REGION}",
"maxHandlingTime": "{MAX_HANDLING_TIME}",
"minHandlingTime": "{MIN_HANDLING_TIME}",
"maxTransitTime": "{MAX_TRANSIT_TIME}",
"minTransitTime": "{MIN_TRANSIT_TIME}"
}
],
"gender": "Female"
},
"customAttributes": [
{
"name": "size",
"value": "Large"
},
{
"name": "Date of Manufacturing",
"value": "2024-05-05"
}
]
}
Remplacez les éléments suivants :
- {ACCOUNT_ID}: identifiant unique de votre compte Merchant Center.
- {DATASOURCE}: identifiant unique de la source de données. Il doit être au format
accounts/
{ACCOUNT_ID}/dataSources/
{DATASOURCE_ID}. - {PRODUCT_TITLE}: nom du produit.
- {VERSION_NUMBER}: numéro de version du produit. Facultatif.
- {CONTENT_LANGUAGE}: code de langue ISO 639-1 à deux lettres du produit. Obligatoire.
- {FEED_LABEL}: code de territoire CLDR de la région dans laquelle vous souhaitez vendre le produit. Si la valeur fournie pour
feedLabel
n'est pas valide, le champtargetCountry
n'est pas renseigné. - {OFFER_ID}: identifiant unique du produit. Obligatoire.
- {IMAGE_LINK}: lien vers l'image du produit sur votre site Web. Facultatif.
- {PRODUCT_LINK}: lien vers le produit sur votre site Web. Facultatif.
- {CURRENCY_CODE}: devise du prix à l'aide d'acronymes à trois lettres, conformément à la norme ISO 4217. Facultatif.
- {PRICE}: prix du produit représenté sous la forme d'un nombre en micros. Facultatif.
- {SHIPPING_COST}: prix de livraison fixe, représenté sous forme de nombre. Facultatif.
- {SHIPPING_POSTALCODE}: plage de codes postaux pour laquelle le tarif de livraison s'applique. Facultatif.
- {MAX_HANDLING_TIME}: temps de traitement maximal en jours ouvrés entre la réception de la commande et son expédition. Facultatif.
- {MIN_HANDLING_TIME}: temps de traitement minimal en jours ouvrés entre la réception de la commande et son expédition. La valeur 0 signifie que la commande est livrée le jour même de sa réception. Facultatif.
- {MAX_TRANSIT_TIME}: délai d'acheminement maximal en jours ouvrés entre l'expédition de la commande et sa livraison. Facultatif.
- {MIN_TRANSIT_TIME}: délai d'acheminement minimal en jours ouvrés entre l'expédition de la commande et sa livraison. La valeur 0 signifie que la commande est livrée le même jour que son expédition. Facultatif.
Lorsque la requête s'exécute correctement, la réponse suivante s'affiche:
{
"name": "{PRODUCT_NAME}",
"product": "{PRODUCT_ID}",
"channel": "ONLINE",
"offerId": "{OFFER_ID}",
"contentLanguage": "{CONTENT_LANGUAGE}",
"feedLabel": "{FEED_LABEL}",
"versionNumber": "{VERSION_NUMBER}",
"attributes": {
"link": "{PRODUCT_LINK}",
"imageLink": "{IMAGE_LINK}",
"adult": false,
"availability": "in stock",
"brand": "{BRAND_NAME}",
"color": "red",
"gender": "Female",
"price": {
"amountMicros": "{PRICE}",
"currencyCode": "{CURRENCY_CODE}"
},
"shipping": [
{
"price": {
"amountMicros": "{SHIPPING_COST}",
"currencyCode": "{CURRENCY_CODE}"
},
"country": "{SHIPPING_COUNTRY}",
"region": "{SHIPPING_REGION}",
"postalCode": "{SHIPPING_POSTALCODE}",
"minHandlingTime": "{MIN_HANDLING_TIME}",
"maxHandlingTime": "{MAX_HANDLING_TIME}",
"minTransitTime": "{MIN_TRANSIT_TIME}",
"maxTransitTime": "{MAX_TRANSIT_TIME}"
}
],
"productWeight": {
"value": 320,
"unit": "g"
}
},
"customAttributes": [
{
"name": "Size",
"value": "Large"
},
{
"name": "Date of Manufacturing",
"value": "2024-05-05"
}
]
}
Récupérez un produit traité dans votre compte
Pour récupérer un produit traité dans votre compte, utilisez la méthode accounts.products.get
. L'affichage du produit traité peut prendre plusieurs minutes après l'insertion.
Vous pouvez obtenir le nom de la ressource du produit traité à partir du champ product
dans la réponse de accounts.productInputs.insert
.
Supprimer une entrée de produit de votre compte
Pour supprimer une entrée de produit de votre compte, utilisez la méthode accounts.productInputs.delete
. Pour supprimer un produit à l'aide de l'API Merchant Products, vous devez transmettre l'identifiant unique de la source de données principale ou supplémentaire à laquelle le produit appartient.
Lister les produits de votre compte
Pour lister les produits traités dans votre compte, utilisez la méthode accounts.products.list
.