Partilhar via


Verifique o inventário de itens de catálogo usando APIs do Partner Center

Como verificar o inventário para um conjunto específico de itens de catálogo.

Pré-requisitos

  • Credenciais conforme descrito em autenticação do Partner Center. Este cenário oferece suporte à autenticação com credenciais autônomas de Aplicativo e Aplicativo+Usuário.

  • Um ou mais IDs de produto. Opcionalmente, IDs de SKU também podem ser especificados.

  • 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 a partir da propriedade SKU'sInventoryVariables.

C#

Para verificar o inventário, crie um objeto InventoryCheckRequest usando um objeto InventoryItem para cada item a ser verificado. Em seguida, use um acessador de IAggregatePartner.Extensions, limite o escopo até Produto e selecione o país ou região usando o método ByCountry(). Por fim, chame o método CheckInventory() utilizando o seu objeto InventoryCheckRequest.

IAggregatePartner partnerOperations;
string customerId;
string subscriptionId;
string countryCode;
string productId;

// Build the inventory check request details object.
var inventoryCheckRequest = new InventoryCheckRequest()
{
    TargetItems = new InventoryItem[]{ new InventoryItem { ProductId = productId } },
    InventoryContext = new Dictionary<string, string>()
    {
      { "customerId", customerId },
      { "azureSubscriptionId", subscriptionId }
      { "armRegionName", armRegionName }
    }
};

// Get the inventory results.
var inventoryResults = partnerOperations.Extensions.Product.ByCountry(countryCode).CheckInventory(inventoryCheckRequest);

Pedido REST

Sintaxe da solicitação

Método Solicitar URI
PUBLICAÇÃO {baseURL}/v1/extensions/product/checkInventory?country={country-code} HTTP/1.1

Parâmetro URI

Use o parâmetro de consulta a seguir para verificar o inventário.

Nome Tipo Necessário Descrição
Código do país string Sim Um ID de país/região.

Cabeçalhos de solicitação

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

Corpo de solicitação

Os detalhes do pedido de inventário, consistindo num recurso InventoryCheckRequest que contém um ou mais recursos InventoryItem.

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

Exemplo de solicitação

POST https://api.partnercenter.microsoft.com/v1/extensions/product/checkinventory?country=US 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
MS-PartnerCenter-Client: Partner Center .NET SDK
Content-Type: application/json

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

Importante

A partir de junho de 2023, a versão 3.4.0 mais recente do SDK do .NET do Partner Center foi arquivada. Você pode baixar a versão do SDK do GitHub, juntamente com um ficheiro readme que contém informações úteis.

Os parceiros são incentivados a continuar a usar as APIs REST do Partner Center.

Resposta REST

Se for bem-sucedido, o corpo da resposta contém uma coleção de objetos InventoryItem, preenchidos com os detalhes das restrições, se aplicável.

Observação

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

Códigos de sucesso e erro de resposta

Cada resposta vem com um código de status HTTP que indica sucesso ou falha e informações adicionais de depuração. Use uma ferramenta de rastreamento de rede para ler esse código, tipo de erro e 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": true,
        "restrictions": [
            {
                "reasonCode": "NotAvailableForSubscription",
                "description": "Restriction identified of type 'Location' with values 'japanwest'.",
                "properties": {
                    "type": "Location",
                    "values": "japanwest"
                }
            }
        ]
    },
    {
        "productId": "DZH318Z0BQ3P",
        "skuId": "000S",
        "isRestricted": false,
        "restrictions": []
    },
    {
        "productId": "DZH318Z0BQ3P",
        "skuId": "0011",
        "isRestricted": false,
        "restrictions": []
    }
]