Subfeeds mit der Content API verwenden

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