Subfeeds mit der Content API verwenden

Mit Subfeeds können Sie Produktdaten teilweise aktualisieren, indem Sie feedId als Abfrageparameter für Aufrufe an die products.insert, products.delete, products.custombatch.insert und products.custombatch.delete. .

Sie können beispielsweise einen products.insert-Subfeed-Methodenaufruf an die folgende URL:

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 hinzugefügt. im Anfragetext, wodurch diese Felder überschrieben werden, sofern sie vorhanden sind. Bei Verwendung eines Subfeed verwenden, lassen alle anderen Produktfelder unverändert, es sei denn, Die Felder wurden bereits in einer früheren Anfrage für denselben Feed angefordert. Während Daten die über andere Feeds hinzugefügt wurden, sind davon nicht betroffen. für denselben Feed. Wenn Sie also ein Feld über eine und fügen Sie das Feld dann nicht in eine werden die Daten für das weggelassene Feld aus dem Feed entfernt. Dieses Verhalten unterscheidet sich vom Aufruf von products.insert ohne Subfeed, bei dem löscht alle vorhandenen Produktdaten und ersetzt sie durch die Felder, die Sie senden den Anfragetext.

Verwenden Sie die folgende URL, um eine Anfrage für den Subfeed zu stellen Dienst Product.insert:

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

Sie müssen offerId, feedLabel, channel und contentLanguage-Felder im Anfragetext. Alle anderen sind optional.

Beispiel

Um die Verfügbarkeit eines Produkts von „auf Lager“ in „nicht auf Lager“ zu ändern, den folgenden Anfragetext verwenden, um Subfeeds zu erstellen Product.insert-Methodenaufruf:

{
 "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 unter Verwendung der angegebenen Ergänzung hinzugefügt Feed. Der Aufruf dieser Methode für einen Subfeed wirkt sich nicht auf den ursprünglichen Produktdaten, die hinzugefügt wurden, bevor die Aufrufe des Subfeeds Product.insert gemacht. 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. wird auf den vorherigen Zustand vor dem Hinzufügen der Ebene des Subfeeds zurückgesetzt. Dieses unterscheidet sich vom Aufruf von products.delete ohne Subfeed, bei dem werden das gesamte Produkt und alle zugehörigen Daten gelöscht.

Verwenden Sie die folgende URL, um den Subfeed „products.delete“ anzufordern Dienst, wobei productId der Wert 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 products.delete-Methodenaufrufe für Subfeeds ist kein Anfragetext erforderlich.

products.custombatch

Mit den custombatch-Methoden können Sie Subfeeds insert oder delete für mehrere Produkte mit einem einzigen API-Aufruf, um die Anzahl der Anrufen.

Verwende die folgende Anfrage-URL für einen custombatch-Aufruf:

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

Für alle custombatch-Aufrufe über Subfeeds müssen Sie batchId, Parameter merchantID, method und feedId in der Anfrage Textkörper.

products.custombatch:insert

Wenn Sie Subfeedaufrufe an die Methode products.custombatch:insert senden, müssen Sie offerId, feedLabel, channel und contentLanguage im Anfragetext enthalten, geben Sie zusätzlich zum erforderlichen batchId merchantID- und method-Parameter. Alle anderen Produktfelder sind optional.

Beispiel

Um den price-Wert für zwei vorhandene Produkte zu aktualisieren, können Sie die Methode folgende Anfrage zum Ausführen eines products.custombatch:insert-Methodenaufrufs:

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

So entfernen Sie alle Aktualisierungen, die über einen Subfeed an zwei Produkten vorgenommen wurden: könnten Sie mit der folgenden Anfrage ein products.custombatch:delete Methodenaufruf:

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