Subfeeds mit der Content API verwenden

Sie können Subfeeds verwenden, um teilweise Änderungen an Produktdaten vorzunehmen. Fügen Sie dazu 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 Aufruf der Subfeed-Methode products.insert 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 von Ihnen gesendeten Produktfelder im Anfragetext hinzugefügt. Falls vorhanden, werden diese 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 enthalten. Daten, die über andere Feeds hinzugefügt werden, sind zwar nicht betroffen, aber jede Anfrage überschreibt die vorherigen Anfragen für denselben Feed. Wenn Sie also über eine Subfeedanfrage ein Feld 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 Aufruf von products.insert ohne Subfeed. Dabei 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

Die Felder offerId, feedLabel, channel und contentLanguage müssen in den Anfragetext aufgenommen werden. 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 wirkt sich nicht auf die ursprünglichen Produktdaten aus, die vor dem bzw. den Product.insert-Aufrufen des Subfeeds hinzugefügt wurden. Sie können sich das so vorstellen, 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 praktisch in seinen vorherigen Zustand zurückgesetzt, bevor die Subfeedebene hinzugefügt wurde. Dies unterscheidet sich vom Aufruf von products.delete ohne Subfeed, wodurch das gesamte Produkt und alle zugehörigen Daten gelöscht werden.

Verwenden Sie die folgende URL, um den Subfeed-Dienst products.delete anzufordern. Dabei ist productId 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 Aufrufe der Methode products.delete von Subfeeds ist kein Anfragetext erforderlich.

products.custombatch

Mit den Methoden custombatch können Sie Subfeeddaten für mehrere Produkte über einen einzigen API-Aufruf insert oder delete abrufen, um die Anzahl der durchgeführten API-Aufrufe zu minimieren.

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

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

Bei allen custombatch-Aufrufen von Subfeeds müssen die Parameter batchId, merchantID, method und feedId im Anfragetext angegeben werden.

products.custombatch:insert

Wenn Sie einen Subfeed mit der Methode products.custombatch:insert aufrufen, müssen Sie zusätzlich zu den erforderlichen Parametern batchId, merchantID und method die offerId, feedLabel, channel und contentLanguage im Anfragetext angeben. Alle anderen Produktfelder sind optional.

Beispiel

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

{
  "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 für einen products.custombatch:delete-Methodenaufruf 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"
    }
  ]
}