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 na 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 do(s) SKU(s) referenciado(s) pelo(s) ID(s) do produto/SKU fornecido(s). Esses requisitos podem variar de acordo com o tipo de produto/SKU e podem ser determinados a partir da propriedade InventoryVariables do SKU.
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 IAggregatePartner.Extensions , defina o escopo até Product e selecione o país/região usando o método ByCountry( ). Finalmente, chame o método CheckInventory() com 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 | URI do pedido |
---|---|
POST | {baseURL}/v1/extensions/product/checkInventory?country={código do país} HTTP/1.1 |
Parâmetro URI
Use o parâmetro de consulta a seguir para verificar o inventário.
Nome | Type | Obrigatório | Description |
---|---|---|---|
Código do país | string | Sim | Um ID de país/região. |
Cabeçalhos do pedido
Para obter mais informações, consulte Cabeçalhos REST do Partner Center.
Corpo do pedido
Os detalhes da solicitação de inventário, consistindo em um recurso InventoryCheckRequest contendo 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 arquivo readme que contém informações úteis.
Os parceiros são incentivados a continuar a usar as APIs REST do Partner Center.
Resposta do REST
Se bem-sucedida, o corpo da resposta contém uma coleção de objetos InventoryItem preenchidos com os detalhes da restrição, se aplicável.
Nota
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": []
}
]