パートナー センター API を使用してカタログアイテムのインベントリを確認する

特定のカタログ アイテムのセットのインベントリをチェックする方法。

前提条件

  • パートナー センターの認証に関するページで説明している資格情報。 このシナリオでは、スタンドアロンの App と App+User の両方の資格情報を使用した認証がサポートされています。

  • 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/チェックInventory?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: 4acb26a1-3536-4081-bc7d-092869a4961a
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 ステータス コードと、追加のデバッグ情報が付属しています。 このコード、エラーの種類、追加のパラメーターを読み取るには、ネットワーク トレース ツールを使用します。 完全な一覧については、パートナー センターのエラー コードを参照してください

応答の例

HTTP/1.1 200 OK
Content-Length: 1021
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 4acb26a1-3536-4081-bc7d-092869a4961a
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": []
    }
]