パートナー センター API を使用してカタログアイテムのインベントリを確認する
カタログ アイテムの特定のセットのインベントリを確認する方法。
前提条件
パートナー センターの認証に関するページで説明している資格情報。 このシナリオでは、スタンドアロン アプリとアプリ + ユーザーの両方の資格情報を使った認証がサポートされています。
1 つ以上の製品 ID。 必要に応じて、SKU ID を指定することもできます。
指定された製品/SKU ID によって参照される SKU のインベントリを検証するために必要な追加コンテキスト。 これらの要件は、製品/SKU の種類によって異なる場合があり、 SKU の InventoryVariables プロパティから決定できます。
C#
インベントリを確認するには、チェックする項目ごとに InventoryItem オブジェクトを使用して、InventoryCheckRequest オブジェクトをビルドします。 次に、IAggregatePartner.Extensions アクセサーを使用し、Product にスコープを設定しByCountry() メソッドを使用して国/地域を選択します。 最後に、InventoryCheckRequest オブジェクトを使用して、CheckInventory() メソッドを呼び出します。
IAggregatePartner partnerOperations;
string customerId;
string subscriptionId;
string countryCode;
string productId;
// Build the inventory check request details object.
var inventoryCheckRequest = new InventoryCheckRequest()
{
TargetItems = new InventoryItem[]{ new InventoryItem { ProductId = productId } },
InventoryContext = new Dictionary<string, string>()
{
{ "customerId", customerId },
{ "azureSubscriptionId", subscriptionId }
{ "armRegionName", armRegionName }
}
};
// Get the inventory results.
var inventoryResults = partnerOperations.Extensions.Product.ByCountry(countryCode).CheckInventory(inventoryCheckRequest);
REST 要求
要求の構文
認証方法 | 要求 URI |
---|---|
投稿 | {baseURL}/v1/extensions/product/checkInventory?country={country-code} HTTP/1.1 |
URI パラメーター
インベントリを確認するには、次のクエリ パラメーターを使用します。
名前 | タイプ | Required | 説明 |
---|---|---|---|
country-code | string | はい | 国/地域 ID。 |
要求ヘッダー
詳細については、「パートナー センター REST ヘッダー」を参照してください。
要求本文
1 つ以上の InventoryItem リソースを含む InventoryCheckRequest リソースで構成されるインベントリ要求の詳細。
要求本文で指定された Azure サブスクリプションが登録され、Azure RI の購入が有効になっていることを確認します。 登録プロセスの詳細については、「 サブスクリプションの登録 」を参照してください。
要求の例
POST https://api.partnercenter.microsoft.com/v1/extensions/product/checkinventory?country=US HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: d1b1981a-e088-4610-870a-eebec96d6bcd
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Client: Partner Center .NET SDK
Content-Type: application/json
{"TargetItems":[{"ProductId":"DZH318Z0BQ3P"}],"InventoryContext":{"customerId":"d6bf25b7-e0a8-4f2d-a31b-97b55cfc774d","azureSubscriptionId":"3A231FBE-37FE-4410-93FD-730D3D5D4C75","armRegionName":"Europe"}}
重要
2023 年 6 月の時点で、最新のパートナー センター .NET SDK リリース 3.4.0 がアーカイブされるようになりました。 SDK リリースは、有用な情報が記載された readme ファイルと一緒に GitHub からダウンロードできます。
パートナーの皆様には、パートナー センター REST API を引き続き使用することをお勧めします。
REST 応答
成功した場合、応答本文には、制限の詳細設定された InventoryItem オブジェクトのコレクションが含まれます (該当する場合)。
Note
入力 InventoryItem がカタログに見つからなかった項目を表す場合、その項目は出力コレクションに含まれません。
応答の成功とエラーのコード
各応答には、成功または失敗を示す HTTP ステータス コードと、追加のデバッグ情報が付属しています。 このコード、エラーの種類、追加のパラメーターを読み取るには、ネットワーク トレース ツールを使用します。 完全な一覧については、 Partner Center のエラー コードを参照してください。
応答の例
HTTP/1.1 200 OK
Content-Length: 1021
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: d1b1981a-e088-4610-870a-eebec96d6bcd
X-Locale: en-US
[
{
"productId": "DZH318Z0BQ3P",
"skuId": "0039",
"isRestricted": true,
"restrictions": [
{
"reasonCode": "NotAvailableForSubscription",
"description": "Restriction identified of type 'Location' with values 'japanwest'.",
"properties": {
"type": "Location",
"values": "japanwest"
}
}
]
},
{
"productId": "DZH318Z0BQ3P",
"skuId": "0038",
"isRestricted": true,
"restrictions": [
{
"reasonCode": "NotAvailableForSubscription",
"description": "Restriction identified of type 'Location' with values 'japanwest'.",
"properties": {
"type": "Location",
"values": "japanwest"
}
}
]
},
{
"productId": "DZH318Z0BQ3P",
"skuId": "000S",
"isRestricted": false,
"restrictions": []
},
{
"productId": "DZH318Z0BQ3P",
"skuId": "0011",
"isRestricted": false,
"restrictions": []
}
]