更新产品定价和可用性

注意

清单 API 仅适用于已关闭的试点参与者。 API 和文档可能会更改。

如果只需在必应商家中心 (BMC) 商店更新产品的定价和可用性,则应使用 库存 资源而不是 产品 资源。 使用“产品”资源时,必须提供产品的完整详细信息,但“库存”资源允许你仅指定价格和可用性。

更新单个产品

若要更新单个产品,请在 HTTP POST 请求中使用 /bmc/{bmcMerchantId}/inventory/{storeCode}/products/{productUniqueId} 模板。 将 {bmcMerchantId} 设置为你的商店 ID,将 {storeCode} 设置为 online,将 {productUniqueId} 设置为产品的完全限定 ID。

请求正文是仅包含以下字段的 Product 对象:

  • 价格
  • availability
  • salePrice
  • salePriceEffectiveDate

priceavailability 字段是必需的;如果未同时指定这两个字段,调用将失败。 salePricesalePriceEffectiveDate 是可选的。 如果未指定它们,产品当前销售价格和生效日期值将从产品/服务中删除。

下面显示了一个示例 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
    }
}

如果请求成功,它将在 Location 标头中返回状态代码 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} 设置为你的商店 ID。

请求正文是 一个 Batch 对象,最多可以包含 400 个要更新的产品。 批处理中的每个条目都提供用户定义的批 ID、设置为 联机的存储代码、产品的完全限定 ID 以及要更新的产品定价和可用性字段。 Product 对象只能包含以下字段:

  • 价格
  • availability
  • salePrice
  • salePriceEffectiveDate

priceavailability 字段是必需的;如果未同时指定这两个字段,调用将失败。 salePricesalePriceEffectiveDate 是可选的。 如果未指定它们,产品当前销售价格和生效日期值将从产品/服务中删除。

下面显示了一个示例 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"
          }
        ]
      }
    }
  ]
}

有关演示如何使用库存资源更新一批产品的示例代码,请参阅 更新一批产品的定价和可用性

另请参阅

管理产品/服务