Subfeeds mit der Content API verwenden

Sie können Subfeeds verwenden, um Produktdaten teilweise zu aktualisieren. Fügen Sie dazu beim Aufrufen der products.insert, products.delete, products.custombatch.insert, und products.custombatch.delete Methoden die feedId als Abfrageparameter hinzu.

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 Subfeed-Methode products.insert werden die Produktfelder hinzugefügt, die Sie im Anfragetext senden. Vorhandene Felder werden dabei überschrieben. Wenn Sie einen Subfeed verwenden, bleiben alle anderen Produktfelder mit dieser Methode unverändert, es sei denn, die Felder wurden in einer vorherigen Anfrage für denselben Feed angegeben. Daten, die über andere Feeds hinzugefügt wurden, sind davon nicht betroffen. Bei jeder Anfrage werden jedoch die vorherigen Anfragen für denselben Feed überschrieben. Wenn Sie also ein Feld über eine Subfeed-Anfrage hinzufügen oder aktualisieren und das Feld dann in einer nachfolgenden Anfrage nicht angeben, 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 Anfragetext senden.

Verwenden Sie die folgende URL, um eine Anfrage an den Subfeed-Dienst 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 Felder 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 Product.insert-Subfeed-Methodenaufruf zu senden:

{
 "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 mit products.insert-Aufrufen über den angegebenen Subfeed hinzugefügt wurden. Wenn Sie diese Methode für einen Subfeed aufrufen, hat dies keine Auswirkungen auf die ursprünglichen Produktdaten, die vor den Product.insert-Aufrufen des Subfeeds hinzugefügt wurden. Sie können sich das so vorstellen, dass eine Datenebene für einen bestimmten Feed entfernt wird. Die Daten, die über andere Feeds hinzugefügt wurden, sind davon nicht betroffen und das Produkt wird effektiv in den vorherigen Zustand zurückversetzt, bevor die Subfeed-Ebene hinzugefügt wurde. Das unterscheidet sich vom Aufrufen von products.delete ohne Subfeed. In diesem Fall wird das gesamte Produkt mit allen zugehörigen Daten gelöscht.

feedId

Verwenden Sie die folgende URL, um eine Anfrage an den Subfeed products.delete Dienst zu senden. Dabei ist die REST-ID des Produkts, dargestellt als: channel:contentLanguage:feedLabel:offerId:productId

DELETE https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId?feedId=feedId

Für products.delete-Methodenaufrufe von Subfeeds ist kein Anfragetext erforderlich.

products.custombatch

Mit den custombatch-Methoden können Sie Subfeed-Daten für mehrere Produkte mit einem einzigen API-Aufruf insert oder delete. So lässt sich die Anzahl der API-Aufrufe minimieren.

Verwenden Sie die folgende Anfrage-URL, um einen custombatch-Aufruf zu senden:

https://shoppingcontent.googleapis.com/content/v2.1/products/batch

Für alle custombatch-Aufrufe von Subfeeds müssen Sie die Parameter batchId, merchantID, method und feedId in den Anfragetext aufnehmen.

products.custombatch:insert

Wenn Sie Subfeed-Aufrufe an die Methode products.custombatch:insert senden, müssen Sie zusätzlich zu den erforderlichen Parametern batchId, merchantID und method auch offerId, feedLabel, channel und contentLanguage in den Anfragetext aufnehmen. Alle anderen Produktfelder sind optional.

Beispiel

Wenn Sie den Wert von price für zwei vorhandene Produkte aktualisieren möchten, können Sie die folgende Anfrage verwenden, um einen products.custombatch:insert-Methodenaufruf zu senden:

{
  "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 über einen bestimmten Subfeed an zwei Produkten vorgenommen wurden, können Sie die folgende Anfrage verwenden, um einen products.custombatch:delete-Methodenaufruf zu senden:

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