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