Получение списка доступности для номера SKU (по странам или регионам)
В этой статье описывается, как получить коллекцию доступности в определенной стране или регионе для указанного продукта и номера SKU.
Необходимые компоненты
Учетные данные, описанные в статье о проверке подлинности в Центре партнеров. Этот сценарий поддерживает проверку подлинности с помощью автономных учетных данных приложения и приложения и пользователя.
Идентификатор продукта.
Идентификатор SKU.
Страна или регион.
C#
Чтобы получить список доступности для номера SKU, выполните указанные ниже действия.
Выполните действия, описанные в разделе Get a SKU by ID , чтобы получить интерфейс для определенных операций SKU.
В интерфейсе SKU выберите свойство Availabilities , чтобы получить интерфейс с операциями для доступности.
(Необязательно) Используйте метод ByTargetSegment() для фильтрации доступности по целевому сегменту. Все сегменты, кроме некоммерческих организаций, будут возвращены, если они не включены. Некоммерческие организации должны быть переданы специально для получения некоммерческих доступности.
Вызовите Get() или GetAsync(), чтобы получить коллекцию доступности для этого номера SKU.
IAggregatePartner partnerOperations;
string countryCode;
string productId;
string skuId;
string targetSegment;
string productIdForAzureReservation;
string skuIdForAzureReservation;
// Get the availabilities.
var availabilities = partnerOperations.Products.ByCountry(countryCode).ById(productId).Skus.ById(skuId).Availabilities.Get();
// Get the availabilities, filtered by target segment.
var availabilities = partnerOperations.Products.ByCountry(countryCode).ById(productId).Skus.ById(skuId).Availabilities.BySegment(targetSegment).Get();
// Get the availabilities for an Azure reservation product and sku which are applicable to Microsoft Azure (MS-AZR-0145P) subscriptions only.
var availabilities = partnerOperations.Products.ByCountry(countryCode).ById(productIdForAzureReservation).Skus.ById(skuIdForAzureReservation).Availabilities.ByReservationScope("AzurePlan").Get();
// Get the availabilities for an Azure reservation product and sku which are applicable to Azure plans only.
var availabilities = partnerOperations.Products.ByCountry(countryCode).ById(productIdForAzureReservation).Skus.ById(skuIdForAzureReservation).Availabilities.Get();
Запрос REST
Синтаксис запроса
Способ | URI запроса |
---|---|
GET | {baseURL}/v1/products/{product-id}/skus/{sku-id}/availabilities?country={country-code}&targetSegment={target-segment} HTTP/1.1 |
Параметры универсального кода ресурса (URI)
Используйте следующий путь и параметры запроса, чтобы получить список доступности для номера SKU.
Имя. | Type | Обязательно | Описание |
---|---|---|---|
product-id | строка | Да | Строка, определяющая продукт. |
sku-id | строка | Да | Строка, идентифицирующая номер SKU. |
код страны | строка | Да | Идентификатор страны или региона. |
целевой сегмент | строка | Нет | Строка, определяющая целевой сегмент, используемый для фильтрации. Все сегменты, кроме некоммерческих организаций, будут возвращены, если они не включены. Некоммерческие организации должны быть переданы специально для получения некоммерческих доступности. |
резервированиеScope | строка | Нет | При запросе списка доступности для SKU резервирования Azure укажите reservationScope=AzurePlan , чтобы получить список доступности, применимых к AzurePlan. Исключите этот параметр, чтобы получить список доступностей, применимых к подпискам Microsoft Azure (MS-AZR-0145P). |
IncludeLifeCycleState | строка | Нет | Строковый флаг, который может иметь значение true, чтобы возвращать значения состояния жизненного цикла для предложений на основе лицензий New Commerce. Эти значения не будут возвращены, если флаг не включен. |
Заголовки запросов
Дополнительные сведения см. в статье о заголовках REST Центра партнеров.
Текст запроса
Нет.
Примеры запросов
Доступность номера SKU по странам
Следуйте этому примеру, чтобы получить список доступности для заданного номера SKU по странам:
GET http:// api.partnercenter.microsoft.com/v1/products/DZH318Z0BQ3Q/skus/0001/availabilities?country=US HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 70324727-62d8-4195-8f99-70ea25058d02
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
Доступность резервирований виртуальных машин (план Azure)
Следуйте этому примеру, чтобы получить список доступности по странам для номеров SKU резервирования виртуальных машин Azure. Этот пример предназначен для номеров SKU, которые применяются к планам Azure:
GET https://api.partnercenter.microsoft.com/v1/products/DZH318Z0BQ3Q/skus/0001/availabilities?country=US&targetView=AzureReservationsVM&reservationScope=AzurePlan HTTP/1.1
Authorization: Bearer
Accept: application/json
MS-RequestId: 031160b2-b0b0-4d40-b2b1-aaa9bb84211d
MS-CorrelationId: bbbb1111-cc22-3333-44dd-555555eeeeee
Доступность для резервирования виртуальных машин для подписок Microsoft Azure (MS-AZR-0145P)
Следуйте этому примеру, чтобы получить список доступности по странам для резервирования виртуальных машин Azure, применимых к подпискам Microsoft Azure (MS-AZR-0145P).
GET https://api.partnercenter.microsoft.com/v1/products/DZH318Z0BQ3Q/skus/0001/availabilities?country=US&targetView=AzureAzureReservationsVM HTTP/1.1
Authorization: Bearer
Accept: application/json
MS-RequestId: 031160b2-b0b0-4d40-b2b1-aaa9bb84211d
MS-CorrelationId: bbbb1111-cc22-3333-44dd-555555eeeeee
Ответ REST
В случае успешного выполнения текст ответа содержит коллекцию ресурсов доступности .
Коды успешного выполнения и ошибок в ответе
Каждый ответ поставляется с кодом состояния HTTP, который указывает на успешность или сбой и дополнительные сведения об отладке. Используйте средство трассировки сети для чтения этого кода, типа ошибки и других параметров. Полный список см. в разделе "Коды ошибок Центра партнеров".
Этот метод возвращает следующие коды ошибок:
Код состояния HTTP | Код ошибки | Description |
---|---|---|
403 | 400030 | Доступ к запрошенной целиSegment запрещен. |
Пример ответа для резервирования виртуальных машин Azure (план Azure)
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/10.0
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd,aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 70324727-62d8-4195-8f99-70ea25058d02,70324727-62d8-4195-8f99-70ea25058d02
X-Locale: en-US,en-US
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcbWFtZW5kZVxkZXZcZHBzLXJwZVxSUEUuUGFydG5lci5TZXJ2aWNlLkNhdGFsb2dcV2ViQXBpc1xDYXRhbG9nU2VydmljZS5WMi5XZWJcdjFccHJvZHVjdHNcRFpIMzE4WjBCUTNRXHNrdXNcMDAwMVxhdmFpbGFiaWxpdGllcw==?=
X-Powered-By: ASP.NET
Date: Wed, 14 Mar 2018 22:19:37 GMT
Content-Length: 808
{
"totalCount": 1,
"items": [
{
"id": "DZH318XZXVNF",
"productId": "DZH318Z0BQ3Q",
"skuId": "0001",
"catalogItemId": "DZH318Z0BQ3Q:0001:DZH318XZXVNF",
"defaultCurrency": {
"code": "USD",
"symbol": "$"
},
"segment": "commercial",
"country": "US",
"isPurchasable": true,
"isRenewable": false,
"terms": [{
"duration": "P1Y",
"description": "1 Year Prepaid"
}],
"product": { ... },
"sku": { ... },
"links": {
"self": {
"uri": "/products/DZH318Z0BQ3Q/skus/0001/availabilities/DZH318Z0HMKQ?country=US",
"method": "GET",
"headers": []
}
}
}
],
"links": {
"self": {
"uri": "/products/DZH318Z0BQ3Q/skus/0001/availabilities?country=US&targetSegment=commercial",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}
Пример ответа для новых коммерческих служб на основе лицензий
Примечание.
Новые возможности коммерческой торговли для служб на основе лицензий включают множество новых возможностей и доступны для всех поставщик облачных решений (ПОСТАВЩИКОВ УСЛУГ). Дополнительные сведения см . в обзоре новых коммерческих возможностей.
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/10.0
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd,aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 70324727-62d8-4195-8f99-70ea25058d02,70324727-62d8-4195-8f99-70ea25058d02
X-Locale: en-US,en-US
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcbWFtZW5kZVxkZXZcZHBzLXJwZVxSUEUuUGFydG5lci5TZXJ2aWNlLkNhdGFsb2dcV2ViQXBpc1xDYXRhbG9nU2VydmljZS5WMi5XZWJcdjFccHJvZHVjdHNcRFpIMzE4WjBCUTNRXHNrdXNcMDAwMVxhdmFpbGFiaWxpdGllcw==?=
X-Powered-By: ASP.NET
Date: Wed, 14 Mar 2018 22:19:37 GMT
Content-Length: 808
{
"id": "CFQ7TTC0K971",
"productId": "CFQ7TTC0LH18",
"skuId": "0001",
"catalogItemId": "CFQ7TTC0LH18:0001:CFQ7TTC0K971",
"defaultCurrency": {
"code": "USD",
"symbol": "$"
},
"segment": "commercial",
"country": "US",
"isPurchasable": true,
"isRenewable": true,
"renewalInstructions": [
{
"applicableTermIds": [
"5aeco6mffyxo"
],
"renewalOptions": [
{
"renewToId": "CFQ7TTC0LH18:0001",
"isAutoRenewable": true
}
]
},
…
],
"terms": [
{
"id": "5aeco6mffyxo",
"duration": "P1Y",
"description": "One-Year commitment for monthly/yearly billing",
"billingCycle": "Annual",
"cancellationPolicies": [
{
"refundOptions": [
{
"sequenceId": 0,
"type": "Full",
"expiresAfter": "P1D"
}
]
}
]
},
…
],
"links": {
"self": {
"uri": "/products/CFQ7TTC0LH18/skus/0001/availabilities/CFQ7TTC0K971?country=US",
"method": "GET",
"headers": []
}
},
"links": {
"availabilities": {
"uri": "/products/CFQ7TTC0LH18/skus/0001/availabilities?country=US",
"method": "GET",
"headers": []
},
"self": {
"uri": "/products/CFQ7TTC0LH18/skus/0001?country=US",
"method": "GET",
"headers": []
}
}
}
}