Obtener una lista de licencias disponibles según el grupo de licenciasGet a list of available licenses by license group

Se aplica aApplies To

  • Centro de partnersPartner Center

Cómo obtener una lista de licencias para los grupos de licencias especificados a disposición de los usuarios del cliente especificado.How to get a list of licenses for the specified license groups available to users of the specified customer.

Requisitos previosPrerequisites

  • Credenciales tal como se describen en el artículo Autenticación del Centro de partners.Credentials as described in Partner Center authentication. Este escenario admite la autenticación solo con credenciales de aplicación y usuario.This scenario supports authentication with App+User credentials only.

  • Un id. de cliente (customer-tenant-id).A customer ID (customer-tenant-id). Si no conoces el identificador del cliente, puedes buscarlo en el panel del Centro de partners.If you don't know the customer's ID, you can look it up in the Partner Center dashboard. Selecciona CSP en el menú del Centro de partners, seguido de Clientes.Select CSP from the Partner Center menu, followed by Customers. En la lista de clientes, selecciona el cliente y, a continuación, elige Cuenta.Select the customer from the customer list, then select Account. En la página Cuenta del cliente, busca el Id. de Microsoft en la sección Información de la cuenta del cliente.On the customer’s Account page, look for the Microsoft ID in the Customer Account Info section. El identificador de Microsoft es el mismo que el de cliente (customer-tenant-id).The Microsoft ID is the same as the customer ID (customer-tenant-id).

  • Una lista de uno o más identificadores de grupo de licencias.A list of one or more license group identifiers.

C#C#

Para obtener una lista de las licencias disponibles para los grupos de licencias especificados, comience por crear una instancia de una lista de tipo LicenseGroupIdy, a continuación, agregue los grupos de licencias a la lista.To get a list of available licenses for the specified license groups, start by instantiating a List of type LicenseGroupId, and then add the license groups to the list. A continuación, use el método colección iaggregatepartner. customers. ById con el identificador de cliente para identificar al cliente.Next, use the IAggregatePartner.Customers.ById method with the customer ID to identify the customer. A continuación, obtenga el valor de la propiedad SubscribedSkus para recuperar una interfaz para las operaciones de recopilación de SKU suscritas del cliente.Then, get the value of the SubscribedSkus property to retrieve an interface to customer subscribed SKU collection operations. Por último, pase la lista de grupos de licencias al método Get o GetAsync para recuperar la lista de SKU suscritas con detalles sobre las unidades de licencia disponibles.Finally, pass the list of license groups to the Get or GetAsync method to retrieve the list of subscribed SKUs with details on available license units.

// string selectedCustomerId;
// IAggregatePartner partnerOperations;

// To get subscribed SKUs available for group1, the license group for Azure Active Directory (AAD).
List<LicenseGroupId> licenseGroupIds = new List<LicenseGroupId>() { LicenseGroupId.Group1};
var customerUserAadSubscribedSkus = partnerOperations.Customers.ById(selectedCustomerId).SubscribedSkus.Get(licenseGroupIds);

// To get subscribed SKUs available for group2, the license group for Minecraft product licenses.
List<LicenseGroupId> licenseGroupIds = new List<LicenseGroupId>() { LicenseGroupId.Group2};
var customerUserSfbSubscribedSkus = partnerOperations.Customers.ById(selectedCustomerId).SubscribedSkus.Get(licenseGroupIds);

// To get both AAD and Minecraft subscribed SKUs.
List<LicenseGroupId> licenseGroupIds = new List<LicenseGroupId>() { LicenseGroupId.Group1, LicenseGroupId.Group2};
var customerUserBothAadAndSfbSubscribedSkus = partnerOperations.Customers.ById(selectedCustomerId).SubscribedSkus.Get(licenseGroupIds);

Solicitud RESTREST request

Sintaxis de la solicitudRequest syntax

