更新產品定價和可用性
注意事項
清查 API 僅適用于已關閉的試驗參與者。 API 和檔可能會變更。
如果您只需要更新 Bing 商家中心 (BMC) 存放區中產品的定價和可用性,您應該使用 庫存 資源,而不是 產品 資源。 使用產品資源時,您必須提供產品的完整詳細資料,但清查資源可讓您只指定價格和可用性。
更新單一產品
若要更新單一產品,請在 HTTP POST 要求中使用 /bmc/{bmcMerchantId}/inventory/{storeCode}/products/{productUniqueId}
範本。 將 {bmcMerchantId} 設定為您的商店識別碼、將 {storeCode} 設為 線上,並將 {productUniqueId} 設定為產品的完整識別碼。
要求的本文是 Product 物件,其中只包含下欄欄位:
- 價格
- 可用 性
- salePrice
- salePriceEffectiveDate
和 price
availability
欄位是必要的;如果您未同時指定這兩個欄位,呼叫就會失敗。 和 salePrice
salePriceEffectiveDate
是選擇性的。 如果您未指定,則產品目前的銷售價格和有效日期值會從供應專案中移除。
下列範例顯示 POST 要求。
POST https://content.api.bingads.microsoft.com/shopping/v9.1/bmc/1234/inventory/online/products/online:en:US:5678 HTTP/1.1
AuthenticationToken: EwAAA3hl...
DeveloperToken: 0417...
Content-Type: application/json
Host: content.api.bingads.microsoft.com
Content-Length: 73
{
"availability":"out of stock",
"price":{
"currency":"USD",
"value":1234.0
}
}
如果要求成功,則會在 [位置] 標頭中傳回狀態碼 200 和已更新產品的 URI。
HTTP/1.1 200 OK
Content-Type: application/json
Location: https://content.api.bingads.microsoft.com/shopping.svc/v9.1/bmc/1234/products/online:en:US:5678
WebRequestActivityId: e2c53946-e18c-4302-a40a-6d174429574a
Date: Fri, 09 Nov 2018 20:34:35 GMT
Content-Length: 46
{
"kind": "content#inventorySetResponse"
}
如果回應失敗,要求會傳回狀態碼 400;本文包含可識別問題 的錯誤回應 物件。
HTTP/1.1 400 Bad Request
Content-Type: application/json
Location: https://content.api.bingads.microsoft.com/shopping.svc/v9.1/bmc/1234/products/online:en:US:5678
WebRequestActivityId: d3d31a3f-8993-428e-858c-730032e32a46
Date: Sat, 10 Nov 2018 14:35:14 GMT
Content-Length: 305
{
"error": {
"errors": [
{
"reason": "invalid",
"message": "Invalid value for: availability, stock is not a valid value",
"domain": "global"
}
],
"code": "400",
"message": "Invalid value for: availability, stock is not a valid value"
}
}
如需示範如何使用清查資源來更新單一產品的範例程式碼,請參閱 更新單一產品的定價和可用性。
更新多個產品
若要更新多個產品,請在 HTTP POST 要求中使用 /bmc/{bmcMerchantId}/inventory/batch
範本。 將 {bmcMerchantId} 設定為您的市集識別碼。
要求的本文是 Batch 物件,最多可包含 400 個要更新的產品。 批次中的每個專案都提供使用者定義的批次識別碼、設定為 線上的市集程式碼、產品的完整識別碼,以及要更新的產品定價和可用性欄位。 Product物件可能只包含下欄欄位:
- 價格
- 可用 性
- salePrice
- salePriceEffectiveDate
和 price
availability
欄位是必要的;如果您未同時指定這兩個欄位,呼叫就會失敗。 和 salePrice
salePriceEffectiveDate
是選擇性的。 如果您未指定,則產品目前的銷售價格和有效日期值會從供應專案中移除。
下列範例顯示 POST 要求。
POST https://content.api.bingads.microsoft.com/shopping/v9.1/bmc/1234/inventory/batch HTTP/1.1
AuthenticationToken: EwAAA3hl...
DeveloperToken: 0417...
Content-Type: application/json
Host: content.api.bingads.microsoft.com
Content-Length: 194
{
"entries":[
{
"batchId":1,
"storeCode":"online",
"productId":"online:en:US:5678",
"inventory":{
"availability":"in stock",
"price":{
"currency":"USD",
"value":4567.0
}
}
},
{
"batchId":2,
"storeCode":"online",
"productId":"online:en:US:9012",
"inventory":{
"availability":"bad in stock",
"price":{
"currency":"USD",
"value":678.0
}
}
}
]
}
因為要求會嘗試更新批次中的每個產品,所以會傳回狀態碼 200。 若要判斷更新是否失敗,您必須逐一查看批次中的所有專案。 如果專案包含 欄位, errors
則更新會失敗,否則會成功。
HTTP/1.1 200 OK
Content-Type: application/json
WebRequestActivityId: bf019ef5-fa76-4703-9132-7954b0323c81
Date: Fri, 09 Nov 2018 20:48:15 GMT
Content-Length: 172
{
"kind": "content#inventoryCustomBatchResponse",
"entries": [
{
"kind": "content#inventoryCustomBatchEntryResponse",
"batchId": "1"
},
{
"kind": "content#inventoryCustomBatchEntryResponse",
"batchId": "2",
"errors": {
"errors": [
{
"reason": "invalid",
"message": "Invalid value for: availability, bad in stock is not a valid value",
"domain": "global"
}
]
}
}
]
}
如需示範如何使用清查資源來更新產品批次的範例程式碼,請參閱 更新產品批次的定價和可用性。