Kontrola inventáře položek katalogu pomocí rozhraní API Partnerského centra

Postup kontroly inventáře pro konkrétní sadu položek katalogu

Požadavky

  • Přihlašovací údaje popsané v ověřování v Partnerském centru Tento scénář podporuje ověřování pomocí samostatných přihlašovacích údajů aplikace i aplikace a uživatele.

  • Jedno nebo více ID produktů. Volitelně je možné zadat také ID skladových položek.

  • Jakýkoliv další kontext potřebný k ověření inventáře skladových položek, na které odkazuje poskytnuté ID produktů nebo skladových položek. Tyto požadavky se mohou lišit podle typu produktu nebo skladové položky a lze je určit z vlastnosti InventoryVariables skladovépoložky.

C#

Pokud chcete zkontrolovat inventář, sestavte objekt InventoryCheckRequest pomocí objektu InventoryItem pro každou položku, která se má zkontrolovat. Pak použijte IAggregatePartner.Extensions accessor, vymeďte ho na Product a pak vyberte zemi nebo oblast pomocí metody ByCountry(). Nakonec volejte metodu CheckInventory() s objektem 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);

Požadavek REST

Syntaxe požadavku

metoda Identifikátor URI žádosti
POST {baseURL}/v1/extensions/product/checkInventory?country={country-code} HTTP/1.1

Parametr identifikátoru URI

Ke kontrole inventáře použijte následující parametr dotazu.

Name Type Požadováno Popis
kód země string Ano ID země/oblasti.

Záhlaví žádosti

Další informace najdete v tématu Hlavičky REST Partnerského centra.

Text požadavku

Podrobnosti žádosti o inventář, který se skládá z prostředku InventoryCheckRequest obsahujícího jeden nebo více prostředků InventoryItem .

Ujistěte se, že je předplatné Azure zadané v textu požadavku zaregistrované a povolené k nákupu rezervovaných instancí Azure. Podrobnosti o procesu registrace najdete v části Registrace předplatného .

Příklad požadavku

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: 4acb26a1-3536-4081-bc7d-092869a4961a
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"}}

Důležité

Od června 2023 se teď archivuje nejnovější verze sady .NET SDK partnerského centra 3.4.0. Vydání sady SDK si můžete stáhnout z GitHubu spolu se souborem readme, který obsahuje užitečné informace.

Doporučujeme, aby partneři dál používali rozhraní REST API Partnerského centra.

Odpověď REST

V případě úspěchu text odpovědi obsahuje kolekci objektů InventoryItem naplněných podrobnostmi o omezení, pokud se nějaké použijí.

Poznámka:

Pokud vstupní InventoryItem představuje položku, která nebyla nalezena v katalogu, nebude zahrnuta do výstupní kolekce.

Kódy úspěšnosti a chyb odpovědi

Každá odpověď obsahuje stavový kód HTTP, který označuje úspěch nebo selhání a další informace o ladění. Ke čtení tohoto kódu, typu chyby a dalších parametrů použijte nástroj pro trasování sítě. Úplný seznam najdete v tématu Kódy chyb v Partnerském centru.

Příklad odpovědi

HTTP/1.1 200 OK
Content-Length: 1021
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 4acb26a1-3536-4081-bc7d-092869a4961a
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": []
    }
]