製品の価格と可用性の更新
注:
Inventory API は、クローズド パイロット参加者のみが使用できます。 API とドキュメントは変更される可能性があります。
Bing Merchant Center (BMC) ストアの製品の価格と可用性を更新するだけで済む場合は、製品リソースの代わりにインベントリ リソースを使用する必要があります。 Product リソースでは、製品の完全な詳細を指定する必要がありますが、インベントリ リソースでは価格と可用性のみを指定できます。
1 つの製品の更新
1 つの製品を更新するには、HTTP POST 要求でテンプレートを使用 /bmc/{bmcMerchantId}/inventory/{storeCode}/products/{productUniqueId}
します。 {bmcMerchantId} をストア ID に、{storeCode} を オンラインに、{productUniqueId} を製品の完全修飾 ID に設定します。
要求の本文は、次のフィールドのみを含む Product オブジェクトです。
- 価格
- availability
- 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 が Location ヘッダーに返されます。
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"
}
}
インベントリ リソースを使用して 1 つの製品を更新する方法を示すコード例については、「1 つの製品 の価格と可用性の更新」を参照してください。
複数の製品の更新
複数の製品を更新するには、HTTP POST 要求でテンプレートを使用 /bmc/{bmcMerchantId}/inventory/batch
します。 {bmcMerchantId} をストア ID に設定します。
要求の本文は、更新する最大 400 個の製品を含む Batch オブジェクトです。 バッチ内の各エントリには、ユーザー定義のバッチ ID、 オンラインに設定されているストア コード、製品の完全修飾 ID、更新する製品の価格と可用性フィールドが用意されています。 Product オブジェクトには、次のフィールドのみを含めることができます。
- 価格
- availability
- 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"
}
]
}
}
]
}
インベントリ リソースを使用して製品のバッチを更新する方法を示すコード例については、「製品の バッチの価格と可用性の更新」を参照してください。