Content API で補助フィードを使用する

補助フィードを使用すると、products.insertproducts.deleteproducts.custombatch.insertproducts.custombatch.delete の各メソッドを呼び出すときに feedId をクエリ パラメータとして追加することで、商品データの一部を更新できます。

たとえば、次の URL に対して products.insert 補足フィード メソッド呼び出しを行うことができます。

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

products.insert

補助フィードの products.insert メソッドは、リクエスト本文で送信する商品フィールドを追加します。これらのフィールドが存在する場合は、上書きされます。補助フィードを使用する場合、このメソッドでは、同じフィードの以前のリクエストにフィールドが含まれていない限り、他のすべての商品フィールドは変更されません。他のフィードで追加されたデータは影響を受けませんが、リクエストごとに同じフィードの以前のリクエストが上書きされます。つまり、補助フィード リクエストでフィールドを追加または更新した後、後続のリクエストにそのフィールドを含めないと、省略されたフィールドのデータがフィードから削除されます。この動作は、補助フィードなしで products.insert を呼び出す場合とは異なります。補助フィードなしで products.insert を呼び出すと、既存の商品データがすべて削除され、リクエスト本文で送信したフィールドに置き換えられます。

次の URL を使用して、補助フィード Product.insert サービスにリクエストを送信します。

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

リクエスト本文には offerIdfeedLabelchannelcontentLanguage の各フィールドを含める必要があります。それ以外のフィールドはすべて省略可能です。

商品の在庫状況を「在庫あり」から「在庫なし」に変更するには、次のリクエスト本文を使用して補助フィードの Product.insert メソッド呼び出しを行います。

{
 "offerId": "1111111111",
 "contentLanguage": "en",
 "feedLabel": "US",
 "channel": "online",
 "availability": "out of stock",
}

products.delete

products.delete メソッドは、指定された補足フィードを使用して products.insert 呼び出しによって以前に追加されたすべての補足データを削除します。補助フィードに対してこのメソッドを呼び出しても、補助フィードの Product.insert 呼び出しが行われる前に追加された元の商品のデータには影響しません。これは、特定のフィードのデータレイヤを削除するようなものです。他のフィードで追加されたデータは影響を受けず、商品は補足フィード レイヤが追加される前の状態に戻ります。これは、補助フィードなしで products.delete を呼び出す場合とは異なります。補助フィードなしで products.delete を呼び出すと、商品全体とそのデータがすべて削除されます。

次の URL を使用して、補足フィード products.delete サービスにリクエストを行います。ここで、productId は商品の REST ID で、channel:contentLanguage:feedLabel:offerId として表されます。

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

補助フィードの products.delete メソッド呼び出しにはリクエスト本文は必要ありません。

products.custombatch

custombatch メソッドを使用すると、1 回の API 呼び出しで複数の商品の補足フィードデータを insert または delete できます。これにより、API 呼び出しの回数を最小限に抑えることができます。

次のリクエスト URL を使用して custombatch 呼び出しを行います。

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

すべての補足フィード custombatch 呼び出しでは、リクエスト本文に batchIdmerchantIDmethodfeedId の各パラメータを含める必要があります。

products.custombatch:insert

products.custombatch:insert メソッドに補足フィード呼び出しを行う場合は、必須の batchIdmerchantIDmethod パラメータに加えて、offerIdfeedLabelchannelcontentLanguage をリクエスト本文に含める必要があります。他の商品フィールドはすべて省略可能です。

既存の 2 つの商品について price の値を更新するには、次のリクエストを使用して products.custombatch:insert メソッド呼び出しを行います。

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

指定した補助フィードを介して 2 つの商品に加えられたすべての更新を削除するには、次のリクエストを使用して products.custombatch:delete メソッド呼び出しを行います。

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