Dela via


Kontrollera inventeringen av katalogobjekt med hjälp av Partnercenter-API:er

Så här kontrollerar du inventeringen för en specifik uppsättning katalogobjekt.

Förutsättningar

  • Autentiseringsuppgifter enligt beskrivningen i Partnercenter-autentisering. Det här scenariot stöder autentisering med både fristående app- och App+User-autentiseringsuppgifter.

  • Ett eller flera produkt-ID:t. Du kan också ange SKU-ID:n.

  • Eventuella ytterligare kontexter som behövs för att verifiera inventeringen av de SKU:er som refereras av den angivna produkten/SKU-ID:n. Dessa krav kan variera beroende på typ av produkt/SKU och kan fastställas från SKU:ns InventoryVariables-egenskap .

C#

Om du vill kontrollera inventeringen skapar du ett InventoryCheckRequest-objekt med hjälp av ett InventoryItem-objekt för varje objekt som ska kontrolleras. Använd sedan en IAggregatePartner.Extensions-accessor, omfångsbegränsa den till Produkt och välj sedan land/region med hjälp av metoden ByCountry(). Anropa slutligen metoden CheckInventory() med ditt InventoryCheckRequest-objekt .

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

REST-begäran

Syntax för begäran

Metod URI för förfrågan
POST {baseURL}/v1/extensions/product/checkInventory?country={country-code} HTTP/1.1

URI-parameter

Använd följande frågeparameter för att kontrollera lagret.

Namn Typ Obligatoriskt Beskrivning
landskod sträng Ja Ett lands-/region-ID.

Begärandehuvuden

Mer information finns i REST-huvuden för Partnercenter.

Begärandetext

Information om inventeringsbegäran som består av en InventoryCheckRequest-resurs som innehåller en eller flera InventoryItem-resurser .

Kontrollera att Den Azure-prenumeration som anges i begärandetexten är registrerad och aktiverad för att köpa Azure-RU:er. Mer information om registreringsprocessen finns i Registrera en prenumeration .

Exempel på begäran

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"}}

Viktigt!

Från och med juni 2023 arkiveras nu den senaste Partner Center .NET SDK-versionen 3.4.0. Du kan ladda ned SDK-versionen från GitHub tillsammans med en readme-fil som innehåller användbar information.

Partner uppmanas att fortsätta att använda REST-API:er för Partnercenter.

REST-svar

Om det lyckas innehåller svarstexten en samling InventoryItem-objekt som fyllts i med begränsningsinformationen, om det finns några.

Kommentar

Om indatan InventoryItem representerar ett objekt som inte kunde hittas i katalogen tas det inte med i utdatasamlingen.

Svarsframgång och felkoder

Varje svar levereras med en HTTP-statuskod som anger lyckad eller misslyckad och ytterligare felsökningsinformation. Använd ett verktyg för nätverksspårning för att läsa den här koden, feltypen och ytterligare parametrar. Den fullständiga listan finns i Felkoder för Partnercenter.

Svarsexempel

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