Fazer a transição de uma nova assinatura comercial
Aplica-se a: Partner Center | Partner Center operado pela 21Vianet | Partner Center for Microsoft Cloud for US Government
Funções apropriadas
- Agente de administração
Esses métodos dão suporte a assinaturas de origem de comércio tradicional e nova.
Observação
As novas experiências de comércio para serviços baseados em licença incluem muitos novos recursos e estão disponíveis para todos os CSPs (Provedores de Soluções na Nuvem). Para obter mais informações, confira a visão geral das novas experiências de comércio.
Usado para atualizar a nova assinatura de comércio de um cliente para uma assinatura de destino ou converter uma avaliação NCE em uma assinatura paga. Para fazer a transição de uma assinatura, duas solicitações de API precisam ser feitas. Primeiro GET transições qualificadas para obter os SKUs disponíveis para atualização. Em seguida, POST transição para executar a transição.
Obter elegibilidades de transição
Retorna uma lista de transições qualificadas para um determinado cliente, assinatura e tipo solicitado. Também retorna a qualificação para upgrade de assinatura de destino. As qualificações de transição podem incluir ofertas que estão no estado EndofSaleWithConversions.
Pré-requisitos
Credenciais, conforme descrito em Autenticação do Partner Center. Esse cenário dá suporte à autenticação com credenciais autônomas de Aplicativo e Aplicativo+Usuário.
Uma ID do cliente (
customer-tenant-id
). Se você não souber a ID do cliente, poderá procurá-la no Partner Center selecionando o workspace Clientes, o cliente da lista de clientes e, em seguida, Conta. Na página Conta do cliente, procure a ID da Microsoft na seção Informações da Conta do Cliente. A ID da Microsoft é igual à ID do cliente (customer-tenant-id
).Uma ID de assinatura para a assinatura inicial.
Funções GDAP
Você precisará de pelo menos uma das seguintes funções GDAP:
- Leitor de Diretório
- Leitor Global
Observação
Embora essa API esteja disponível para legada e NCE, o GDAP só é necessário para a legada.
Solicitação REST
Sintaxe da solicitação
Método | URI da solicitação |
---|---|
GET | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitionEligibilities?eligibilityType={immediate, scheduled} HTTP/1.1 |
Parâmetro do URI
Use os parâmetros de consulta a seguir para retornar transições qualificadas.
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
id de locatário do cliente | guid | Y | Um GUID correspondente ao locatário do cliente. |
id da assinatura | guid | Y | Um GUID correspondente à assinatura inicial. |
elegibilidadeTipo | cadeia de caracteres | N | Descreve quando a transição deve ser executada; pode ser imediato ou programado. O padrão é Immediate . |
Cabeçalhos da solicitação
Para obter mais informações, confira Cabeçalhos REST do Partner Center.
Corpo da solicitação
Nenhum
Exemplo de solicitação
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
Resposta REST
Se for bem-sucedido, esse método retornará uma lista das transições qualificadas para a assinatura fornecida no corpo da resposta.
Códigos de êxito e de erro de resposta
Cada resposta vem com um código de status HTTP que indica êxito ou falha e mais informações de depuração. Use uma ferramenta de rastreamento de rede para ler esse código, tipo de erro e outros parâmetros. Para obter a lista completa, confira Códigos de Erro.
Erros de elegibilidade
Descrições e significado de erros.
Descrição do erro | Significado |
---|---|
A assinatura não pode ser transicionada – a assinatura de origem não está ativa. | Status do sub original não ativo |
A assinatura não pode ser transicionada – a assinatura de origem ainda não foi provisionada. | O sub FulfillmentState original não é bem-sucedido |
O tipo de transição não é compatível – o mapeamento de assinatura do AzureAD é necessário. | Erro LegacyCannotConvertSubscriptionId ao chamar GetSubscriptionUpgradeConflicts |
O tipo de transição não é compatível – existem assinaturas conflitantes para transferência de licença. | Se algum serviço do Microsoft Entra tiver IDs de assinatura de uma assinatura diferente, adicione-o à lista de conflitos (inclui compras feitas com fluxo de compra herdado ou moderno) |
Erros de qualificação de assinatura
Se uma assinatura de destino não estiver qualificada para atualização, um dos seguintes motivos será retornado.
Listas vazias serão retornadas se a assinatura de origem for uma avaliação ou se o eligibilityType for especificado como Agendado. Você só pode fazer a transição para uma assinatura existente com uma transição imediata (também conhecida como "intermediária"), não uma alteração agendada.
Descrição do erro | Código do erro |
---|---|
A assinatura não está ativa. | SubscriptionNotActive = 1 |
A assinatura está dentro da janela de cancelamento. | SubscriptionInCancellationWindow = 2 |
A duração do termo da assinatura é menor do que a duração do prazo da assinatura de origem. | SubscriptionTermDurationShorterThanSourceTermDuration = 3 |
A data de término do prazo da assinatura é antes da data de término do prazo da assinatura de origem. | A data de término do prazo da assinatura é antes da data de término do prazo da assinatura de origem. = 4 |
Exemplo de resposta
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"
}
}
Pós-transição
Lança uma solicitação de transição para um determinado cliente e assinatura. Retorna a transição com seu status inicial.
Pré-requisitos
Credenciais, conforme descrito em Autenticação do Partner Center. Esse cenário dá suporte à autenticação com credenciais autônomas de Aplicativo e Aplicativo+Usuário.
Uma ID do cliente (
customer-tenant-id
). Se você não souber a ID do cliente, poderá procurá-la no Partner Center selecionando o workspace Clientes, o cliente da lista de clientes e, em seguida, Conta. Na página Conta do cliente, procure a ID da Microsoft na seção Informações da Conta do Cliente. A ID da Microsoft é igual à ID do cliente (customer-tenant-id
).Uma ID de assinatura para a assinatura inicial.
Funções GDAP
Você precisará de pelo menos uma das seguintes funções GDAP:
- Leitor de diretório ou leitor global (somente transição)
- Gravador de diretório (transição com transferência de licença)
Observação
Embora essa API esteja disponível para legada e NCE, o GDAP só é necessário para a legada.
Solicitação REST
Sintaxe da solicitação
Método | URI da solicitação |
---|---|
POST | {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}/transitions HTTP/1.1 |
Parâmetro do URI
Use os parâmetros de consulta a seguir para executar uma transição.
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
id de locatário do cliente | guid | Y | Um GUID correspondente ao locatário do cliente. |
id da assinatura | guid | Y | Um GUID correspondente à assinatura inicial. |
Cabeçalhos da solicitação
Para obter mais informações, confira Cabeçalhos REST do Partner Center.
Corpo da solicitação
Esta tabela descreve as propriedades Transition no corpo da solicitação.
Propriedade | Type | Obrigatória | Descrição |
---|---|---|---|
fromCatalogItemId | string | Não | O item de catálogo do qual você está fazendo a transição. |
fromSubscriptionId | string | Não | A ID da assinatura da qual você está fazendo a transição. |
toCatalogItemId | string | Sim | O item de catálogo para o qual você está fazendo a transição. |
toSubscriptionId | string | Não | A ID da assinatura para a qual você está fazendo a transição. |
quantity | Número inteiro | Sim | O número de licenças a serem transferidas. |
termDuration | string | Não | Especificar a duração do prazo da assinatura. |
billingCycle | string | Não | Especificando o ciclo de cobrança da assinatura. |
transitionType | string | Sim | O tipo de transição. Valores possíveis - transition_only , transition_with_license_transfer . |
Exemplo de solicitação
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"
}
Resposta REST
Se for bem-sucedido, esse método retornará um recurso de transição com seu status inicial.
Códigos de êxito e de erro de resposta
Cada resposta vem com um código de status HTTP que indica êxito ou falha e mais informações de depuração. Use uma ferramenta de rastreamento de rede para ler esse código, tipo de erro e outros parâmetros. Para obter a lista completa, confira Códigos de Erro.
Exemplo de resposta
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"
}
}