Freigeben über


Überprüfen des Bestands 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.

  • Eine oder mehrere Produkt-IDs. Optional können auch SKU-IDs angegeben werden.

  • Jeder zusätzliche Kontext, der zum Überprüfen des Bestands der SKUs erforderlich ist, auf die durch die bereitgestellten Produkt-/SKU-IDs verwiesen wird. Diese Anforderungen können je nach Typ des Produkts/der SKU variieren und können anhand der InventoryVariables-Eigenschaft der SKU bestimmt werden.

C#

Um den Bestand zu überprüfen, erstellen Sie ein InventoryCheckRequest-Objekt mit einem InventoryItem-Objekt für jedes zu überprüfende Element. Verwenden Sie dann einen IAggregatePartner.Extensions-Accessor , beschränken Sie ihn auf Product , und wählen Sie dann mit der ByCountry()- Methode das Land/die Region aus. Rufen Sie abschließend die CheckInventory()- Methode mit Ihrem 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
BEREITSTELLEN {baseURL}/v1/extensions/product/checkInventory?country={Ländercode} HTTP/1.1

URI-Parameter

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

Name Typ Erforderlich BESCHREIBUNG
Landesvorwahl Schnur Ja Eine Länder-/Regions-ID.

Anforderungsheader

Weitere Informationen finden Sie unter Partner Center REST-Header.

Anfragekörper

Die Details zur Bestandsanforderung, die aus einer InventoryCheckRequest-Ressource bestehen, die eine oder mehrere InventoryItem-Ressourcen enthält.

Stellen Sie sicher, dass das im Anforderungstext angegebene Azure-Abonnement registriert und für den Kauf von Azure-RIs aktiviert ist. Weitere Informationen zum Registrierungsprozess finden Sie unter Registrieren eines Abonnements .

Beispielanfrage

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

Von Bedeutung

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 Auflistung von InventoryItem-Objekten , die mit den Einschränkungsdetails aufgefüllt sind, sofern zutreffend.

Hinweis

Wenn ein Eingabe-InventoryItem ein Element darstellt, das nicht im Katalog gefunden werden konnte, wird es nicht in die Ausgabeauflistung aufgenommen.

Antworterfolgs- und Fehlercodes

Jede Antwort enthält einen HTTP-Statuscode, der Erfolg oder Fehler sowie zusätzliche Debuginformationen angibt. 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.

Antwortbeispiel

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