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