Obtenir une collection de droitsGet a collection of entitlements

S’applique àApplies To

  • Espace partenairesPartner Center

Comment obtenir une collection de droits.How to get a collection of entitlements.

PrérequisPrerequisites

  • Informations d’identification, comme décrit dans Authentification auprès de l’Espace partenaires.Credentials as described in Partner Center authentication. Ce scénario prend en charge l’authentification avec les informations d’identification de l’application et de l’utilisateur.This scenario supports authentication with App+User credentials.

  • ID du client (customer-tenant-id).A customer ID (customer-tenant-id). Si vous ne connaissez pas l’ID du client, vous pouvez le rechercher dans le tableau de bord de l’Espace partenaires.If you don't know the customer's ID, you can look it up in the Partner Center dashboard. Sélectionnez CSP dans le menu Espace partenaires, puis Clients.Select CSP from the Partner Center menu, followed by Customers. Sélectionnez le client dans la liste des clients, puis Compte.Select the customer from the customer list, then select Account. Dans la page du compte du client, recherchez l’ID Microsoft dans la section Informations sur le compte client.On the customer’s Account page, look for the Microsoft ID in the Customer Account Info section. L’ID Microsoft est le même que l’ID de client (customer-tenant-id).The Microsoft ID is the same as the customer ID (customer-tenant-id).

C#C#

Pour obtenir une collection de droits pour un client, obtenez une interface pour les opérations d' habilitation en appelant la méthode collection iaggregatepartner. Customers. méthode BYID () avec l’ID client pour identifier le client.To get an entitlements collection for a customer, obtain an interface to Entitlement operations by calling the IAggregatePartner.Customers.ById() method with the customer ID to identify the customer. Ensuite, récupérez l’interface à partir de la propriété des droits et appelez la méthode obtenir () ou GetAsync () pour récupérer la collection de droits.Then, retrieve the interface from the Entitlements property and call the Get() or GetAsync() method to retrieve the collection of entitlements.

IAggregatePartner partnerOperations;
string customerId;

// Get the collection of entitlements.
var entitlements = partnerOperations.Customers.ById(customerId).Entitlements.Get();

Pour remplir les dates d’expiration des droits à récupérer, appelez les mêmes méthodes ci-dessus et définissez le paramètre booléen facultatif showExpiry sur true (vrai) ou GetAsync (true).To populate expiry dates for the entitlements to be retrieved, call the same methods above and set the optional boolean parameter showExpiry to true Get(true) or GetAsync(true). Cela indique que les dates d’expiration des droits sont requises (le cas échéant).This indicates that entitlement expiry dates are required (when applicable).

Important

Les types de droits locaux n’ont pas de dates d’expiration.On-premise entitlement types do not have expiry dates.

Demande RESTREST request

Syntaxe de la requêteRequest syntax

MéthodeMethod URI de requêteRequest URI
GETGET {baseURL}/v1/Customers/{CustomerID}/Entitlements http/1.1{baseURL}/v1/customers/{customerId}/entitlements HTTP/1.1

Paramètres URIURI parameters

Utilisez le chemin d’accès et les paramètres de requête suivants lors de la création de la demande.Use the following path and query parameters when creating the request.

NomName TypeType ObligatoireRequired DescriptionDescription
customerIdcustomerId stringstring OuiYes GUID au format customerId qui identifie le client.A GUID formatted customerId that identifies the customer.
entitlementTypeentitlementType stringstring NonNo Peut être utilisé pour spécifier le type de droits à récupérer (Software ou reservedInstance ).Can be used to specify the type of entitlements to be retrieved (software or reservedInstance ). Si la valeur n’est pas définie, tous les types sont récupérésIf not set, all types will be retrieved
showExpiryshowExpiry booleanboolean NonNo Indicateur facultatif qui indique si les dates d’expiration des droits sont requises.Optional flag which indicates if entitlements expiry dates are required.

En-têtes de requêteRequest headers

Pour plus d’informations, consultez En-têtes REST de l’Espace Partenaires.For more information, see Partner Center REST headers.

Corps de demandeRequest body

Aucun.None.

Exemple de requêteRequest example

GET https://api.partnercenter.microsoft.com/v1/customers/18ac2950-8ea9-4dfc-92a4-ff4d4cd57796/entitlements HTTP/1.1
Authorization: Bearer <Token>
Accept: application/json
MS-RequestId: cdc428d2-035b-41c4-9a32-e643c4471cbd
MS-CorrelationId: 799eee8d-07d1-452a-a035-388259df137c
X-Locale: en-US
Host: api.partnercenter.microsoft.com

Réponse RESTREST response

En cas de réussite, le corps de la réponse contient une collection de ressources de droits .If successful, the response body contains a collection of Entitlement resources.

