搭配 Content API 使用補充動態饋給

呼叫 products.insertproducts.deleteproducts.custombatch.insertproducts.custombatch.delete 方法時,您可以新增 feedId 做為查詢參數,使用補充動態饋給部分更新產品資料。

舉例來說,您可以對下列網址發出 products.insert 補充動態饋給方法呼叫:

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

products.insert

補充動態饋給 products.insert 方法會新增你在要求主體中傳送的產品欄位,並覆寫現有欄位。使用補充動態饋給時,這個方法會保留所有其他產品欄位,除非這些欄位已包含在先前對相同動態饋給提出的要求中。透過其他動態饋給新增的資料不會受到影響,但每個要求都會覆寫先前對相同動態饋給提出的要求。也就是說,如果透過補充動態饋給要求新增或更新欄位,但後續要求未包含該欄位,系統就會從動態饋給中移除省略欄位的資料。如果呼叫 products.insert 時沒有補充動態饋給,系統會刪除所有現有產品資料,並以您在要求主體中傳送的欄位取代。這與上述行為不同。

請使用下列網址向補充動態饋給 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 服務要求,其中 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 方法可讓您使用單一 API 呼叫,insertdelete多項產品的補充動態饋給資料,盡量減少 API 呼叫次數。

請使用下列要求網址發出 custombatch 呼叫:

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

對於所有補充動態饋給 custombatch 呼叫,您必須在要求主體中加入 batchIdmerchantIDmethodfeedId 參數。

products.custombatch:insert

products.custombatch:insert 方法發出補充動態饋給呼叫時,除了必要的 batchIdmerchantIDmethod 參數外,要求主體中也必須包含 offerIdfeedLabelchannelcontentLanguage。其他產品欄位均為選填。

範例

如要更新兩項現有產品的 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

如要移除透過指定補充動態饋給對兩項產品所做的所有更新,可以使用下列要求呼叫 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"
    }
  ]
}