Obter uma lista de disponibilidades para um SKU (por país/região)
Este artigo descreve como obter uma coleção de disponibilidades em um determinado país/região para um produto e SKU especificados.
Pré-requisitos
Credenciais, conforme descrito em Autenticação do Partner Center. Esse cenário dá suporte à autenticação com credenciais autônomas de Aplicativo e Aplicativo+Usuário.
Um identificador de produto.
Um identificador de SKU.
Um país/região.
C#
Para obter a lista de disponibilidades de um SKU:
Siga as etapas em Obter um SKU por ID para obter a interface para as operações de um SKU específico.
Na interface SKU, selecione a propriedade Disponibilidades para obter uma interface com as operações de disponibilidades.
(Opcional) Use o método ByTargetSegment() para filtrar as disponibilidades por segmento de destino. Todos os trechos, exceto organizações sem fins lucrativos, serão devolvidos se não estiverem incluídos. A organização sem fins lucrativos precisa ser aprovada especificamente para obter disponibilidades sem fins lucrativos.
Chame Get() ou GetAsync() para recuperar uma coleção das disponibilidades para esse 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();
Solicitação REST
Sintaxe da solicitação
Método | URI da solicitação |
---|---|
GET | {baseURL}/v1/products/{product-id}/skus/{sku-id}/availabilities?country={country-code}&targetSegment={target-segment} HTTP/1.1 |
Parâmetros do URI
Use os parâmetros de caminho e consulta a seguir para obter uma lista de disponibilidades para um SKU.
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
product-id | string | Sim | Uma cadeia de caracteres que identifica o produto. |
ID do SKU | string | Sim | Uma cadeia de caracteres que identifica o SKU. |
código do país | string | Sim | Um ID de país/região. |
segmento-alvo | string | Não | Uma cadeia de caracteres que identifica o segmento de destino usado para filtragem. Todos os trechos, exceto organizações sem fins lucrativos, serão devolvidos se não estiverem incluídos. A organização sem fins lucrativos precisa ser aprovada especificamente para obter disponibilidades sem fins lucrativos. |
reservationScope | string | Não | Ao consultar uma lista de disponibilidades para um SKU de Reserva do Azure, especifique reservationScope=AzurePlan para obter uma lista de disponibilidades aplicáveis ao AzurePlan. Exclua esse parâmetro para obter uma lista de disponibilidades aplicáveis às assinaturas do Microsoft Azure (MS-AZR-0145P). |
IncluirLifeCycleState | string | Não | Um sinalizador de cadeia de caracteres que pode ser definido como true para retornar valores de estado do ciclo de vida para ofertas baseadas em licença do New Commerce. Esses valores não serão retornados se o sinalizador não estiver incluído. |
Cabeçalhos da solicitação
Para obter mais informações, confira Cabeçalhos REST do Partner Center.
Corpo da solicitação
Nenhum.
Exemplos de solicitação
Disponibilidades para SKU por país
Siga este exemplo para obter uma lista de disponibilidades para um determinado SKU por país:
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
Disponibilidades para reservas de VM (plano do Azure)
Siga este exemplo para obter uma lista de disponibilidades por país para SKUs de reserva de VM do Azure. Este exemplo é para SKUs que se aplicam aos planos do 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
Disponibilidades para reservas de VM para assinaturas do Microsoft Azure (MS-AZR-0145P)
Siga este exemplo para obter uma lista de disponibilidades por país para reservas de VM do Azure aplicáveis às assinaturas do 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
Resposta REST
Se for bem-sucedido, o corpo da resposta conterá uma coleção de recursos de Disponibilidade .
Códigos de êxito e de erro de resposta
Cada resposta vem com um código de status HTTP que indica êxito ou falha e mais informações de depuração. Use uma ferramenta de rastreamento de rede para ler esse código, tipo de erro e outros parâmetros. Para obter uma lista completa, consulte Códigos de erro do Partner Center.
Esse método retorna os seguintes códigos de erro:
Código de status HTTP | Código do erro | Descrição |
---|---|---|
403 | 400030 | O acesso ao targetSegment solicitado não é permitido. |
Exemplo de resposta para reservas de VM do Azure (plano do 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"
}
}
Exemplo de resposta para serviços baseados em licença de novo comércio
Observação
As novas experiências de comércio para serviços baseados em licença incluem muitos recursos novos e estão disponíveis para todos os CSPs (provedores de soluções em nuvem). Para obter mais informações, confira a visão geral das novas experiências de comércio.
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": []
}
}
}
}