Codes d’erreur et de réussite de la réponseResponse success and error codes

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.Each response comes with an HTTP status code that indicates success or failure and additional debugging information. Utilisez un outil de trace réseau pour lire ce code, le type d’erreur et des paramètres supplémentaires.Use a network trace tool to read this code, error type, and additional parameters. Pour obtenir la liste complète, consultez Codes d’erreur.For the full list, see Error Codes.

Exemple de réponseResponse example

HTTP/1.1 200 OK
Content-Length: 103778
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 799eee8d-07d1-452a-a035-388259df137c
MS-RequestId: cdc428d2-035b-41c4-9a32-e643c4471cbd
X-Locale: en-US
MS-CV: EjFdw8fCpkKyMyza.0
MS-ServerId: 000002
Date: Mon, 19 Mar 2018 07:42:51 GMT

{
  "totalCount": 2,
  "items": [
    {
      "includedEntitlements": [],
      "referenceOrder": {
        "id": "KaJ8XvkKc_GoNZOUyjVaRJalTBN5MWdV1",
        "lineItemId": "0"
      },
      "productId": "DZH318Z0BQ3W",
      "quantity": 1,
      "entitledArtifacts": [
        {
          "link": {
            "uri": "/customers/18ac2950-8ea9-4dfc-92a4-ff4d4cd57796/artifacts/reservedinstance/groups/2caf524395724e638ef64e109f1f79ca/lineitems/03500b1b-f2d6-4e23-ab4b-9fd67b917012/resource/ebf2e74b-630e-4a09-857d-a1f6c6351336",
            "method": "GET",
            "headers": []
          },
          "resourceId": "ebf2e74b-630e-4a09-857d-a1f6c6351336",
          "artifactType": "reservedinstance"
        }
      ],
      "skuId": "007J",
      "entitlementType": "reservedinstance"
      "dynamicAttributes": {
               "reservationType": "virtualmachines"
        }
    },
    {
      "includedEntitlements": [
        {
          "includedEntitlements": [],
          "referenceOrder": {
              "id": "NUXMSvmS20EQ4kFsZmzkSqb747fqKmNk1",
              "lineItemId": "0"
          },
          "productId": "DG7GMGF0DWTJ",
          "quantity": 1,
          "entitledArtifacts": [],
          "skuId": "0001",
          "entitlementType": "software"
        },
        {
          "includedEntitlements": [],
          "referenceOrder": {
            "id": "NUXMSvmS20EQ4kFsZmzkSqb747fqKmNk1",
            "lineItemId": "0"
          },
            "productId": "DG7GMGF0DWLG",
            "quantity": 1,
            "entitledArtifacts": [],
            "skuId": "0002",
            "entitlementType": "software"
          }
        ],
        "referenceOrder": {
          "id": "NUXMSvmS20EQ4kFsZmzkSqb747fqKmNk1",
          "lineItemId": "0"
        },
        "productId": "DG7GMGF0DWTK",
        "quantity": 1,
        "entitledArtifacts": [],
        "skuId": "0002",
        "entitlementType": "software"
    }
  ],
  "attributes": {
    "objectType": "Collection"
  }
}

Autres exemplesAdditional Examples

L’exemple suivant montre comment récupérer un type spécifique de droits avec des dates d’expiration (le cas échéant)The following example shows you how to retrieve a specific type of entitlements along with expiry dates (when applicable)

#Exemple CC# example

Pour récupérer un type spécifique de droits, obtenez l’interface ByEntitlementType à partir de l’interface des droits et utilisez les méthodes d' obtention () ou de GetAsync () .To retrieve a specific type of entitlements, obtain the ByEntitlementType interface from the Entitlements interface and use the Get() or GetAsync() methods.

ResourceCollection<Entitlement> entitlements = partnerOperations.Customers.ById(selectedCustomerId).Entitlements.ByEntitlementType("software").Get(true);

Exemple de requêteRequest example

GET https://api.partnercenter.microsoft.com/v1/customers/de3dcef9-9991-459c-ac71-2903d1127414/entitlements?entitlementtype=software&showExpiry=true
Authorization: Bearer <Token>
Accept: application/json
MS-RequestId: 6517a410-67ce-4995-9bb7-116a52179f92
MS-CorrelationId: d9eb8194-9b99-4057-a2fe-98bdf05f013c
X-Locale: en-US
Host: api.partnercenter.microsoft.com

Exemple de réponseResponse example

HTTP/1.1 200 OK
Content-Length: 1791
Content-Type: application/json; charset=utf-8
MS-CorrelationId: d9eb8194-9b99-4057-a2fe-98bdf05f013c
MS-RequestId: 6517a410-67ce-4995-9bb7-116a52179f92
X-Locale: en-US
MS-CV: yD+4LBKePUSp/vqJ.0
MS-ServerId: 000002
Date: Mon, 28 Jan 2019 18:31:43 GMT

