Überprüfen des Inventars von Katalogelementen mithilfe von Partner Center-APIs

So überprüfen Sie den Bestand auf eine bestimmte Gruppe von Katalogelementen.

Voraussetzungen

  • Anmeldeinformationen, wie unter Partner Center-Authentifizierung beschrieben. Dieses Szenario unterstützt die Authentifizierung mit eigenständigen App- und App+Benutzeranmeldeinformationen.

  • Mindestens eine Produkt-IDs. Optional können auch SKU-IDs angegeben werden.

  • Alle zusätzlichen Kontexte, die für die Überprüfung des Inventars der SKU(n) erforderlich sind, auf die von den bereitgestellten Produkt-/SKU-ID(n) verwiesen wird. Diese Anforderungen können je nach Produkt-/SKU-Typ variieren und anhand der InventoryVariables-Eigenschaft der SKU bestimmt werden.

C#

Um den Bestand zu überprüfen, erstellen Sie ein InventoryCheckRequest-Objekt mit einem InventoryItem-Objekt , damit jedes Element überprüft werden kann. Verwenden Sie dann einen IAggregatePartner.Extensions-Accessor, legen Sie ihn auf "Produkt" fest, und wählen Sie dann das Land/die Region mit der ByCountry()-Methode aus. Rufen Sie schließlich die CheckInventory()- Methode mit Dem InventoryCheckRequest-Objekt auf.

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

Anforderungssyntax

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

URI-Parameter

Verwenden Sie den folgenden Abfrageparameter, um den Bestand zu überprüfen.

Name Type Erforderlich Beschreibung
Ländercode Zeichenfolge Ja Eine Landes-/Regions-ID.

Anforderungsheader

Weitere Informationen finden Sie unter Partner Center-REST-Header.

Anforderungstext

Die Bestandsanforderungsdetails, bestehend aus einer InventoryCheckRequest-Ressource , die eine oder mehrere InventoryItem-Ressourcen enthält.

Stellen Sie sicher, dass das im Anforderungstext angegebene Azure-Abonnement registriert und zum Kauf von Azure-RIs aktiviert ist. Details zum Registrierungsprozess finden Sie unter Registrieren eines Abonnements .

Anforderungsbeispiel

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

Wichtig

Ab Juni 2023 ist jetzt die neueste Partner Center .NET SDK-Version 3.4.0 archiviert. Sie können das SDK-Release von GitHub zusammen mit einer Infodatei herunterladen, die nützliche Informationen enthält.

Partnern wird empfohlen, weiterhin die Partner Center-REST-APIs zu verwenden.

REST-Antwort

Bei erfolgreicher Ausführung enthält der Antworttext eine Sammlung von InventoryItem-Objekten , die mit den Einschränkungsdetails aufgefüllt sind, falls zutreffend.

Hinweis

Wenn ein Eingabeinventarelement ein Element darstellt, das im Katalog nicht gefunden werden konnte, wird es nicht in die Ausgabeauflistung einbezogen.

Erfolgs- und Fehlercodes der Antwort

Jede Antwort enthält einen HTTP-Statuscode, der Aufschluss darüber gibt, ob der Vorgang erfolgreich war, sowie ggf. zusätzliche Debuginformationen. Verwende ein Tool für die Netzwerkablaufverfolgung, um diesen Code, den Fehlertyp und zusätzliche Parameter zu lesen. Die vollständige Liste finden Sie unter Partner Center-Fehlercodes.

Beispielantwort

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