Obter uma lista de SKUs para um produto (por país/região)
Você pode obter uma coleção de SKUs disponíveis em um país/região para um produto específico usando APIs do Partner Center.
Pré-requisitos
Credenciais, conforme descrito em Autenticação do Partner Center. Esse cenário oferece suporte à autenticação com credenciais autônomas de Aplicativo e Aplicativo+Usuário.
Um identificador de produto.
C#
Para obter a lista de SKUs de um produto:
Obtenha uma interface para as operações de um produto específico seguindo as etapas em Obter um produto por ID.
Na interface, selecione a propriedade Skus para obter uma interface com as operações disponíveis para SKUs.
Chame o método Get() ou GetAsync() para recuperar uma coleção de SKUs disponíveis para o produto.
(Opcional) Selecione o escopo da reserva usando o método ByReservationScope().
(Opcional) Use o método ByTargetSegment() para filtrar as SKUs por segmento de destino antes de chamar Get() ou GetAsync().
IAggregatePartner partnerOperations;
string countryCode;
string productId;
string productIdForAzureReservation;
string targetSegment;
// Get the available SKUs.
var skus = partnerOperations.Products.ByCountry(countryCode).ById(productId).Skus.Get();
// Get the available SKUs, filtered by target segment.
var segmentSkus = partnerOperations.Products.ByCountry(countryCode).ById(productId).Skus.ByTargetSegment(targetSegment).Get();
// Get the skus for an Azure reservation product which are applicable to Microsoft Azure (MS-AZR-0145P) subscriptions only.
var skus = partnerOperations.Products.ByCountry(countryCode).ById(productIdForAzureReservation).Skus.Get();
// Get the skus for an Azure reservation product which are applicable to Azure plans only.
var skus = partnerOperations.Products.ByCountry(countryCode).ById(productIdForAzureReservation).Skus.ByReservationScope("AzurePlan").Get();
Java
O SDK Java do Partner Center pode ser usado para gerenciar recursos do Partner Center. É um projeto de código aberto mantido pela comunidade de parceiros e não é oficialmente suportado pela Microsoft. Caso se depare com um problema, você pode obter ajuda da comunidade ou abrir um problema no GitHub.
Para obter a lista de SKUs de um produto:
Obtenha uma interface para as operações de um produto específico seguindo as etapas em Obter um produto por ID.
Na interface, selecione a função getSkus para obter uma interface com as operações disponíveis para SKUs.
Chame a função get() para recuperar uma coleção de SKUs disponíveis para o produto.
(Opcional) Use a função byTargetSegment() para filtrar os SKUs por segmento de destino antes de chamar a função get().
// IAggregatePartner partnerOperations;
// String countryCode;
// String productId;
// String targetSegment;
// Get the available SKUs.
ResourceCollection<Sku> skus = partnerOperations.getProducts().byCountry(countryCode).byId(productId).getSkus().get();
// Get the available SKUs, filtered by target segment.
var segmentSkus = partnerOperations.getProducts().byCountry(countryCode).byId(productId).getSkus().byTargetSegment(targetSegment).get();
PowerShell
O módulo PowerShell do Partner Center pode ser usado para gerenciar recursos do Partner Center. É um projeto de código aberto mantido pela comunidade de parceiros e não é oficialmente suportado pela Microsoft. Caso se depare com um problema, você pode obter ajuda da comunidade ou abrir um problema no GitHub.
Para obter a lista de SKUs de um produto:
Execute o comando Get-PartnerProductSku.
(Opcional) Especifique o parâmetro Segment para filtrar as SKUs por segmento de destino.
# $productId
# $targetSegment
# Get the available SKUs.
Get-PartnerProductSku -ProductId $productId
# Get the available SKUs, filtered by target segment.
Get-PartnerProductSku -ProductId $productId -Segment $targetSegment
Solicitação REST
Sintaxe da solicitação
Método | URI da solicitação |
---|---|
GET | {baseURL}/v1/products/{product-id}/skus?country={country-code}&targetSegment={target-segment} HTTP/1.1 |
Parâmetros do URI
Use o seguinte caminho e parâmetros de consulta para obter uma lista de SKUs para um produto.
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
product-id | string | Sim | Uma cadeia de caracteres que identifica o produto. |
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. |
reservaEscopo | string | Não | Ao consultar uma lista de SKUs para um produto de Reserva do Azure, especifique reservationScope=AzurePlan para obter uma lista de SKUs aplicáveis ao AzurePlan. Exclua esse parâmetro para obter uma lista de SKUs para produtos de Reserva do Azure aplicáveis a assinaturas do Microsoft Azure (MS-AZR-0145P). |
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
Obtenha uma lista de SKUs para um determinado produto:
GET http://api.partnercenter.microsoft.com/v1/products/DZH318Z0BPS6/skus?country=US HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18b41adf-29b5-48eb-b14f-c9683a4e5b7d
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
Obtenha uma lista de SKUs para um produto de Reserva do Azure. Inclua apenas as SKUs aplicáveis aos planos do Azure e não às assinaturas do Microsoft Azure (MS-AZR-0145P):
GET http://api.partnercenter.microsoft.com/v1/products/DZH318Z0BQ5S/skus?country=US&reservationScope=AzurePlan HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18b41adf-29b5-48eb-b14f-c9683a4e5b7d
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
Obtenha uma lista de SKUs para um produto de Reserva do Azure. Inclua apenas as SKUs aplicáveis às assinaturas do Microsoft Azure (MS-AZR-0145P) e não aos planos do Azure:
GET http://api.partnercenter.microsoft.com/v1/products/DZH318Z0BQ5S/skus?country=US HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18b41adf-29b5-48eb-b14f-c9683a4e5b7d
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
Resposta REST
Se for bem-sucedido, o corpo da resposta conterá uma coleção de recursos de SKU .
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 informações de depuração adicionais. Use uma ferramenta de rastreamento de rede para ler esse código, o tipo de erro e os parâmetros adicionais. Para obter a 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. |
404 | 400013 | O produto pai não foi encontrado. |
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: 18b41adf-29b5-48eb-b14f-c9683a4e5b7d,18b41adf-29b5-48eb-b14f-c9683a4e5b7d
X-Locale: en-US,en-US
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcbWFtZW5kZVxkZXZcZHBzLXJwZVxSUEUuUGFydG5lci5TZXJ2aWNlLkNhdGFsb2dcV2ViQXBpc1xDYXRhbG9nU2VydmljZS5WMi5XZWJcdjFccHJvZHVjdHNcRFpIMzE4WjBCUTVTXHNrdXM=?=
X-Powered-By: ASP.NET
Date: Thu, 15 Mar 2018 21:06:03 GMT
Content-Length: 50917
{
"totalCount": 40,
"items": [
{
"id": "0001",
"productId": "DZH318Z0BQ5S",
"title": "Reserved VM Instance, Standard_ND12s, US West 2, 1 Year",
"description": "Reserved Virtual Machines Instance, Standard_ND12s, US West 2, 1 Year",
"minimumQuantity": 1,
"maximumQuantity": 999999999,
"isTrial": false,
"supportedBillingCycles": [
"one_time"
],
"purchasePrerequisites": [
"AzureSubscriptionRegistration",
"InventoryCheck"
],
"provisioningVariables": [
"Scope",
"SubscriptionId"
],
"dynamicAttributes": {
"armSkuName": "Standard_ND12s",
"cores": "12",
"ram": "224",
"skuDisplayName": "ND12",
"category": "GPU",
"armRegionName": "westus2",
"duration": "1Year",
"region": "US West 2",
"diskType": "Hdd"
},
"links": {
"availabilities": {
"uri": "/products/DZH318Z0BQ5S/skus/0001/availabilities?country=US",
"method": "GET",
"headers": []
},
"self": {
"uri": "/products/DZH318Z0BQ5S/skus/0001?country=US",
"method": "GET",
"headers": []
}
}
},
{
"id": "0002",
"productId": "DZH318Z0BQ5S",
"title": "Reserved VM Instance, Standard_ND6s, US West 2, 1 Year",
"description": "Reserved Virtual Machines Instance, Standard_ND6s, US West 2, 1 Year",
"minimumQuantity": 1,
"maximumQuantity": 999999999,
"isTrial": false,
"supportedBillingCycles": [
"one_time"
],
"purchasePrerequisites": [
"AzureSubscriptionRegistration",
"InventoryCheck"
],
"provisioningVariables": [
"Scope",
"SubscriptionId"
],
"dynamicAttributes": {
"armSkuName": "Standard_ND6s",
"cores": "6",
"ram": "112",
"skuDisplayName": "ND6",
"category": "GPU",
"armRegionName": "westus2",
"duration": "1Year",
"region": "US West 2",
"diskType": "Hdd"
},
"links": {
"availabilities": {
"uri": "/products/DZH318Z0BQ5S/skus/0002/availabilities?country=US",
"method": "GET",
"headers": []
},
"self": {
"uri": "/products/DZH318Z0BQ5S/skus/0002?country=US",
"method": "GET",
"headers": []
}
}
}
[...]
],
"links": {
"self": {
"uri": "/products/DZH318Z0BQ5S/skus?country=US",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}
Exemplo de resposta para novos serviços baseados em licença de 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: 18b41adf-29b5-48eb-b14f-c9683a4e5b7d,18b41adf-29b5-48eb-b14f-c9683a4e5b7d
X-Locale: en-US,en-US
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcbWFtZW5kZVxkZXZcZHBzLXJwZVxSUEUuUGFydG5lci5TZXJ2aWNlLkNhdGFsb2dcV2ViQXBpc1xDYXRhbG9nU2VydmljZS5WMi5XZWJcdjFccHJvZHVjdHNcRFpIMzE4WjBCUTVTXHNrdXM=?=
X-Powered-By: ASP.NET
Date: Thu, 15 Mar 2018 21:06:03 GMT
Content-Length: 50917
{
"totalCount": 40,
"items": [
{
{
"id": "0001",
"productId": "CFQ7TTC0LH18",
"title": "Microsoft 365 Business Basic",
"description": "Best for businesses that need professional email, cloud file storage, and online meetings & chat. Desktop versions of Office apps like Excel, Word, and PowerPoint not included. For businesses with up to 300 employees.",
"minimumQuantity": 1,
"maximumQuantity": 300,
"isTrial": false,
"supportedBillingCycles": [
"annual",
"monthly"
],
"purchasePrerequisites": [
"MicrosoftCloudAgreement"
],
"inventoryVariables": [],
"provisioningVariables": [],
"actions": [
"Refund"
],
"dynamicAttributes": {
"isMicrosoftProduct": true,
"hasConstraints": true,
"isAddon": false,
"prerequisiteSkus": [],
"isSoftwareAssuranceApplicable": false,
"upgradeTargetOffers": [
"CFQ7TTC0LDPB:0001",
"CFQ7TTC0LF8Q:0001"
…
],
"provisioningId": "3b555118-da6a-4418-894f-7df1e2096870",
"internal": false
},
"links": {
"availabilities": {
"uri": "/products/CFQ7TTC0LH18/skus/0001/availabilities?country=US",
"method": "GET",
"headers": []
},
"self": {
"uri": "/products/CFQ7TTC0LH18/skus/0001?country=US",
"method": "GET",
"headers": []
}
}
} [...]
],
"links": {
"self": {
"uri": "/products/DZH318Z0BQ5S/skus?country=US",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}