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"
    }
  ]
}