Partager via


Vérifier l’inventaire des articles de catalogue à l’aide des API de l’Espace partenaires

Comment vérifier l’inventaire pour un ensemble spécifique d’articles de catalogue.

Conditions préalables

  • Informations d’identification décrites dans l’authentification de l’Espace partenaires. Ce scénario prend en charge l'authentification avec des identifiants d'application autonomes ainsi que des identifiants combinés application+utilisateur.

  • Un ou plusieurs ID de produit. Si vous le souhaitez, vous pouvez également spécifier des ID de SKU.

  • Tout contexte supplémentaire nécessaire pour vérifier l’inventaire des SKU référencés par les ID de produit/SKU fournis. Ces exigences peuvent varier selon le type de produit/SKU et peuvent être déterminées à partir de la propriété InventoryVariablesdu SKU.

C#

Pour vérifier l’inventaire, créez un objet InventoryCheckRequest à l’aide d’un objet InventoryItem pour chaque élément à vérifier. Ensuite, utilisez un accesseur IAggregatePartner.Extensions , limitez-le à 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);

Requête REST

Syntaxe de la requête

Méthode URI de la requête
PUBLIER {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 Catégorie Obligatoire Descriptif
code-pays ficelle Oui Un identifiant 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 requête

Les détails de la demande de stock, constitués d’une ressource InventoryCheckRequest contenant une ou plusieurs ressources InventoryItem .

Assurez-vous que l’abonnement Azure spécifié dans le corps de la demande est inscrit et activé pour l’achat d’instances réservées Azure. Voir Enregistrer un abonnement pour plus de détails 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 de la release du SDK à partir de GitHub, ainsi qu'un fichier README contenant des informations utiles.

Les partenaires sont encouragés à continuer à utiliser les API REST du Partner Center.

Réponse REST

En cas de réussite, le corps de la réponse contient une collection d’objets InventoryItem renseignés avec les détails de la restriction, le cas échéant.

Remarque

Si un InventoryItem d’entrée représente un élément introuvable dans le catalogue, il ne sera pas inclus dans la collection de sortie.

Réussite de la réponse et codes d’erreur

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 suivi réseau pour lire ce code, le type d’erreur et les paramètres supplémentaires. Pour la liste complète, consultez les Codes d'erreur du Centre des 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": []
    }
]