Sie können Subfeeds verwenden, um teilweise Änderungen an Produktdaten vorzunehmen. Fügen Sie dazu feedId
als Abfrageparameter hinzu, wenn Sie die Methoden products.insert
, products.delete
, products.custombatch.insert
und products.custombatch.delete
aufrufen.
Sie können beispielsweise einen Aufruf der Subfeed-Methode products.insert
an die folgende URL senden:
POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products?feedId=feedId
products.insert
Mit der Methode products.insert
des Subfeeds werden die von Ihnen gesendeten Produktfelder im Anfragetext hinzugefügt. Falls vorhanden, werden diese Felder überschrieben. Wenn Sie einen Subfeed verwenden, bleiben alle anderen Produktfelder unverändert, es sei denn, die Felder wurden in einer vorherigen Anfrage für denselben Feed enthalten. Daten, die über andere Feeds hinzugefügt werden, sind zwar nicht betroffen, aber jede Anfrage überschreibt die vorherigen Anfragen für denselben Feed. Wenn Sie also über eine Subfeedanfrage ein Feld 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 Aufruf von products.insert
ohne Subfeed. Dabei 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
Die Felder offerId
, feedLabel
, channel
und contentLanguage
müssen in den Anfragetext aufgenommen werden. Alle anderen sind optional.
Beispiel
Wenn Sie die Verfügbarkeit eines Produkts von „auf Lager“ in „nicht auf Lager“ ändern möchten, können Sie mit dem folgenden Anfragetext einen Product.insert
-Methodenaufruf für Subfeeds ausführen:
{
"offerId": "1111111111",
"contentLanguage": "en",
"feedLabel": "US",
"channel": "online",
"availability": "out of stock",
}
products.delete
Mit der Methode products.delete
werden alle ergänzenden Daten entfernt, die zuvor durch products.insert
-Aufrufe mit dem angegebenen Subfeed hinzugefügt wurden. Der Aufruf dieser Methode für einen Subfeed wirkt sich nicht auf die ursprünglichen Produktdaten aus, die vor dem bzw. den Product.insert
-Aufrufen des Subfeeds hinzugefügt wurden. Sie können sich das so vorstellen, als würden Sie eine Datenebene für einen bestimmten Feed entfernen. Die über andere Feeds hinzugefügten Daten sind davon nicht betroffen und das Produkt wird praktisch in seinen vorherigen Zustand zurückgesetzt, bevor die Subfeedebene hinzugefügt wurde. Dies unterscheidet sich vom Aufruf von products.delete
ohne Subfeed, wodurch das gesamte Produkt und alle zugehörigen Daten gelöscht werden.
Verwenden Sie die folgende URL, um den Subfeed-Dienst products.delete
anzufordern. Dabei ist productId
die REST-ID des Produkts, die so dargestellt wird: channel:contentLanguage:feedLabel:offerId
:
DELETE https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId?feedId=feedId
Für Aufrufe der Methode products.delete
von Subfeeds ist kein Anfragetext erforderlich.
products.custombatch
Mit den Methoden custombatch
können Sie Subfeeddaten für mehrere Produkte über einen einzigen API-Aufruf insert
oder delete
abrufen, um die Anzahl der durchgeführten API-Aufrufe zu minimieren.
Verwenden Sie die folgende Anfrage-URL, um einen custombatch
-Aufruf zu starten:
https://shoppingcontent.googleapis.com/content/v2.1/products/batch
Bei allen custombatch
-Aufrufen von Subfeeds müssen die Parameter batchId
, merchantID
, method
und feedId
im Anfragetext angegeben werden.
products.custombatch:insert
Wenn Sie einen Subfeed mit der Methode products.custombatch:insert
aufrufen, müssen Sie zusätzlich zu den erforderlichen Parametern batchId
, merchantID
und method
die offerId
, feedLabel
, channel
und contentLanguage
im Anfragetext angeben. Alle anderen Produktfelder sind optional.
Beispiel
Wenn Sie den price
-Wert für zwei vorhandene Produkte aktualisieren möchten, können Sie die folgende Anfrage für einen products.custombatch:insert
-Methodenaufruf verwenden:
{
"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 für einen products.custombatch:delete
-Methodenaufruf verwenden:
{
"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"
}
]
}