Verificar inventário por tipo de recurso usando APIs do Partner Center

Como verificar o inventário de itens de catálogo filtrados por um tipo de recurso específico.

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.

  • IDs do produto (opcional). IDs de SKU (opcional).

  • Um valor válido resourceType (obrigatório). Consulte os tipos de recursos com suporte para obter a lista completa de valores aceitos.

  • Qualquer contexto adicional necessário para verificar o inventário das SKUs referenciadas pelas IDs de produto/SKU fornecidas. Esses requisitos podem variar de acordo com o tipo de produto/SKU e podem ser determinados na propriedade InventoryVariablesda SKU.

Solicitação REST

Sintaxe da solicitação

Método URI de solicitação
POST {baseURL}/v1/extensions/product/checkinventorybyresourcetype?country={country-code}&resourceType={resourceTypeValue} HTTP/1.1

Parâmetros de URI

Use os parâmetros de consulta a seguir para verificar o inventário por tipo de recurso.

Name Tipo Required Description
código do país cadeia Yes Um ID de país/região.
resourceTypeValue cadeia Yes O tipo de recurso para filtrar os resultados do inventário. Consulte os tipos de recursos com suporte para valores válidos.

Tipos de recursos suportados

Valor do tipo de recurso Description Região obrigatória?
AppService Serviço de Aplicativo Yes
Avs Solução VMware no Azure Yes
AzureDataExplorer Azure Data Explorer Não – excluir Região para evitar um erro de solicitação inválida de 400
AzureFiles Arquivos do Azure Yes
Backup Backup do Azure Yes
BlockBlob Armazenamento de Blobs em Blocos Yes
CopilotCredit Crédito Copilot Não – excluir Região para evitar um erro de solicitação inválida 400
CosmosDb Azure Cosmos DB Não – excluir Região para evitar um erro de solicitação inválida de 400
Databricks Azure Databricks Não – excluir Região para evitar um erro de solicitação inválida de 400
DataFactory Azure Data Factory Yes
Anfitrião Dedicado Host Dedicado do Azure Yes
FabricCapacity Capacidade do Microsoft Fabric Yes
FoundryAgent Agente do Foundry Não – excluir Região para evitar um erro de solicitação inválida de 400
GitHubAICredit Crédito de IA do GitHub Não – excluir Região para evitar um erro de solicitação inválida de 400
GitHubP3 GitHub P3 Não – excluir Região para evitar um erro de solicitação inválida de 400
ManagedDisk Azure Managed Disk Yes
MariaDB Banco de Dados do Azure para MariaDB Yes
MDC Microsoft Defender para Nuvem Não – excluir Região para evitar um erro de solicitação inválida 400
MySql Banco de Dados do Azure para MySQL Yes
NetAppStorage Azure NetApp Files Yes
Nutanix Nutanix Yes
OpenAIPTU Azure PTU do OpenAI Yes
PostgreSQL Banco de Dados do Azure para PostgreSQL Yes
RedHat Red Hat Não – excluir Região para evitar um erro de solicitação inválida de 400
RedHatOsa Red Hat OpenShift no Azure Não – excluir Região para evitar um erro de solicitação inválida de 400
RedisCache Cache do Azure para Redis Yes
SapHana SAP HANA no Azure Yes
Sentinel Microsoft Sentinel Não – excluir Região para evitar um erro de solicitação inválida de 400
SqlDatabases Bancos de Dados SQL do Azure Yes
SqlDataWarehouse SQL Data Warehouse do Azure Yes
SuseLinux SUSE Linux Não – excluir Região para evitar um erro de solicitação inválida de 400
Synapse Azure Synapse Analytics Não – excluir Região para evitar um erro de solicitação inválida de 400
Máquinas Virtuais Máquinas Virtuais do Azure Yes
VMwareCloudSimple VMware CloudSimple Yes

Cabeçalhos de solicitação

Para mais informações, consulte os cabeçalhos REST do Partner Center.

Corpo da solicitação

Os detalhes da solicitação de inventário, que consistem em um recurso InventoryCheckRequest contendo um ou mais recursos InventoryItem .

Verifique se a assinatura de Azure especificada no corpo da solicitação está registrada e habilitada para comprar Azure RIs. Consulte Registrar uma Assinatura para obter detalhes sobre o processo de registro.

TargetItems é opcional. Se você excluí-lo ou defini-lo como nulo ou [], a resposta incluirá todos os itens para o tipo de recurso. Se você incluí-la, a resposta será filtrada para essas IDs de produto. Cada TargetItems entrada deve ter um ProductId não em branco ou a solicitação retorna um 400.

Prática recomendada: Passe TargetItems apenas com as IDs do produto que você precisa para manter as respostas menores, mais rápidas e relevantes. Caso contrário, tipos de recursos amplos, como VirtualMachines, podem retornar milhares de itens.

Exemplo de solicitação

POST https://api.partnercenter.microsoft.com/v1/extensions/product/checkinventorybyresourcetype?country=US&resourceType=VirtualMachines 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
Content-Type: application/json

{"TargetItems":[{"ProductId":"DZH318Z0BQ3P"}],"InventoryContext":{"customerId":"d6bf25b7-e0a8-4f2d-a31b-97b55cfc774d","azureSubscriptionId":"3A231FBE-37FE-4410-93FD-730D3D5D4C75","armRegionName":"westeurope"}}

Resposta REST

Se tiver êxito, o corpo da resposta conterá uma coleção de objetos InventoryItem preenchidos com os detalhes da restrição, se houver aplicação.

Note

Se um InventoryItem de entrada representar um item que não pôde ser encontrado no catálogo ou não corresponder ao tipo de recurso especificado, ele não será incluído na coleção de saída.

Códigos de erro e êxito 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.

Exemplo de resposta

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": false,
        "restrictions": []
    }
]

Produtos não retornados em resposta

Se um produto ou SKU estiver disponível para a assinatura e a região especificadas, mas estiver sujeito a restrições, a resposta incluirá o produto e isRestricted: true os detalhes de restrição aplicáveis.

Se um produto não estiver disponível para a assinatura e a região especificadas, a resposta omite totalmente o produto.

Importante

Trate um produto ausente da resposta como indisponível apenas para a assinatura e a região especificadas.

Scenario Resposta de CheckInventoryByResourceType
Produto não disponível para assinatura/região Produto omitido da resposta
SKU disponível isRestricted: false
SKU restrita na região Retornado com isRestricted: true