Transición a una nueva suscripción comercial

Se aplica a: Centro de partners | Centro de partners operado por 21Vianet | Centro de partners para Microsoft Cloud for US Government

Roles adecuados

  • Administrador global
  • Agente de administración

Estos métodos admiten suscripciones de origen de comercio tradicionales y nuevas.

Nota:

Las nuevas experiencias comerciales para los servicios basados en licencias incluyen muchas funcionalidades nuevas y están disponibles para todos los Proveedor de soluciones en la nube (CSP). Para más información, consulte Introducción a las nuevas experiencias comerciales.

Se usa para actualizar la nueva suscripción comercial de un cliente a una suscripción de destino o convertir una evaluación de NCE en una suscripción de pago. Para realizar la transición de una suscripción, se deben realizar dos solicitudes de API. En primer lugar , get las transiciones aptas para obtener las SKU disponibles para la actualización. A continuación, post transición para ejecutar la transición.

Obtención de los requisitos de transición

Devuelve una lista de transiciones aptas para un cliente determinado, una suscripción y un tipo solicitado. También devuelve la idoneidad de actualización de la suscripción de destino. Los requisitos de transición pueden incluir ofertas que se encuentran en el estado EndofSaleWithConversions.

Requisitos previos

  • Credenciales tal como se describen en el artículo Autenticación del Centro de partners. Este escenario admite la autenticación con credenciales de aplicación independiente y app+usuario.

  • Un id. de cliente (customer-tenant-id). Si no conoce el identificador del cliente, puede buscarlo en el Centro de partners seleccionando el área de trabajo Clientes , luego el cliente de la lista de clientes y, a continuación , Cuenta. En la página Cuenta del cliente, busque el identificador de Microsoft en la sección Información de la cuenta de cliente. El id. de Microsoft es el mismo que el de cliente (customer-tenant-id).

  • Identificador de suscripción para la suscripción inicial.

Roles de GDAP

Necesitará al menos uno de los siguientes roles de GDAP:

  • Lector del directorio
  • Lector global

Nota:

Aunque esta API está disponible para NCE y heredada, GDAP solo es necesaria para la versión heredada.

Solicitud REST

Sintaxis de la solicitud

