Subfeeds mit der Content API verwenden

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