{
    "totalCount": 2,
    "items": [
        {
            "includedEntitlements": [
                {
                    "includedEntitlements": [],
                    "referenceOrder": {
                        "id": "4teYMtWYEeKM77JftGLIQYMOZPTwyOEV1",
                        "lineItemId": "0",
                        "alternateId": "8f3af3dea1ea"
                    },
                    "productId": "DG7GMGF0DWM2",
                    "quantity": 1,
                    "entitledArtifacts": [],
                    "skuId": "0001",
                    "entitlementType": "software"
                },
                {
                    "includedEntitlements": [],
                    "referenceOrder": {
                        "id": "4teYMtWYEeKM77JftGLIQYMOZPTwyOEV1",
                        "lineItemId": "0",
                        "alternateId": "8f3af3dea1ea"
                    },
                    "productId": "DG7GMGF0DWMK",
                    "quantity": 1,
                    "entitledArtifacts": [],
                    "skuId": "0001",
                    "entitlementType": "software"
                }
            ],
            "referenceOrder": {
                "id": "4teYMtWYEeKM77JftGLIQYMOZPTwyOEV1",
                "lineItemId": "0",
                "alternateId": "8f3af3dea1ea"
            },
            "productId": "DG7GMGF0DWM3",
            "quantity": 1,
            "entitledArtifacts": [],
            "skuId": "0002",
            "entitlementType": "software"
        },
        {
            "includedEntitlements": [
                {
                    "includedEntitlements": [],
                    "referenceOrder": {
                        "id": "4teYMtWYEeKM77JftGLIQYMOZPTwyOEV1",
                        "lineItemId": "1",
                        "alternateId": "8f3af3dea1ea"
                    },
                    "productId": "DG7GMGF0DWV1",
                    "quantity": 1,
                    "entitledArtifacts": [],
                    "skuId": "0002",
                    "entitlementType": "software"
                },
                {
                    "includedEntitlements": [],
                    "referenceOrder": {
                        "id": "4teYMtWYEeKM77JftGLIQYMOZPTwyOEV1",
                        "lineItemId": "1",
                        "alternateId": "8f3af3dea1ea"
                    },
                    "productId": "DG7GMGF0DWV2",
                    "quantity": 1,
                    "entitledArtifacts": [],
                    "skuId": "0002",
                    "entitlementType": "software"
                }
            ],
            "referenceOrder": {
                "id": "4teYMtWYEeKM77JftGLIQYMOZPTwyOEV1",
                "lineItemId": "1",
                "alternateId": "8f3af3dea1ea"
            },
            "productId": "DG7GMGF0DWBQ",
            "quantity": 1,
            "entitledArtifacts": [],
            "skuId": "0003",
            "entitlementType": "software",
            "expiryDate": "2022-01-28T00:00:00Z"
        }
    ],
    "attributes": {
        "objectType": "Collection"
    }
}

Les exemples suivants montrent comment récupérer des informations sur les produits et les réservations d’un droit.The following examples show you how to retrieve information about products and reservations from an entitlement.

Récupérer les détails de réservation d’ordinateur virtuel d’un droit à l’aide du kit de développement logiciel (SDK) V 1.8Retrieve virtual machine reservation details from an entitlement by using SDK V1.8

#Exemple CC# example

Pour obtenir plus de détails relatifs aux réservations de machines virtuelles d’un droit, appelez l’URI exposé sous entitledArtifacts. Link avec artifactType = virtual_machine_reserved_instance.To retrieve more details related to the virtual machine reservations from an entitlement, invoke the URI exposed under entitledArtifacts.link with artifactType = virtual_machine_reserved_instance .

ResourceCollection<Entitlement> entitlements = partnerOperations.Customers.ById(selectedCustomerId).Entitlements.ByEntitlementType("VirtualMachineReservedInstance").Get();

((VirtualMachineReservedInstanceArtifact)entitlements.First().EntitledArtifacts.First(x => x.Type == ArtifactType.VirtualMachineReservedInstance)).Link.InvokeAsync<VirtualMachineReservedInstanceArtifactDetails>(partnerOperations)

Exemple de requêteRequest example

