Transición a una nueva suscripción comercial

Se aplica a: Centro de socios | Centro de socios operado por 21Vianet | Centro de socios para Microsoft Cloud para la Administración Pública de EE. UU.

Roles adecuados

  • Agente de administración

Estos métodos admiten suscripciones a orígenes de comercio tanto tradicionales como nuevos.

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 información general sobre 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. Primero, obtén las transiciones válidas mediante GET para conocer las SKU disponibles para la actualización. A continuación, la transición POST para ejecutar la transición.

Ver condiciones de elegibilidad para la transición

Devuelve una lista de transiciones aptas para un cliente determinado, una suscripción y un tipo solicitado. También devuelve la elegibilidad para la 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 ID del cliente, puede buscarlo en Partner Center 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 ID 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 universal

Nota:

Aunque esta API está disponible para legacy y NCE, GDAP solo se requiere para legacy.

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 Tipo 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 cadena N Describe cuándo se va a ejecutar la transición; puede ser inmediato o programado. El valor predeterminado es Immediate.

Cabeceras de solicitud

Para obtener más información, consulta Encabezados REST de Partner Center.

Cuerpo de la solicitud

Ninguno

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: aaaa0000-bb11-2222-33cc-444444dddddd
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 éxito y error de respuesta

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 consultar 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. El estado original de la suscripción no está activo
No se puede realizar la transición de la suscripción: la suscripción de origen aún no se ha aprovisionado. El subestado FulfillmentState original no es correcto
El tipo de transición no es compatible: se requiere asignación de suscripciones de AzureAD. Error de 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 elegibilidad 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 suscripción de prueba o si eligibilityType se especifica como Scheduled. Solo se puede pasar a una suscripción existente mediante una transición inmediata (también denominada "midterm"), no mediante 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. SuscripciónEnVentanaDeCancelación = 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. DuraciónDelPlazoDeSuscripciónMásCortaQueLaDuraciónDelPlazoDeOrigen = 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: aaaa0000-bb11-2222-33cc-444444dddddd
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": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
          "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": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
          "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"
  }
}

Ejemplo de respuesta para las fechas permitidas de transición

Algunos SKU de tres años con equipos permiten a los asociados de Europa pasar a SKU sin equipos. Estas transiciones solo pueden producirse en las fechas de aniversario, tal como se define en el resultado de elegibilidad de la transición y en las fechas permitidas.

HTTP/1.1 200 OK
Content-Length: 138
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
Date: Fri, 26 Feb 2021 20:42:26 GMT

{ 
    "totalCount": 1, 
    "items": [ 
        { 
            "catalogItemId": "CFQ7TTBZZR6H:001L:CFQ7TTC0K994", 
            "title": "Microsoft 365 E7 - 3 year", 
            "description": "Microsoft 365 E5, Microsoft 365 Copilot, Agent 365, and Entra Suite. This per-user licensed suite of products offers customers the latest, most advanced, productivity, security, and AI for user and user's agents.", 
            "quantity": 100, 
            "subscriptionEligibilities": [], 
            "transitionAllowedDates": ["2026-08-01T00:00:00Z", "2027-08-01T00:00:00Z"],  // This field will show up only if applicable 
            "eligibilities": [ 
                { 
                    "isEligible": true, 
                    "transitionType": "transition_only", 
                    "errors": [] 
                }, 
                { 
                    "isEligible": true, 
                    "transitionType": "transition_with_license_transfer", 
                    "errors": [] 
                } 
            ], 
            "attributes": { 
                "objectType": "TransitionEligibility" 
            } 
        }] 
} 

Después de la transición

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 como se describen en Autenticación de Partner Center. Este escenario admite la autenticación con credenciales de aplicación independiente y app+usuario.

  • Un identificador de cliente (customer-tenant-id). Si no conoce el id. del cliente, puede buscarlo en Partner Center seleccionando el área de trabajo Clientes, después el cliente en la lista de clientes y, después, 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 identificador del 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 Legacy y NCE, GDAP solo es necesario para Legacy.

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 Tipo 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

Esta tabla describe las propiedades de Transition en el cuerpo de la solicitud.

Propiedad Tipo Obligatorio Descripción
fromCatalogItemId cadena No Elemento de catálogo desde el que va a realizar la transición.
fromSubscriptionId cadena No Identificador de suscripción desde el que se realiza la transición.
toCatalogItemId string Elemento de catálogo al que va a realizar la transición.
toSubscriptionId string No Identificación de la suscripción a la que va a realizar la transición.
cantidad integer Número de licencias que se van a transferir.
duración del plazo string No Especificar la duración del período de la suscripción.
ciclo de facturación 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: aaaa0000-bb11-2222-33cc-444444dddddd
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 realiza correctamente, este método devuelve un recurso Transition con su estado inicial.

Códigos de respuesta correcta y de error

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 ver 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: aaaa0000-bb11-2222-33cc-444444dddddd
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" 
    }
}