파트너 센터 API를 사용하여 카탈로그 항목의 인벤토리 확인
카탈로그 항목의 특정 집합에 대한 인벤토리를 확인하는 방법입니다.
필수 구성 요소
파트너 센터 인증에 설명된 대로 자격 증명. 이 시나리오는 독립 실행형 앱 및 App+사용자 자격 증명을 모두 사용하여 인증을 지원합니다.
하나 이상의 제품 아이디. 필요에 따라 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 매개 변수
다음 쿼리 매개 변수를 사용하여 인벤토리를 확인합니다.
이름 | 유형 | 필수 | 설명 |
---|---|---|---|
국가 코드 | 문자열 | 예 | 국가/지역 ID입니다. |
요청 헤더
요청 본문
인벤토리 요청 세부 정보는 하나 이상의 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이 보관됩니다. 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": []
}
]