다음을 통해 공유


파트너 센터 API를 사용하여 카탈로그 항목의 인벤토리 확인

카탈로그 항목의 특정 집합에 대한 인벤토리를 확인하는 방법입니다.

필수 조건

  • 자격 증명(파트너 센터 인증에서 설명). 이 시나리오는 독립 실행형 앱과 App+사용자 자격 증명을 모두 사용하여 인증을 지원합니다.

  • 하나 이상의 제품 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
POST {baseURL}/v1/extensions/product/checkInventory?country={country-code} HTTP/1.1

URI 매개 변수

다음 쿼리 매개 변수를 사용하여 인벤토리를 확인합니다.

속성 Type 필수 설명
국가 코드 string 국가/지역 ID입니다.

요청 헤더

자세한 내용은 파트너 센터 REST 헤더를 참조하세요.

요청 본문

하나 이상의 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"}}

Important

2023년 6월 현재 최신 파트너 센터 .NET SDK 릴리스 3.4.0이 보관됩니다. 유용한 정보가 포함된 추가 정보 파일함께 GitHub에서 SDK 릴리스를 다운로드할 수 있습니다.

파트너는 파트너 센터 REST API계속 사용하는 것이 좋습니다.

REST 응답

성공하면 응답 본문에 제한 세부 정보(있는 경우)로 채워진 InventoryItem 개체 컬렉션이 포함됩니다.

참고 항목

입력 InventoryItem이 카탈로그에서 찾을 수 없는 항목을 나타내는 경우 출력 컬렉션에 포함되지 않습니다.

응답 성공 및 오류 코드

각 응답에는 성공 또는 실패와 추가 디버깅 정보를 나타내는 HTTP 상태 코드가 함께 제공됩니다. 네트워크 추적 도구를 사용하여 이 코드, 오류 유형 및 추가 매개 변수를 읽을 수 있습니다. 전체 목록은 파트너 센터 오류 코드를 참조 하세요.

응답 예제

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