Sie können Subfeeds verwenden, um teilweise Aktualisierungen von Produktdaten vorzunehmen. Dazu fügen Sie feedId
als Abfrageparameter hinzu, wenn Sie die Methoden products.insert
, products.delete
, products.custombatch.insert
und products.custombatch.delete
aufrufen.
So können Sie beispielsweise einen products.insert
-Subfeedmethodenaufruf 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 Produktfelder, die Sie im Anfragetext senden, hinzugefügt und gegebenenfalls vorhandene 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 angegeben. Daten, die über andere Feeds hinzugefügt werden, sind zwar nicht betroffen, aber die vorherigen Anfragen für denselben Feed werden mit jeder Anfrage überschrieben. Wenn Sie also ein Feld über eine Subfeedanfrage hinzufügen oder aktualisieren und das Feld dann nicht in einer nachfolgenden Anfrage angeben, werden die Daten für das weggelassene Feld aus dem Feed entfernt. Dieses Verhalten unterscheidet sich vom Aufrufen von products.insert
ohne Subfeed, bei dem alle vorhandenen Produktdaten gelöscht und durch die Felder ersetzt werden, die Sie im Anfragetext senden.
Verwenden Sie die folgende URL, um eine Anfrage an den Subfeed-Dienst Product.insert
zu stellen:
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 einfügen. 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 hat keine Auswirkungen auf die ursprünglichen Produktdaten, die vor den Product.insert
-Aufrufen des Subfeeds hinzugefügt wurden. Sie können sich dies wie das Entfernen einer Ebene von Daten für einen bestimmten Feed vorstellen. Die über andere Feeds hinzugefügten Daten sind davon nicht betroffen und das Produkt kehrt praktisch in den vorherigen Zustand zurück, bevor die Ebene des Subfeeds hinzugefügt wurde. Dies unterscheidet sich vom Aufrufen von products.delete
ohne Subfeed, bei dem das gesamte Produkt und alle zugehörigen Daten gelöscht werden.
Verwenden Sie die folgende URL, um eine Anfrage für den Subfeed-Dienst products.delete
zu stellen. productId
ist dabei 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 products.delete
-Methodenaufrufe für Subfeeds ist kein Anfragetext erforderlich.
products.custombatch
Mit den Methoden custombatch
können Sie insert
- oder delete
-Subfeeddaten für mehrere Produkte mit einem einzigen API-Aufruf erstellen, um die Anzahl der API-Aufrufe zu minimieren.
Verwende die folgende Anfrage-URL für einen custombatch
-Aufruf:
https://shoppingcontent.googleapis.com/content/v2.1/products/batch
Bei allen custombatch
-Aufrufen eines Subfeeds müssen Sie die Parameter batchId
, merchantID
, method
und feedId
in den Anfragetext aufnehmen.
products.custombatch:insert
Wenn Sie Subfeedaufrufe an die Methode products.custombatch:insert
senden, müssen Sie zusätzlich zu den erforderlichen Parametern batchId
, merchantID
und method
im Anfragetext offerId
, feedLabel
, channel
und contentLanguage
angeben. Alle anderen Produktfelder sind optional.
Beispiel
Sie können mit der folgenden Anfrage einen products.custombatch:insert
-Methodenaufruf ausführen, um den Wert price
für zwei vorhandene Produkte zu aktualisieren:
{
"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
Um alle Aktualisierungen zu entfernen, die über einen Subfeed an zwei Produkten vorgenommen wurden, können Sie mit der folgenden Anfrage einen products.custombatch:delete
-Methodenaufruf ausführen:
{
"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"
}
]
}