Compartilhar via


Converter uma assinatura de avaliação em paga usando APIs do Partner Center

Observação

Essas etapas não são aplicáveis a novos produtos de comércio. Consulte Transição , uma nova documentação de assinatura de comércio para converter avaliações do New Commerce em assinaturas pagas

Você pode converter uma assinatura de avaliação em paga.

Pré-requisitos

  • Credenciais, conforme descrito em Autenticação do Partner Center. Este cenário dá suporte somente à autenticação com credenciais de aplicativo + de 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 espaço de trabalho Clientes, o cliente na 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).

  • Um ID de assinatura para uma assinatura de avaliação ativa.

  • Uma oferta de conversão disponível.

Converter uma assinatura de avaliação em uma assinatura paga por meio de código

Para converter uma assinatura de avaliação em uma paga, você deve primeiro obter uma coleção das conversões de avaliação disponíveis. Em seguida, você deve escolher a oferta de conversão que deseja comprar.

As ofertas de conversão especificarão uma quantidade padrão para o mesmo número de licenças que a assinatura de avaliação. Você pode alterar essa quantidade definindo a propriedade Quantity para o número de licenças que deseja comprar.

Observação

Independentemente do número de licenças adquiridas, o ID de assinatura da avaliação é reutilizado para as licenças adquiridas. Como resultado, o teste em vigor desaparece e é substituído pela compra.

Use as seguintes etapas para converter uma assinatura de avaliação por meio de código:

  1. Obtenha uma interface para as operações de assinatura disponíveis. Você deve identificar o cliente e especificar o identificador de assinatura da assinatura de avaliação.

    var subscriptionOperations = partnerOperations.Customers.ById(customerId).Subscriptions.ById(subscriptionId);
    
  2. Obtenha uma coleção das ofertas de conversão disponíveis. Para obter mais informações e detalhes sobre a solicitação/resposta para esse método, consulte Obter uma lista de ofertas de conversão de avaliação.

    var conversions = subscriptionOperations.Conversions.Get();
    
  3. Escolha uma oferta de conversão. O código a seguir escolhe a primeira oferta de conversão na coleção.

    var selectedConversion = conversions.Items.ToList()[0];
    
  4. Opcionalmente, especifique o número de licenças a serem compradas. O padrão é o número de licenças na assinatura de avaliação.

    selectedConversion.Quantity = 10;
    
  5. Chame o método Create ou CreateAsync para converter a assinatura de avaliação em paga.

    var convertResult = subscriptionOperations.Conversions.Create(selectedConversion);
    

C#

Para converter uma assinatura de avaliação em paga:

  1. Para identificar o cliente, chame o método IAggregatePartner.Customers.ById.

  2. Obtenha uma interface para operações de assinatura chamando o método Subscriptions.ById com a ID da assinatura de avaliação. Salve uma referência à interface de operações de assinatura em uma variável local.

  3. Use a propriedade Conversions para obter uma interface para as operações disponíveis em conversões e chame o método Get ou GetAsync para recuperar uma coleção de ofertas de conversão disponíveis. É necessário escolher uma. O exemplo a seguir tem como padrão a primeira conversão disponível.

  4. Use a referência à interface de operações de assinatura que você salvou em uma variável local e a propriedade Conversões para obter uma interface para as operações disponíveis em conversões.

  5. Passe o objeto de oferta de conversão selecionado para o método Create ou CreateAsync para tentar a conversão de avaliação.

Exemplo de C#

// IAggregatePartner partnerOperations;
// string customerId;
// string subscriptionId;

// Get subscription operations for the trial subscription.
var subscriptionOperations = partnerOperations.Customers.ById(customerId).Subscriptions.ById(subscriptionId);

// Get the available conversions.
var conversions = subscriptionOperations.Conversions.Get();

// If there are no conversions available, we're done.
// Otherwise, convert the trial to the first available conversion offer.
if (conversions.TotalCount <= 0)
{
    System.Console.WriteLine("This subscription has no conversions");
}
else
{
    // Default to the first conversion.
    var selectedConversion = conversions.Items.ToList()[0];

    // Convert the trial and return the result.
    var convertResult = subscriptionOperations.Conversions.Create(selectedConversion);
}

Solicitação REST

Sintaxe da solicitação

Método URI da solicitação
POST {baseURL}/v1/customers/{customer-id}/subscriptions/{subscription-id}/conversions HTTP/1.1

Parâmetro do URI

Use os parâmetros de caminho a seguir para identificar o cliente e a assinatura de avaliação.

Nome Tipo Necessário Descrição
id do cliente string Sim Uma cadeia de caracteres formatada em GUID que identifica o cliente.
id da assinatura string Sim Uma cadeia de caracteres formatada em GUID que identifica a assinatura de avaliação.

Cabeçalhos de solicitação

Para obter mais informações, confira Cabeçalhos REST do Partner Center.

Corpo da solicitação

Um recurso de conversão preenchido deve ser incluído no corpo da solicitação.

Exemplo de solicitação

POST https://api.partnercenter.microsoft.com/v1/customers/0c39d6d5-c70d-4c55-bc02-f620844f3fd1/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/conversions HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: bd0cde7f-ba87-4010-8a73-1190b641f2a4
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 234
Expect: 100-continue

{
    "OfferId": "C0BD2E08-11AC-4836-BDC7-3712E744922F",
    "TargetOfferId": "031C9E47-4802-4248-838E-778FB1D2CC05",
    "OrderId": "D51A052E-043C-4A2A-AA37-2BB938CEF6C1",
    "Quantity": 25,
    "BillingCycle": "monthly",
    "Attributes": {
        "ObjectType": "Conversion"
    }
}

Resposta REST

Se for bem-sucedido, o corpo da resposta conterá um recurso ConversionResult .

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 informações de depuração adicionais. Use uma ferramenta de rastreamento de rede para ler esse código, o tipo de erro e os parâmetros adicionais. Para obter a lista completa, consulte Códigos de erro do Partner Center.

Exemplo de resposta

HTTP/1.1 200 OK
Content-Length: 211
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: bd0cde7f-ba87-4010-8a73-1190b641f2a4
MS-CV: kW4GzmhvHEqCq1ls.0
MS-ServerId: 030020643
Date: Thu, 15 Jun 2017 23:10:40 GMT

 {
    "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
    "offerId": "C0BD2E08-11AC-4836-BDC7-3712E744922F",
    "targetOfferId": "031C9E47-4802-4248-838E-778FB1D2CC05",
    "attributes": {
        "objectType": "ConversionResult"
    }
}