MétodoMethod URI de la solicitudRequest URI
GETGET {baseurl}/v1/customers/{customer-ID}/subscribedskus? LicenseGroupIds = Grupo1 http/1.1{baseURL}/v1/customers/{customer-id}/subscribedskus?licenseGroupIds=Group1 HTTP/1.1
GETGET {baseurl}/v1/customers/{customer-ID}/subscribedskus? LicenseGroupIds = grupo2 http/1.1{baseURL}/v1/customers/{customer-id}/subscribedskus?licenseGroupIds=Group2 HTTP/1.1
GETGET {baseurl}/v1/customers/{customer-ID}/subscribedskus? LicenseGroupIds = Grupo1&LicenseGroupIds = grupo2 http/1.1{baseURL}/v1/customers/{customer-id}/subscribedskus?licenseGroupIds=Group1&licenseGroupIds=Group2 HTTP/1.1

Parámetro de URIURI parameter

Use la ruta de acceso y los parámetros de consulta siguientes para identificar el cliente y los grupos de licencias.Use the following path and query parameters to identify the customer and the license groups.

NombreName TipoType ObligatorioRequired DescripciónDescription
customer-idcustomer-id stringstring Yes Cadena con formato de GUID que identifica al cliente.A GUID formatted string that identifies the customer.
licenseGroupIdslicenseGroupIds stringstring NoNo Un valor de enumeración que indica el grupo de licencias de las licencias asignadas.An enum value that indicates the license group of the assigned licenses. Valores válidos: Grupo1, grupo2 Grupo1: este grupo tiene todos los productos cuya licencia se puede administrar en el Azure Active Directory (AAD).Valid values: Group1, Group2 Group1 - This group has all products whose license can be managed in the Azure Active Directory (AAD). Grupo2: este grupo solo tiene licencias de producto de Minecraft.Group2 - This group has only Minecraft product licenses.

Encabezados de solicitudRequest headers

Para obtener más información, consulta Encabezados REST del Centro de partners.For more information, see Partner Center REST headers.

Cuerpo de la solicitudRequest body

Ninguno.None.

Ejemplo de solicitudRequest example

GET https://api.partnercenter.microsoft.com/v1/customers/0c39d6d5-c70d-4c55-bc02-f620844f3fd1/subscribedskus?licenseGroupIds=Group1&licenseGroupIds=Group2 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: a1d077e4-28b1-4578-b873-6d1a82fa1644
MS-CorrelationId: c8cb5a60-ae08-4afc-92f0-efc42adfa186
X-Locale: en-US
Host: api.partnercenter.microsoft.com

Respuesta RESTREST response

Si se realiza correctamente, el cuerpo de respuesta contiene una colección de recursos SubscribedSku .If successful, the response body contains a collection of SubscribedSku resources.

Códigos de error y de respuesta correctosResponse success and error codes

Cada respuesta incluye un código de estado HTTP que indica si la operación se ha realizado correctamente o con errores y proporciona información de depuración adicional.Each response comes with an HTTP status code that indicates success or failure and additional debugging information. Use una herramienta de seguimiento de red para leer este código, el tipo de error y los parámetros adicionales.Use a network trace tool to read this code, error type, and additional parameters. Para obtener la lista completa, consulte códigos de error del centro de Partners.For the full list, see Partner Center error codes.

Ejemplo de respuestaResponse example

HTTP/1.1 200 OK
Content-Length: 4328
Content-Type: application/json; charset=utf-8
MS-CorrelationId: c8cb5a60-ae08-4afc-92f0-efc42adfa186
MS-RequestId: a1d077e4-28b1-4578-b873-6d1a82fa1644
MS-CV: S6Pd5XQAx0Ss/zQi.0
MS-ServerId: 030011719
Date: Sat, 10 Jun 2017 00:19:44 GMT