GET https://api.partnercenter.microsoft.com/v1/customers/18ac2950-8ea9-4dfc-92a4-ff4d4cd57796/artifacts/virtualmachinereservedinstance/groups/2caf524395724e638ef64e109f1f79ca/lineitems/03500b1b-f2d6-4e23-ab4b-9fd67b917012/resource/ebf2e74b-630e-4a09-857d-a1f6c6351336 HTTP/1.1
Authorization: Bearer <Token>
Accept: application/json
MS-RequestId: cdc428d2-035b-41c4-9a32-e643c4471cbd
MS-CorrelationId: 799eee8d-07d1-452a-a035-388259df137c
X-Locale: en-US
Host: api.partnercenter.microsoft.com

Exemple de réponseResponse example

HTTP/1.1 200 OK
Content-Length: 368
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 799eee8d-07d1-452a-a035-388259df137c
MS-RequestId: cdc428d2-035b-41c4-9a32-e643c4471cbd
X-Locale: en-US
MS-CV: yrdTGsZ7IU2v9okv.0
MS-ServerId: 000002
Date: Mon, 19 Mar 2018 07:45:14 GMT

{
  "type": "virtual_machine_reserved_instance",
  "virtualMachineReservations": [
    {
      "reservationId": "99f320db-c029-4c1b-a157-dad76e4481b6",
      "scopeType": "Shared",
      "quantity": 1,
      "expiryDateTime": "2019-02-23T00:00:00",
      "effectiveDateTime": "2018-02-23T18:15:24.6724884Z",
      "provisioningState": "Created"
    }
  ]
}

Récupérer les détails de la réservation d’un droit à l’aide du kit de développement logiciel (SDK) V 1.9Retrieve reservation details from an entitlement by using SDK V1.9

#Exemple CC# example

Pour obtenir plus de détails relatifs aux réservations d’un droit d’instance réservé, appelez l’URI exposé sous entitledArtifacts.link avec artifactType = reservedinstance .To retrieve more details related to the reservations from a reserved instance entitlement, invoke the URI exposed under entitledArtifacts.link with artifactType = reservedinstance.

ResourceCollection<Entitlement> entitlements = partnerOperations.Customers.ById(selectedCustomerId).Entitlements.ByEntitlementType("ReservedInstance").Get();

((ReservedInstanceArtifact)entitlements.First().EntitledArtifacts.First(x => x.Type == ArtifactType.ReservedInstance)).Link.InvokeAsync<ReservedInstanceArtifactDetails>(partnerOperations);

Exemple de requêteRequest example

GET https://api.partnercenter.microsoft.com/v1/customers/18ac2950-8ea9-4dfc-92a4-ff4d4cd57796/artifacts/reservedinstance/groups/2caf524395724e638ef64e109f1f79ca/lineitems/03500b1b-f2d6-4e23-ab4b-9fd67b917012/resource/ebf2e74b-630e-4a09-857d-a1f6c6351336 HTTP/1.1
Authorization: Bearer <Token>
Accept: application/json
MS-RequestId: cdc428d2-035b-41c4-9a32-e643c4471cbd
MS-CorrelationId: 799eee8d-07d1-452a-a035-388259df137c
X-Locale: en-US
Host: api.partnercenter.microsoft.com

Exemple de réponseResponse example

HTTP/1.1 200 OK
Content-Length: 368
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 799eee8d-07d1-452a-a035-388259df137c
MS-RequestId: cdc428d2-035b-41c4-9a32-e643c4471cbd
X-Locale: en-US
MS-CV: yrdTGsZ7IU2v9okv.0
MS-ServerId: 000002
Date: Mon, 19 Mar 2018 07:45:14 GMT

{
  "type": "reservedinstance",
  "virtualMachineReservations": [
    {
      "reservationId": "99f320db-c029-4c1b-a157-dad76e4481b6",
      "scopeType": "Shared",
      "quantity": 1,
      "expiryDateTime": "2019-02-23T00:00:00",
      "effectiveDateTime": "2018-02-23T18:15:24.6724884Z",
      "provisioningState": "Created"
    }
  ]
}

Consommateurs d’APIAPI Consumers

Partenaires qui utilisent l’API pour interroger les droits de l’instance réservée de machine virtuelle : mettez à jour l’URI de la demande de /Customers/{CustomerID}/Entitlements à/Customers/{CustomerID}/Entitlements ? entitlementType = virtualmachinereservedinstance pour assurer la compatibilité descendante.Partners who are using the API to query virtual machine reserved instance entitlements - Update the request URI from /customers/{customerId}/entitlements to /customers/{customerId}/entitlements?entitlementType=virtualmachinereservedinstance to maintain backward compatibility. Pour utiliser l’ordinateur virtuel ou SQL Azure avec contrat amélioré, mettez à jour l’URI de la demande vers /Customers/{CustomerID}/Entitlements ? entitlementType = reservedinstance.In order to consume virtual machine or Azure SQL with enhanced contract, update the request URI to /customers/{customerId}/entitlements?entitlementType=reservedinstance.