Obter uma lista de SKUs de um produto (por país)Get a list of SKUs for a product (by country)

Aplica-se a:Applies to:

  • Partner CenterPartner Center

Você pode obter uma coleção de SKUs disponíveis em um país para um produto específico usando as APIs do Partner Center.You can get a collection of SKUs available in a country for a specific product using Partner Center APIs.

Pré-requisitosPrerequisites

  • Credenciais, conforme descrito em Autenticação do Partner Center.Credentials as described in Partner Center authentication. Esse cenário dá suporte à autenticação com aplicativos autônomos e aplicativos + credenciais de usuário.This scenario supports authentication with both standalone App and App+User credentials.

  • Um identificador de produto.A product identifier.

C#C#

Para obter a lista de SKUs para um produto:To get the list of SKUs for a product:

  1. Obtenha uma interface para as operações de um produto específico seguindo as etapas em obter um produto por ID.Get an interface for a specific product's operations by following the steps in Get a product by ID.

  2. Na interface, selecione a propriedade SKUs para obter uma interface com as operações disponíveis para SKUs.From the interface, select the Skus property to obtain an interface with the available operations for SKUs.

  3. Chame o método Get () ou getasync () para recuperar uma coleção de SKUs disponíveis para o produto.Call the Get() or GetAsync() method to retrieve a collection of the available SKUs for the product.

  4. Adicional Selecione o escopo de reserva usando o método ByReservationScope () .(Optional) Select the reservation scope using the ByReservationScope() method.

  5. Adicional Use o método ByTargetSegment () para filtrar os SKUs pelo segmento de destino antes de chamar Get () ou getasync ().(Optional) Use the ByTargetSegment() method to filter the SKUs by target segment before calling Get() or 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();

JavaJava

O SDK do Java do Partner Center geralmente é usado por parceiros para gerenciar os recursos do Partner Center.The Partner Center Java SDK is commonly used by partners to manage their Partner Center resources. É um projeto de software livre mantido pela comunidade de parceiros.It's an open-source project maintained by the partner community. Esse módulo é mantido pela comunidade de parceiros e, por isso, não tem suporte oficial da Microsoft.Since this module is maintained by the partner community, it isn't officially supported by Microsoft. Caso se depare com um problema, você pode obter ajuda da comunidade ou abrir um problema no GitHub.You can get help from the community or open an issue on GitHub if you experience a problem.

Para obter a lista de SKUs para um produto:To get the list of SKUs for a product:

  1. Obtenha uma interface para as operações de um produto específico seguindo as etapas em obter um produto por ID.Get an interface for a specific product's operations by following the steps in Get a product by ID.

  2. Na interface, selecione a função getskus para obter uma interface com as operações disponíveis para SKUs.From the interface, select the getSkus function to obtain an interface with the available operations for SKUs.

  3. Chame a função Get () para recuperar uma coleção de SKUs disponíveis para o produto.Call the get() function to retrieve a collection of the available SKUs for the product.

  4. Adicional Use a função byTargetSegment () para filtrar os SKUs pelo segmento de destino antes de chamar a função Get () .(Optional) Use the byTargetSegment() function to filter the SKUs by target segment before calling the get() function.

// 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();

PowerShellPowerShell

O módulo PowerShell do Partner Center é normalmente usado por parceiros para gerenciar os recursos do Partner Center.The Partner Center PowerShell module is commonly used by partners to manage their Partner Center resources. É um projeto de software livre mantido pela comunidade de parceiros.It's an open-source project maintained by the partner community. Esse módulo é mantido pela comunidade de parceiros e, por isso, não tem suporte oficial da Microsoft.Since this module is maintained by the partner community, it isn't officially supported by Microsoft. Caso se depare com um problema, você pode obter ajuda da comunidade ou abrir um problema no GitHub.You can get help from the community or open an issue on GitHub if you experience a problem.

Para obter a lista de SKUs para um produto:To get the list of SKUs for a product:

  1. Execute o comando Get-PartnerProductSku .Execute the Get-PartnerProductSku command.

  2. Adicional Especifique o parâmetro de segmento para filtrar os SKUs por segmento de destino.(Optional) Specify the Segment parameter to filter the SKUs by target segment.

# $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 RESTREST request

Sintaxe da solicitaçãoRequest syntax

