搭配 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"
    }
  ]
}