De inventaris van catalogusitems controleren met behulp van Partnercentrum-API's

De inventaris controleren op een specifieke set catalogusitems.

Vereisten

  • Referenties zoals beschreven in verificatie in partnercentrum. Dit scenario ondersteunt verificatie met zowel zelfstandige app- als app+gebruikersreferenties.

  • Een of meer product-id's. U kunt desgewenst ook SKU-id's opgeven.

  • Eventuele aanvullende context die nodig is voor het controleren van de inventaris van de SKU('s) waarnaar wordt verwezen door de opgegeven product-/SKU-id(s). Deze vereisten kunnen variĆ«ren per type product/SKU en kunnen worden bepaald op basis van de eigenschap InventoryVariables van de SKU.

C#

Als u de inventaris wilt controleren, maakt u een InventoryCheckRequest-object met behulp van een InventoryItem-object voor elk item dat moet worden gecontroleerd. Gebruik vervolgens een IAggregatePartner.Extensions-accessor, stel deze in op Product en selecteer vervolgens het land/de regio met behulp van de methode ByCountry(). Roep tot slot de methode CheckInventory() aan met uw InventoryCheckRequest-object .

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-aanvraag

Aanvraagsyntaxis

Wijze Aanvraag-URI
POST {baseURL}/v1/extensions/product/checkInventory?country={country-code} HTTP/1.1

URI-parameter

Gebruik de volgende queryparameter om de inventaris te controleren.

Name Type Vereist Beschrijving
landcode tekenreeks Ja Een land-/regio-id.

Aanvraagheaders

Zie Rest-headers in Partnercentrum voor meer informatie.

Aanvraagtekst

De details van de inventarisaanvraag, bestaande uit een InventoryCheckRequest-resource die een of meer InventoryItem-resources bevat.

Zorg ervoor dat het Azure-abonnement dat is opgegeven in de aanvraagbody is geregistreerd en is ingeschakeld voor het aanschaffen van Azure-RU's. Zie Een abonnement registreren voor meer informatie over het registratieproces.

Aanvraagvoorbeeld

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

Belangrijk

Vanaf juni 2023 wordt de nieuwste Versie van Partner Center .NET SDK 3.4.0 gearchiveerd. U kunt de SDK-release downloaden van GitHub, samen met een leesmij-bestand dat nuttige informatie bevat.

Partners worden aangemoedigd om de REST API's van partnercentrum te blijven gebruiken.

REST-antwoord

Als dit lukt, bevat de hoofdtekst van het antwoord een verzameling InventoryItem-objecten die zijn gevuld met de beperkingsgegevens, indien van toepassing.

Notitie

Als een invoerinventarisitem een item vertegenwoordigt dat niet in de catalogus kan worden gevonden, wordt het niet opgenomen in de uitvoerverzameling.

Geslaagde antwoorden en foutcodes

Elk antwoord wordt geleverd met een HTTP-statuscode die aangeeft dat de fout is geslaagd of mislukt en aanvullende informatie over foutopsporing. Gebruik een hulpprogramma voor netwerktracering om deze code, het fouttype en aanvullende parameters te lezen. Zie foutcodes in Partnercentrum voor de volledige lijst.

Responsvoorbeeld

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