MétodoMethod URI da solicitaçãoRequest URI
GETGET {baseURL}/v1/Products/{product-ID}/SKUs? Country = {país-código} &targetSegment = {segmento-alvo} http/1.1{baseURL}/v1/products/{product-id}/skus?country={country-code}&targetSegment={target-segment} HTTP/1.1

Parâmetros do URIURI parameters

Use o caminho e os parâmetros de consulta a seguir para obter uma lista de SKUs para um produto.Use the following path and query parameters to get a list of SKUs for a product.

NomeName TipoType ObrigatórioRequired DescriçãoDescription
ID do produtoproduct-id stringstring SimYes Uma cadeia de caracteres que identifica o produto.A string that identifies the product.
código do paíscountry-code stringstring SimYes Uma ID de país/região.A country/region ID.
segmento de destinotarget-segment Cadeia de caracteresstring NoNo Uma cadeia de caracteres que identifica o segmento de destino usado para filtragem.A string that identifies the target segment used for filtering.
reservationScopereservationScope Cadeia de caracteresstring NoNo Ao consultar uma lista de SKUs para um produto de reserva do Azure, especifique reservationScope=AzurePlan para obter uma lista de SKUs que se aplicam ao AzurePlan.When querying for a list of SKUs for an Azure Reservation product, specify reservationScope=AzurePlan to get a list of SKUs which are applicable to AzurePlan. Exclua esse parâmetro para obter uma lista de SKUs para produtos de reserva do Azure que são aplicáveis a assinaturas Microsoft Azure (MS-AZR-0145P).Exclude this parameter to get a list of SKUs for an Azure Reservation products which are applicable to Microsoft Azure (MS-AZR-0145P) subscriptions.

Cabeçalhos de solicitaçãoRequest headers

Para obter mais informações, confira Cabeçalhos REST do Partner Center.For more information, see Partner Center REST headers.

Corpo da solicitaçãoRequest body

Nenhum.None.

Exemplos de solicitaçãoRequest examples

Obter uma lista de SKUs para um determinado produto:Get a list of SKUs for a given product:

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: e75c1060-852e-4b49-92b0-cd15167a0d51

Obtenha uma lista de SKUs para um produto de reserva do Azure.Get a list of SKUs for an Azure Reservation product. Inclua somente as SKUs que são aplicáveis aos planos do Azure e não Microsoft Azure (MS-AZR-0145P) assinaturas:Only include the SKUs which are applicable to Azure plans and not Microsoft Azure (MS-AZR-0145P) subscriptions:

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: e75c1060-852e-4b49-92b0-cd15167a0d51

Obtenha uma lista de SKUs para um produto de reserva do Azure.Get a list of SKUs for an Azure Reservation product. Inclua somente as SKUs que são aplicáveis a assinaturas Microsoft Azure (MS-AZR-0145P) e não a planos do Azure:Only include the SKUs which are applicable to Microsoft Azure (MS-AZR-0145P) subscriptions and not Azure plans:

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: e75c1060-852e-4b49-92b0-cd15167a0d51

Resposta RESTREST response

Se for bem-sucedido, o corpo da resposta conterá uma coleção de recursos de SKU .If successful, the response body contains a collection of SKU resources.

Códigos de êxito e de erro de respostaResponse success and error codes

Cada resposta vem com um código de status HTTP que indica êxito ou falha e informações de depuração adicionais.Each response comes with an HTTP status code that indicates success or failure and additional debugging information. Use uma ferramenta de rastreamento de rede para ler esse código, o tipo de erro e os parâmetros adicionais.Use a network trace tool to read this code, error type, and additional parameters. Para obter a lista completa, consulte códigos de erro do Partner Center.For the full list, see Partner Center error codes.

Esse método retorna os seguintes códigos de erro:This method returns the following error codes:

Código de status HTTPHTTP Status Code Código do erroError code DescriçãoDescription
403403 400030400030 O acesso ao targetSegment solicitado não é permitido.Access to the requested targetSegment is not allowed.
404404 400013400013 O produto pai não foi encontrado.The parent product was not found.

Exemplo de respostaResponse example

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/10.0
MS-CorrelationId: e75c1060-852e-4b49-92b0-cd15167a0d51,e75c1060-852e-4b49-92b0-cd15167a0d51
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"
    }
}