パートナーセンター Api を使用してカタログ項目のインベントリを確認するCheck the inventory of catalog items using Partner Center APIs

適用対象:Applies to:

  • パートナー センターPartner Center

特定のカタログアイテムのセットの在庫を確認する方法。How to check the inventory for a specific set of catalog items.

前提条件Prerequisites

  • パートナー センターの認証に関するページで説明している資格情報。Credentials as described in Partner Center authentication. このシナリオでは、スタンドアロンアプリとアプリ + ユーザー資格情報の両方を使用した認証がサポートされています。This scenario supports authentication with both standalone App and App+User credentials.

  • 1つまたは複数の製品 Id。One or more product IDs. 必要に応じて、SKU Id を指定することもできます。Optionally, SKU IDs can also be specified.

  • 指定された製品/SKU ID によって参照されている SKU のインベントリを確認するために必要な追加のコンテキスト。Any additional context needed for verifying the inventory of the SKU(s) referenced by the provided product/SKU ID(s). これらの要件は、製品/SKU の種類によって異なる場合があり、 sku の InventoryVariables プロパティから決定できます。These requirements may vary by type of product/SKU and can be determined from the SKU's InventoryVariables property.

C#C#

インベントリを確認するには、チェックする項目ごとにInventoryItemオブジェクトを使用してInventoryCheckRequestオブジェクトを作成します。To check the inventory, build an InventoryCheckRequest object using an InventoryItem object for each item to be checked. 次に、 iaggregatepartner.customers アクセサーを使用して、 製品 にスコープを適用し、 bycountry () メソッドを使用して国を選択します。Then, use an IAggregatePartner.Extensions accessor, scope it down to Product and then select the country using the ByCountry() method. 最後に、 InventoryCheckRequest オブジェクトを使用して checkinventory () メソッドを呼び出します。Finally, call the CheckInventory() method with your InventoryCheckRequest object.

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 要求REST request

要求の構文Request syntax

認証方法Method 要求 URIRequest URI
POSTPOST {baseURL}/v1/extensions/product/checkInventory? country = {country-CODE} HTTP/1.1{baseURL}/v1/extensions/product/checkInventory?country={country-code} HTTP/1.1

URI パラメーターURI parameter

次のクエリパラメーターを使用して、インベントリを確認します。Use the following query parameter to check the inventory.

名前Name TypeType 必須Required 説明Description
国-コードcountry-code stringstring はいYes 国/地域 ID。A country/region ID.

要求ヘッダーRequest headers

詳細については、「パートナー センター REST ヘッダー」を参照してください。For more information, see Partner Center REST headers.

[要求本文]Request body

1つ以上のInventoryItemリソースを含むInventoryCheckRequestリソースで構成される在庫要求の詳細。The inventory request details, consisting of an InventoryCheckRequest resource containing one or more InventoryItem resources.

要求の例Request example

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"}}

REST 応答REST response

成功した場合、応答本文には、制限の詳細が設定されている InventoryItem オブジェクトのコレクションが含まれます (該当する場合)。If successful, the response body contains a collection of InventoryItem objects populated with the restriction details, if any apply.

注意

入力 InventoryItem がカタログに見つからなかった項目を表している場合、その項目は出力コレクションに含まれません。If an input InventoryItem represents an item that could not be found in the catalog, it will not be included in the output collection.

応答の成功とエラーのコードResponse success and error codes

各応答には、成功または失敗を示す HTTP ステータス コードと、追加のデバッグ情報が付属しています。Each response comes with an HTTP status code that indicates success or failure and additional debugging information. このコード、エラーの種類、追加のパラメーターを読み取るには、ネットワーク トレース ツールを使用します。Use a network trace tool to read this code, error type, and additional parameters. 完全な一覧については、「 パートナーセンターのエラーコード」を参照してください。For the full list, see Partner Center error codes.

応答の例Response example

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": []
    }
]