Delen via


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

De inventaris controleren op een specifieke set catalogusitems.

Voorwaarden

  • Referenties zoals beschreven in Partnercentrum-verificatie. 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 SKU'sInventoryVariables eigenschap.

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, beperk deze tot Product en selecteer vervolgens het land/de regio met 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

Methode 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.

Naam Type Vereist Beschrijving
landcode draad Ja Een land-/regio-id.

Aanvraagkoppen

Zie Partnercentrum REST-headersvoor meer informatie.

Verzoeklichaam

De details van de inventarisaanvraag, bestaande uit een InventoryCheckRequest bron met een of meer InventoryItem bronnen.

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.

Voorbeeld van aanvraag

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

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 README-bestand dat nuttige informatie bevat.

Partners worden aangemoedigd om de Partner center REST API'ste blijven gebruiken.

REST-antwoord

Als dit lukt, bevat de hoofdtekst van het antwoord een verzameling InventoryItem objecten 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 of de aanvraag 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 Partnercentrum-foutcodesvoor de volledige lijst.

Voorbeeld van antwoord

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