{
    "totalCount": 04,
    "items": [{
            "availableUnits": 15,
            "activeUnits": 15,
            "consumedUnits": 0,
            "suspendedUnits": 0,
            "totalUnits": 15,
            "warningUnits": 0,
            "productSku": {
                "id": "078d2b04-f1bd-4111-bbd4-b4b1b354cef4",
                "name": "Azure Active Directory Premium P1",
                "skuPartNumber": "AAD_PREMIUM",
                "targetType": "User",
                "licenseGroupId": "group1"
            },
            "servicePlans": [{
                    "displayName": "Exchange Foundation",
                    "serviceName": "EXCHANGE_S_FOUNDATION",
                    "id": "113feb6c-3fe4-4440-bddc-54d774bf0318",
                    "capabilityStatus": "Enabled",
                    "targetType": "Tenant"
                }, {
                    "displayName": "Azure Active Directory Premium P1",
                    "serviceName": "AAD_PREMIUM",
                    "id": "41781fb2-bc02-4b7c-bd55-b576c07bb09d",
                    "capabilityStatus": "Enabled",
                    "targetType": "User"
                }, {
                    "displayName": "Microsoft Azure Multi-Factor Authentication",
                    "serviceName": "MFA_PREMIUM",
                    "id": "8a256a2b-b617-496d-b51b-e76466e88db0",
                    "capabilityStatus": "Enabled",
                    "targetType": "User"
                }
            ],
            "capabilityStatus": "Enabled",
            "attributes": {
                "objectType": "SubscribedSku"
            }
        }, {
            "availableUnits": 1,
            "activeUnits": 1,
            "consumedUnits": 0,
            "suspendedUnits": 0,
            "totalUnits": 1,
            "warningUnits": 0,
            "productSku": {
                "id": "54b84594-9c77-4499-8d65-5e0d5f410e78",
                "name": "Dynamics AX Task",
                "skuPartNumber": "AX_TASK_USER",
                "targetType": "User",
                "licenseGroupId": "group1"
            },
            "servicePlans": [

            ],
            "capabilityStatus": "Enabled",
            "attributes": {
                "objectType": "SubscribedSku"
            }
        }, {
            "availableUnits": 23,
            "activeUnits": 72,
            "consumedUnits": 49,
            "suspendedUnits": 0,
            "totalUnits": 72,
            "warningUnits": 0,
            "productSku": {
                "id": "984df360-9a74-4647-8cf8-696749f6247a",
                "name": "Minecraft Education Edition Faculty",
                "skuPartNumber": "CFQ7TTC0K5DR/0002",
                "targetType": "User",
                "licenseGroupId": "group2"
            },
            "servicePlans": [

            ],
            "capabilityStatus": "Enabled",
            "attributes": {
                "objectType": "SubscribedSku"
            }
        }, {
            "availableUnits": 71,
            "activeUnits": 112,
            "consumedUnits": 41,
            "suspendedUnits": 0,
            "totalUnits": 112,
            "warningUnits": 0,
            "productSku": {
                "id": "1e7e1070-8ccb-4aca-b470-d7cb538cb07e",
                "name": "Windows 10 Enterprise E5",
                "skuPartNumber": "WIN_ENT_E5",
                "targetType": "User",
                "licenseGroupId": "group1"
            },
            "servicePlans": [{
                    "displayName": "Windows Defender Advanced Threat Protection",
                    "serviceName": "WINDEFATP",
                    "id": "871d91ec-ec1a-452b-a83f-bd76c7d770ef",
                    "capabilityStatus": "Enabled",
                    "targetType": "User"
                }, {
                    "displayName": "Windows 10 Enterprise E3",
                    "serviceName": "WIN10_PRO_ENT_SUB",
                    "id": "21b439ba-a0ca-424f-a6cc-52f954a5b111",
                    "capabilityStatus": "Enabled",
                    "targetType": "User"
                }
            ],
            "capabilityStatus": "Enabled",
            "attributes": {
                "objectType": "SubscribedSku"
            }
        }
    ],
    "attributes": {
        "objectType": "Collection"
    }
}

Ejemplo de respuesta (no se encontraron SKU coincidentes)Response example (no matching SKUs found)

Si no se encuentran SKU suscritas coincidentes para los grupos de licencias especificados, la respuesta contiene una colección vacía con un elemento totalCount cuyo valor es 0.If no matching subscribed SKUs can be found for the specified license groups, the response contains an empty collection with a totalCount element whose value is 0.

HTTP/1.1 200 OK
Content-Length: 71
Content-Type: application/json; charset=utf-8
MS-CorrelationId: c8cb5a60-ae08-4afc-92f0-efc42adfa186
MS-RequestId: a1d077e4-28b1-4578-b873-6d1a82fa1644
MS-CV: q05xrhUeDUKvhrFt.0
MS-ServerId: 030020525
Date: Fri, 09 Jun 2017 22:50:11 GMT

{
    "totalCount": 0,
    "items": [],
    "attributes": {
        "objectType": "Collection"
    }
}