Vous pouvez utiliser des flux supplémentaires pour effectuer des mises à jour partielles de vos données produit en ajoutant feedId
comme paramètre de requête lorsque vous appelez les méthodes products.insert
, products.delete
, products.custombatch.insert
et products.custombatch.delete
.
Par exemple, vous pouvez effectuer un appel de méthode de flux supplémentaires products.insert
sur l'URL suivante :
POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products?feedId=feedId
products.insert
La méthode de flux supplémentaires products.insert
ajoute les champs de produit que vous envoyez dans le corps de la requête, en remplaçant ces champs s'ils existent. Lorsque vous utilisez un flux supplémentaire, cette méthode ne modifie pas les autres champs concernant le produit, sauf s'ils ont été inclus dans une requête précédente pour le même flux. Chaque requête remplace les requêtes précédentes pour ce même flux, tandis que les données ajoutées via d'autres flux sont préservées. Cela signifie que si vous ajoutez ou mettez à jour un champ via une requête de flux supplémentaire, et que vous n'incluez pas le champ dans une requête ultérieure, les données du champ omis sont supprimées du flux. Ce comportement diffère de l'appel de méthode products.insert
sans flux supplémentaire, qui supprime toutes les données produit existantes et les remplace par les champs que vous envoyez dans le corps de la requête.
Utilisez l'URL suivante pour envoyer une requête au service de flux supplémentaire Product.insert
:
POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products?feedId=feedId
Vous devez inclure les champs offerId
, feedLabel
, channel
et contentLanguage
dans le corps de la requête. Tous les autres sont facultatifs.
Exemple
Pour modifier la disponibilité d'un produit de "en stock" à "non disponible", vous pouvez utiliser le corps de requête suivant pour effectuer un appel de méthode Product.insert
pour des flux supplémentaires :
{
"offerId": "1111111111",
"contentLanguage": "en",
"feedLabel": "US",
"channel": "online",
"availability": "out of stock",
}
products.delete
La méthode products.delete
supprime toutes les données supplémentaires précédemment ajoutées par les appels products.insert
via le flux supplémentaire spécifié. En appelant cette méthode pour un flux supplémentaire, vous ne modifiez pas les données produit d'origine ajoutées avant le ou les appels Product.insert
du flux supplémentaire. Cela équivaut à supprimer une couche de données pour un flux spécifique. Les données ajoutées via d'autres flux ne sont pas affectées, et le produit revient à son état précédent, avant l'ajout de la couche de flux supplémentaire. Ce comportement diffère de l'appel de products.delete
sans flux supplémentaire, qui supprime entièrement le produit et ses données.
Utilisez l'URL suivante pour envoyer une requête au service de flux supplémentaire products.delete
, où productId
correspond à l'identifiant REST du produit, représenté par channel:contentLanguage:feedLabel:offerId
:
DELETE https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId?feedId=feedId
Aucun corps de requête n'est requis pour les appels de méthode products.delete
pour les flux supplémentaires.
products.custombatch
Les méthodes custombatch
vous permettent d'insérer (insert
) ou de supprimer (delete
) des données de flux supplémentaire pour plusieurs produits à la fois dans un seul appel d'API, et de réduire ainsi le nombre d'appels d'API effectués.
Utilisez l'URL de requête suivante pour effectuer un appel custombatch
:
https://shoppingcontent.googleapis.com/content/v2.1/products/batch
Pour tous les appels custombatch
de flux supplémentaires, vous devez inclure les paramètres batchId
, merchantID
, method
et feedId
dans le corps de la requête.
products.custombatch:insert
Lorsque vous effectuez des appels de flux supplémentaires via la méthode products.custombatch:insert
, vous devez inclure les éléments offerId
, feedLabel
, channel
et contentLanguage
dans le corps de la requête, en plus des paramètres batchId
, merchantID
et method
. Tous les champs de produit sont facultatifs.
Exemple
Pour mettre à jour la valeur price
pour deux produits existants, vous pouvez utiliser la requête suivante afin d'effectuer un appel de méthode products.custombatch:insert
:
{
"entries": [
{
"batchId": 1111,
"merchantId": 1234567,
"method": "insert",
"feedId": "7654321",
"product": {
"offerId": "1111111111",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online",
"price": {
"value": "30.99",
"currency": "USD"
}
}
},
{
"batchId": 1112,
"merchantId": 1234567,
"method": "insert",
"feedId": "7654321",
"product": {
"offerId": "2222222222",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online",
"price": {
"value": "33.99",
"currency": "USD"
},
},
}
}
products.custombatch:delete
Pour supprimer toutes les mises à jour apportées à deux produits via un flux supplémentaire spécifié, vous pouvez utiliser la requête suivante afin d'effectuer un appel de méthode products.custombatch:delete
:
{
"entries": [
{
"batchId": 1115,
"merchantId": 1234567,
"method": "delete",
"feedId": "7654321",
"productId": "online:en:US:1111111111"
},
{
"batchId": 1116,
"merchantId": 1234567,
"method": "delete",
"feedId": "7654321",
"productId": "online:en:US:2222222222"
}
]
}