Criar uma migração de comércio

Aplica-se a: Partner Center | Partner Center operado pela 21Vianet | Partner Center para o Microsoft Cloud for US Government

Como criar uma migração de uma assinatura para o New Commerce Experience

Pré-requisitos

  • Credenciais, conforme descrito em Autenticação do Partner Center. Esse cenário oferece 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 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 atual

Limite de taxa

O limite da API Criar Migração é de 100 chamadas por um parceiro em 5 minutos. Mais informações sobre limites de taxa e limitação estão disponíveis em Diretrizes de limitação de API.

Solicitação REST

Sintaxe da solicitação

Método URI da solicitação
POST {baseURL}/v1/customers/{customer-tenant-id}/migrations/newcommerce HTTP/1.1

Parâmetro do URI

Esta tabela lista os parâmetros de consulta necessários para criar uma nova migração de comércio.

Nome Digitar Obrigatório Descrição
id de locatário do cliente string Sim Uma cadeia com formato de GUID que identifica o cliente.

Cabeçalhos de solicitação

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

Corpo da solicitação

Esta tabela descreve as propriedades Subscription no corpo da solicitação.

Propriedade Type Obrigatório Descrição
currentSubscriptionId string Sim Um identificador de assinatura que indica qual assinatura requer validação para migração.
prazoDuração string Não A duração do prazo pode ser alterada após a migração.
billingCycle string Não O ciclo de faturamento pode ser alterado após a migração.
compraFullTerm bool Não Um novo termo pode ser iniciado no NCE após a migração.
quantity INT Não A quantidade de licença para uma assinatura pode ser aumentada ou diminuída após a migração.
customTermEndDate datetime Não Uma data de término pode ser definida para se alinhar a uma assinatura OnlineServicesNCE não experimental existente ou a um mês de calendário. Há mais informações sobre como alinhar datas de término de assinatura aqui: Alinhar datas de término de assinatura no Partner Center

Exemplo de solicitação

Observe que os complementos aninhados (assinaturas de complemento com assinaturas de complemento) devem ser escritos no corpo da solicitação como uma lista simples dentro de addOnMigrations e não devem ser aninhados em outras assinaturas de complemento na solicitação; Consulte o último exemplo de solicitação para saber como os complementos podem ser gravados no corpo da solicitação.

{
    "currentSubscriptionId" : "9beb6319-6889-4d28-a155-68ca9c783842"
}
{ 
    "currentSubscriptionId": "5C77DC7F-BE2C-4306-A3B5-0EBB4365D7FC", 
    "termDuration": "P1M", 
    "billingCycle": "Monthly", 
} 
{
    "currentSubscriptionId": "5C77DC7F-BE2C-4306-A3B5-0EBB4365D7FC", 
    "purchaseFullTerm": true 
}
{
    "currentSubscriptionId": "66E738D6-E0BC-4FFB-8818-BDE99BC7008B",
    "quantity": 1,
    "billingCycle": "Annual",
    "purchaseFullTerm": false,
    "termDuration": "P1Y",
    "addOnMigrations": [
        {
            "currentSubscriptionId": "359011DC-B5B0-4660-850B-A8FA9B2E3309",
            "quantity": 1,
            "billingCycle": "Monthly",
            "purchaseFullTerm": false,
            "termDuration": "P1M"
        },
        {
            "currentSubscriptionId": "159D9F87-CE39-4EBD-B9C2-ECF0892A85A1",
            "quantity": 1,
            "billingCycle": "Monthly",
            "purchaseFullTerm": false,
            "termDuration": "P1Y"
        }
    ]
}

Resposta REST

Se bem-sucedido, esse método retorna detalhes das Assinaturas que estão sendo migradas (objeto de migração) 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 sucesso ou falha e informações extras de depuração. Use uma ferramenta de rastreamento de rede para ler esse código, tipo de erro, outros parâmetros. Para obter a lista completa, confira Códigos de erro REST do Partner Center.

Exemplos de respostas

{
    "addOnMigrations": [
        {
            "currentSubscriptionId": "E3AFD30D-D6E7-45AF-A6C5-FB905992AE00",
            "customerTenantId": "75c5e79e-7e9f-429f-b772-ed3d38768f7c",
            "catalogItemId": "CFQ7TTC0LH0T:0001:CFQ7TTC0K4KQ",
            "subscriptionEndDate": "2023-02-22T00:00:00Z",
            "quantity": 1,
            "termDuration": "P1Y",
            "billingCycle": "Monthly",
            "purchaseFullTerm": false
        },
        {
            "currentSubscriptionId": "80906BD9-E45C-4D1B-92A8-EA3F3FB6E105",
            "customerTenantId": "75c5e79e-7e9f-429f-b772-ed3d38768f7c",
            "catalogItemId": "CFQ7TTC0LH0R:0001:CFQ7TTC0K0SK",
            "subscriptionEndDate": "2023-02-22T00:00:00Z",
            "quantity": 1,
            "termDuration": "P1Y",
            "billingCycle": "Monthly",
            "purchaseFullTerm": false
        },
        {
            "currentSubscriptionId": "72E424F4-10FF-4C76-B101-C274F73BA498",
            "customerTenantId": "75c5e79e-7e9f-429f-b772-ed3d38768f7c",
            "catalogItemId": "CFQ7TTC0LHXJ:0001:CFQ7TTC0KHTR",
            "subscriptionEndDate": "2023-02-22T00:00:00Z",
            "quantity": 1,
            "termDuration": "P1Y",
            "billingCycle": "Monthly",
            "purchaseFullTerm": false
        }
    ],
    "id": "7123c075-fc05-42d6-a21e-1d2036fa490b",
    "startedTime": "2022-02-23T13:00:48.4489832Z",
    "currentSubscriptionId": "2E56C7F5-E120-4CA4-BFF3-7DA763B4D777",
    "status": "Processing",
    "customerTenantId": "75c5e79e-7e9f-429f-b772-ed3d38768f7c",
    "catalogItemId": "CFQ7TTC0LF8Q:0001:CFQ7TTC0KQDF",
    "subscriptionEndDate": "2023-02-22T00:00:00Z",
    "quantity": 1,
    "termDuration": "P1Y",
    "billingCycle": "Monthly",
    "purchaseFullTerm": false
}