Mit Subfeeds können Sie Produktdaten teilweise aktualisieren. Fügen Sie dazu den Parameter 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 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 Methode products.insert
für Subfeeds werden die Produktfelder hinzugefügt, die Sie im Anfragetext senden. Vorhandene Felder werden dabei überschrieben. Bei Verwendung eines Zusatzfeeds bleiben alle anderen Produktfelder unverändert, sofern die Felder nicht in einer vorherigen Anfrage für denselben Feed enthalten waren. Daten, die über andere Feeds hinzugefügt werden, sind davon nicht betroffen. Allerdings werden die vorherigen Anfragen für denselben Feed durch jede Anfrage überschrieben. Wenn Sie also ein Feld über eine Anfrage für einen Zusatzfeed hinzufügen oder aktualisieren und es dann nicht in eine nachfolgende Anfrage aufnehmen, 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 Anfragebody senden.
Verwenden Sie die folgende URL, um eine Anfrage an den Dienst für zusätzliche Feeds 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 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 zusätzlichen Feed-Methodenaufruf Product.insert
zu starten:
{
"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 durch products.insert
-Aufrufe mit dem angegebenen zusätzlichen Feed hinzugefügt wurden. Wenn Sie diese Methode für einen Subfeed aufrufen, hat das keine Auswirkungen auf die ursprünglichen Produktdaten, die vor den Product.insert
-Aufrufen des Subfeeds hinzugefügt wurden. Das ist so, 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 effektiv in den vorherigen Zustand zurückgesetzt, bevor die Subfeed-Ebene hinzugefügt wurde. Das unterscheidet sich vom Aufrufen von products.delete
ohne Subfeed, wodurch das gesamte Produkt und alle zugehörigen Daten gelöscht werden.
Verwenden Sie die folgende URL, um eine Anfrage an den Subfeed-Dienst products.delete
zu senden. Dabei ist productId
die REST-ID des Produkts, dargestellt als channel:contentLanguage:feedLabel:offerId
:
DELETE https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId?feedId=feedId
Für Methodenaufrufe für Subfeeds products.delete
ist kein Anfragetext erforderlich.
products.custombatch
Mit den custombatch
-Methoden können Sie Subfeeddaten für mehrere Produkte insert
oder delete
. So lässt sich die Anzahl der API-Aufrufe minimieren.
Verwenden Sie die folgende Anfrage-URL, um einen custombatch
-Aufruf auszuführen:
https://shoppingcontent.googleapis.com/content/v2.1/products/batch
Bei allen custombatch
-Aufrufen für Zusatzfeeds müssen Sie die Parameter batchId
, merchantID
, method
und feedId
in den Anfragetext aufnehmen.
products.custombatch:insert
Wenn Sie zusätzliche Feedaufrufe für die Methode products.custombatch:insert
ausführen, müssen Sie zusätzlich zu den erforderlichen Parametern batchId
, merchantID
und method
auch die Parameter offerId
, feedLabel
, channel
und contentLanguage
in den Anfragetext aufnehmen. Alle anderen Produktfelder sind optional.
Beispiel
Wenn Sie den price
-Wert für zwei vorhandene Produkte aktualisieren möchten, können Sie mit der folgenden Anfrage einen products.custombatch:insert
-Methodenaufruf ausführen:
{
"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 an zwei Produkten über einen bestimmten Zusatzfeed vorgenommen wurden, können Sie den folgenden Aufruf der Methode products.custombatch:delete
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"
}
]
}