Sie können Subfeeds verwenden, um Produktdaten teilweise zu aktualisieren. Fügen Sie dazu beim Aufrufen der
products.insert,
products.delete,
products.custombatch.insert,
und
products.custombatch.delete
Methoden die feedId als Abfrageparameter hinzu.
Sie können beispielsweise einen products.insert-Subfeed-Methodenaufruf an die folgende URL senden:
POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products?feedId=feedId
products.insert
Mit der Subfeed-Methode products.insert werden die Produktfelder hinzugefügt, die Sie im Anfragetext senden. Vorhandene Felder werden dabei überschrieben. Wenn Sie einen Subfeed verwenden, bleiben alle anderen Produktfelder mit dieser Methode unverändert, es sei denn, die Felder wurden in einer vorherigen Anfrage für denselben Feed angegeben. Daten, die über andere Feeds hinzugefügt wurden, sind davon nicht betroffen. Bei jeder Anfrage werden jedoch die vorherigen Anfragen für denselben Feed überschrieben. Wenn Sie also ein Feld über eine Subfeed-Anfrage hinzufügen oder aktualisieren und das Feld dann in einer nachfolgenden Anfrage nicht angeben, werden die Daten für das ausgelassene Feld aus dem Feed entfernt. Dieses Verhalten unterscheidet sich vom Aufrufen von products.insert ohne Subfeed. In diesem Fall werden alle vorhandenen Produktdaten gelöscht und durch die Felder ersetzt, die Sie im Anfragetext senden.
Verwenden Sie die folgende URL, um eine Anfrage an den Subfeed-Dienst Product.insert zu senden:
POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products?feedId=feedId
Sie müssen die Felder offerId, feedLabel, channel und contentLanguage in den Anfragetext aufnehmen. Alle anderen Felder sind optional.
Beispiel
Wenn Sie die Verfügbarkeit eines Produkts von „auf Lager“ in „nicht auf Lager“ ändern möchten, können Sie den folgenden Anfragetext verwenden, um einen Product.insert-Subfeed-Methodenaufruf zu senden:
{
"offerId": "1111111111",
"contentLanguage": "en",
"feedLabel": "US",
"channel": "online",
"availability": "out of stock",
}
products.delete
Mit der Methode products.delete werden alle zusätzlichen Daten entfernt, die zuvor mit products.insert-Aufrufen über den angegebenen Subfeed hinzugefügt wurden. Wenn Sie diese Methode für einen Subfeed aufrufen, hat dies keine Auswirkungen auf die ursprünglichen Produktdaten, die vor den Product.insert-Aufrufen des Subfeeds hinzugefügt wurden. Sie können sich das so vorstellen, dass eine Datenebene für einen bestimmten Feed entfernt wird. Die Daten, die über andere Feeds hinzugefügt wurden, sind davon nicht betroffen und das Produkt wird effektiv in den vorherigen Zustand zurückversetzt, bevor die Subfeed-Ebene hinzugefügt wurde. Das unterscheidet sich vom Aufrufen von products.delete ohne Subfeed. In diesem Fall wird das gesamte Produkt mit allen zugehörigen Daten gelöscht.
feedId
Verwenden Sie die folgende URL, um eine Anfrage an den Subfeed products.delete
Dienst zu senden. Dabei ist die
REST-ID
des Produkts, dargestellt als: channel:contentLanguage:feedLabel:offerId:productId
DELETE https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId?feedId=feedId
Für products.delete-Methodenaufrufe von Subfeeds ist kein Anfragetext erforderlich.
products.custombatch
Mit den custombatch-Methoden können Sie Subfeed-Daten für mehrere Produkte mit einem einzigen API-Aufruf insert oder delete. So lässt sich die Anzahl der API-Aufrufe minimieren.
Verwenden Sie die folgende Anfrage-URL, um einen custombatch-Aufruf zu senden:
https://shoppingcontent.googleapis.com/content/v2.1/products/batch
Für alle custombatch-Aufrufe von Subfeeds müssen Sie die Parameter batchId, merchantID, method und feedId in den Anfragetext aufnehmen.
products.custombatch:insert
Wenn Sie Subfeed-Aufrufe an die Methode products.custombatch:insert senden, müssen Sie zusätzlich zu den erforderlichen Parametern batchId, merchantID und method auch offerId, feedLabel, channel und contentLanguage in den Anfragetext aufnehmen. Alle anderen Produktfelder sind optional.
Beispiel
Wenn Sie den Wert von price für zwei vorhandene Produkte aktualisieren möchten, können Sie die folgende Anfrage verwenden, um einen products.custombatch:insert-Methodenaufruf zu senden:
{
"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
Wenn Sie alle Aktualisierungen entfernen möchten, die über einen bestimmten Subfeed an zwei Produkten vorgenommen wurden, können Sie die folgende Anfrage verwenden, um einen products.custombatch:delete-Methodenaufruf zu senden:
{
"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"
}
]
}