Partager via


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