Método URI de solicitud
GET {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitionEligibilities?eligibilityType={immediate, scheduled} HTTP/1.1

Parámetro de URI

Use los siguientes parámetros de consulta para devolver transiciones aptas.

Nombre Type Obligatorio Descripción
customer-tenant-id guid Y GUID correspondiente al inquilino del cliente.
subscription-id guid Y Guid correspondiente a la suscripción inicial.
eligibilityType string N Describe cuándo se va a ejecutar la transición; puede ser inmediato o programado. El valor predeterminado es Immediate.

Encabezados de solicitud

Para obtener más información, consulta Encabezados REST del Centro de partners.

Cuerpo de la solicitud

None

Ejemplo de solicitud

GET https://api.partnercenter.microsoft.com/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitionEligibilities?eligibilityType=immediate HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
MS-CorrelationId: 81b08ffe-4cf8-49cd-82db-5c2fb0a8e132
X-Locale: en-US

Respuesta REST

Si se ejecuta correctamente, este método devuelve una lista de las transiciones aptas para la suscripción especificada en el cuerpo de la respuesta.

Códigos de error y de respuesta correctos

Cada respuesta incluye un código de estado HTTP que indica éxito o error y más información de depuración. Use una herramienta de seguimiento de red para leer este código, tipo de error y otros parámetros. Para obtener la lista completa, consulte Códigos de error.

Errores de idoneidad

Descripciones de errores y significado.

Descripción del error Significado
No se puede realizar la transición de la suscripción: la suscripción de origen no está activa. Subestado original no activo
No se puede realizar la transición de la suscripción: la suscripción de origen aún no se ha aprovisionado. El sub fulfillmentState original no se realiza correctamente
El tipo de transición no es compatible: se requiere la asignación de suscripciones de AzureAD. Error LegacyCannotConvertSubscriptionId al llamar a GetSubscriptionUpgradeConflicts
El tipo de transición no es compatible: existen suscripciones en conflicto para la transferencia de licencias. Si algún servicio de Microsoft Entra tiene identificadores de suscripción de otra suscripción, agréguelo a la lista de conflictos (incluye las compras realizadas con flujo de compra heredado o moderno).

Errores de idoneidad de la suscripción

Si una suscripción de destino no es apta para actualizarse, se devolverá una de las siguientes razones.

Se devolverán listas vacías si la suscripción de origen es una versión de prueba o si el tipo de idoneidad se especifica como Programado. Solo puede realizar la transición a una suscripción existente con una transición inmediata (también conocida como "midterm"), no a un cambio programado.

Descripción del error Código de error
La suscripción no está activa. SubscriptionNotActive = 1
La suscripción está dentro de la ventana de cancelación. SubscriptionInCancellationWindow = 2
La duración del período de suscripción es menor que la duración del período de la suscripción de origen. SubscriptionTermDurationShorterThanSourceTermDuration = 3
La fecha de finalización del período de suscripción es anterior a la fecha de finalización del período de la suscripción de origen. La fecha de finalización del período de suscripción es anterior a la fecha de finalización del período de la suscripción de origen. = 4

Ejemplo de respuesta

HTTP/1.1 200 OK
Content-Length: 138
Content-Type: application/json
MS-CorrelationId: 81b08ffe-4cf8-49cd-82db-5c2fb0a8e132
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
Date: Fri, 26 Feb 2021 20:42:26 GMT

{
  "totalCount": 2,
  "items": [
    {
      "operationId": "1caf8ec7-62cc-4ab5-b35d-572d2a62974c",
      "catalogItemId": "CFQ7TTC0KZCR:0001:CFQ7TTC0K71H",
      "title": "Microsoft 365 E5 Test Sku Title",
      "description": "Microsoft 365 E5 Test Sku Description",
      "quantity": 1,
      "subscriptionEligibilities": [
        {
          "isEligible": false,
          "subscriptionId": "92301b7d-7598-4938-d6f2-d31e080e9da6",
          "subscriptionFriendlyName": "Microsoft 365 Business Premium",
          "subscriptionTermDuration": "P1M",
          "subscriptionBillingCycle": "monthly",
          "errors": [
            {
              "code": 3,
              "description": "The subscription's term duration is shorter than the source subscription's term duration."
            }
          ]
        },
        {
          "isEligible": true,
          "subscriptionId": "151467a1-4246-4a00-da7b-3405463d9b78",
          "subscriptionFriendlyName": "Microsoft 365 Business Premium",
          "subscriptionTermDuration": "P1Y",
          "subscriptionBillingCycle": "monthly",
          "errors": []
        }
      ],
      "eligibilities": [
        {
          "isEligible": true,
          "transitionType": "transition_only",
          "errors": []
        },
        {
          "isEligible": false,
          "transitionType": "transition_with_license_transfer",
          "errors": [
            {
              "code": 3,
              "description": "Subscription cannot be transitioned because there are conflicting services."
            }
          ]
        }
      ],
      "attributes": {
        "objectType": "TransitionEligibility"
      }
    },
    {
      "operationId": "1caf8ec7-62cc-4ab5-b35d-572d2a62974c",
      "catalogItemId": "CFQ7TTC0L4M3:0001:CFQ7TTC0K78T",
      "title": "Business Premium Test Sku Title",
      "description": "Business Premium Test Sku Description",
      "quantity": 1,
      "eligibilities": [
        {
          "isEligible": false,
          "transitionType": "transition_with_license_transfer",
          "errors": [
            {
              "code": 3,
              "description": "Subscription cannot be transitioned because there are conflicting services."
            }
          ]
        }
      ],
      "attributes": {
        "objectType": "TransitionEligibility"
      }
    }
  ],
  "attributes": {
    "objectType": "Collection"
  }
}

Transición posterior

Publica una solicitud de transición para un cliente y una suscripción determinado. Devuelve la transición con su estado inicial.

Requisitos previos

  • Credenciales tal como se describen en el artículo Autenticación del Centro de partners. Este escenario admite la autenticación con credenciales de aplicación independiente y app+usuario.

  • Un id. de cliente (customer-tenant-id). Si no conoce el identificador del cliente, puede buscarlo en el Centro de partners seleccionando el área de trabajo Clientes , luego el cliente de la lista de clientes y, a continuación , Cuenta. En la página Cuenta del cliente, busque el identificador de Microsoft en la sección Información de la cuenta de cliente. El id. de Microsoft es el mismo que el de cliente (customer-tenant-id).

  • Identificador de suscripción para la suscripción inicial.

Roles de GDAP

Necesitará al menos uno de los siguientes roles de GDAP:

  • Lector de directorios o lector global (solo transición)
  • Escritor de directorios (transición con transferencia de licencia)

Nota:

Aunque esta API está disponible para NCE y heredada, GDAP solo es necesaria para la versión heredada.

Solicitud REST

Sintaxis de la solicitud

Método URI de solicitud
POST {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitions HTTP/1.1

Parámetro de URI

Use los siguientes parámetros de consulta para ejecutar una transición.

Nombre Type Obligatorio Descripción
customer-tenant-id guid Y GUID correspondiente al inquilino del cliente.
subscription-id guid Y Guid correspondiente a la suscripción inicial.

Encabezados de solicitud

Para obtener más información, consulta Encabezados REST del Centro de partners.

Cuerpo de la solicitud

En esta tabla se describen las propiedades Transition del cuerpo de la solicitud.

Propiedad Type Obligatorio Descripción
fromCatalogItemId string No Elemento de catálogo desde el que va a realizar la transición.
fromSubscriptionId string No Identificador de suscripción desde el que va a realizar la transición.
toCatalogItemId string Elemento de catálogo al que va a realizar la transición.
toSubscriptionId string No Identificador de suscripción al que va a realizar la transición.
quantity integer Número de licencias en las que se va a realizar la transición.
termDuration string No Especificar la duración del período de la suscripción.
billingCycle string No Especificar el ciclo de facturación de la suscripción.
transitionType string Tipo de transición. Valores posibles: transition_only, transition_with_license_transfer.

Ejemplo de solicitud

POST https://api.partnercenter.microsoft.com/v1/customers/{customerId}/subscriptions/{subscriptionId}/transitions HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
MS-CorrelationId: 81b08ffe-4cf8-49cd-82db-5c2fb0a8e132
X-Locale: en-US

{
    "fromCatalogItemId": "CFQ7TTC0LF8Q:0001:CFQ7TTC0K39X",
    "fromSubscriptionId": "e487e8dc-421e-4275-cb42-3c1c8daccf70",
    "toCatalogItemId": "CFQ7TTC0LF8R:0001:CFQ7TTC0KCSV",
    "toSubscriptionId": "0af52192-4a2a-4364-d25b-c8ecab3a5697",
    "quantity": 2,
    "termDuration": "P1M",
    "billingCycle": "Monthly",
    "transitionType": "transition_only"
}

Respuesta REST

Si se ejecuta correctamente, este método devuelve un recurso Transition con su estado inicial.

Códigos de error y de respuesta correctos

Cada respuesta incluye un código de estado HTTP que indica éxito o error y más información de depuración. Use una herramienta de seguimiento de red para leer este código, tipo de error y otros parámetros. Para obtener la lista completa, consulte Códigos de error.

Ejemplo de respuesta

HTTP/1.1 200 OK
Content-Length: 138
Content-Type: application/json
MS-CorrelationId: 81b08ffe-4cf8-49cd-82db-5c2fb0a8e132
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
Date: Fri, 26 Feb 2021 20:42:26 GMT

{
    "fromCatalogItemId": "CFQ7TTC0LF8Q:0001:CFQ7TTC0K39X",
    "fromSubscriptionId": "e487e8dc-421e-4275-cb42-3c1c8daccf70",
    "toCatalogItemId": "CFQ7TTC0LF8R:0001:CFQ7TTC0KCSV",
    "toSubscriptionId": "0af52192-4a2a-4364-d25b-c8ecab3a5697",
    "quantity": 2,
    "termDuration": "P1M",
    "billingCycle": "Monthly",
    "transitionType": "transition_only"
    "Events": [
        {
            "name": "Conversion",
            "status": "Started ",
            "timestamp": "2021-01-08T18:01:14.7488618Z",
            "attributes":
            {
                "objectType": "TransitionEvent"
            }
        }
    ],
    "attributes":
    {
        "objectType": "Transition" 
    }
}