Vérifier l’inventaire des éléments de catalogue à l’aide des API de l’Espace partenaires
Comment vérifier l’inventaire pour un ensemble spécifique d’éléments de catalogue.
Prérequis
Informations d’identification, comme décrit dans Authentification auprès de l’Espace partenaires. Ce scénario prend en charge l’authentification avec les informations d’identification d’application et d’application+utilisateur autonomes.
Un ou plusieurs ID de produit. Si vous le souhaitez, les ID de référence SKU peuvent également être spécifiés.
Tout contexte supplémentaire nécessaire pour vérifier l’inventaire des références SKU référencées par le ou les ID de référence (SKU) fournis. Ces exigences peuvent varier selon le type de produit/référence SKU et peuvent être déterminées à partir de la propriété InventoryVariables de la référence SKU.
C#
Pour vérifier l’inventaire, générez un objet InventoryCheckRequest à l’aide d’un objet InventoryItem pour chaque élément à vérifier. Ensuite, utilisez un accesseur IAggregatePartner.Extensions, définissez-le sur Product, puis sélectionnez le pays/la région à l’aide de la méthode ByCountry(). Enfin, appelez la méthode CheckInventory() avec votre objet InventoryCheckRequest .
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);
Demande REST
Syntaxe de la requête
Méthode | URI de demande |
---|---|
POST | {baseURL}/v1/extensions/product/checkInventory ?country={country-code} HTTP/1.1 |
Paramètre d’URI
Utilisez le paramètre de requête suivant pour vérifier l’inventaire.
Nom | Type | Requise | Description |
---|---|---|---|
country-code | string | Oui | ID de pays/région. |
En-têtes de requête
Pour plus d’informations, consultez En-têtes REST de l’Espace Partenaires.
Corps de la demande
Détails de la demande d’inventaire, constitué d’une ressource InventoryCheckRequest contenant une ou plusieurs ressources InventoryItem .
Vérifiez que l’abonnement Azure spécifié dans le corps de la demande est inscrit et activé pour acheter des URI Azure. Consultez Inscrire un abonnement pour plus d’informations sur le processus d’inscription.
Exemple de requête
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"}}
Important
Depuis juin 2023, la dernière version du Kit de développement logiciel (SDK) .NET de l’Espace partenaires version 3.4.0 est désormais archivée. Vous pouvez télécharger la version du SDK à partir de GitHub, ainsi qu’un fichier lisezmoi contenant des informations utiles.
Les partenaires sont encouragés à continuer à utiliser les API REST de l’Espace partenaires.
Réponse REST
Si elle réussit, le corps de la réponse contient une collection d’objets InventoryItem renseignés avec les détails de restriction, le cas échéant.
Remarque
Si un inventoryItem d’entrée représente un élément introuvable dans le catalogue, il n’est pas inclus dans la collection de sorties.
Codes d’erreur et de réussite de la réponse
Chaque réponse est accompagnée d’un code d’état HTTP qui indique la réussite ou l’échec ainsi que des informations de débogage supplémentaires. Utilisez un outil de trace réseau pour lire ce code, le type d’erreur et des paramètres supplémentaires. Pour obtenir la liste complète, consultez les codes d’erreur de l’Espace partenaires.
Exemple de réponse
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": []
}
]