Criar uma transferência para novo comércio usando APIs REST do Partner Center

Os parceiros podem transferir novas assinaturas de comércio de um parceiro de transação para outro. Um parceiro de destino cria a solicitação de transferência. O parceiro de origem atualiza a transferência com os detalhes do item de linha. Este tópico explica a API que um parceiro de destino chamaria para criar a solicitação de transferência. Este tópico só é relevante para reservas, planos de economia e assinaturas do Plano do Azure e assinaturas baseadas em licença de novo comércio. Informações mais valiosas podem ser encontradas na documentação de transferência de assinaturas.

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).

  • Funções apropriadas: Administrador global | Agente administrativo | Agente de vendas

Solicitação REST

Sintaxe da solicitação

Método URI da solicitação
POST {baseURL}/v1/customers/{customer-ID}/transfers HTTP/1.1

Parâmetro do URI

Use o seguinte parâmetro de caminho para identificar o cliente.

Nome Digitar Obrigatória Descrição
id do cliente string Sim Uma ID de cliente formatada em GUID que identifica o cliente.

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 TransferEntity no corpo da solicitação para criar uma nova solicitação de transferência de comércio.

Propriedade Type Obrigatória Descrição
sourcePartnerTenantId string Sim Uma ID de parceiro formatada em GUID que identifica o parceiro que inicia a transferência.
sourcePartnerName string Sim O nome da organização do parceiro que está iniciando a transferência.
customerEmailId string Sim Uma cadeia de caracteres do cliente para receber notificações da criação da transferência.
customerName string Não Opcional. O nome do cliente cujas assinaturas estão sendo transferidas.
targetPartnerTenantId string Não Uma ID de locatário de parceiro formatada em GUID que identifica o parceiro ao qual a transferência é direcionada. O contexto de autorização do parceiro é resolvido para a ID do locatário do parceiro se omitido.
targetPartnerEmailId string Não Uma ID de locatário de parceiro formatada em GUID que identifica o parceiro ao qual a transferência é direcionada. O contexto de autorização do parceiro é resolvido para a ID do locatário do parceiro se omitido.
Tipo de transferência string Sim Uma cadeia de caracteres que define o tipo de transferência. O NewCommerce deve ser usado para o plano do Azure e assinaturas baseadas em licença de novo comércio.

Exemplo de solicitação

{
    "id": "43fb1d3a-79fe-45a9-863e-9a4acf17b630",
    "status": "InProgress",
    "transferType": 3,
    "customerEmailId": "",
    "createdTime": "2024-04-30T18:31:41.5133355Z",
    "lastModifiedTime": "2024-05-01T00:51:55Z",
    "expirationTime": "2024-05-31T00:00:00Z",
    "customerName": "ipdbtrans2",
    "customerTenantId": "a624f7f8-408b-49d0-9320-df79e56bed55",
    "partnertenantid": "a94dcde1-ecd7-wace-a6ef-ef73ba6b8ba5",
    "sourcePartnerName": "Test_Test_IP4_AG",
    "sourcePartnerTenantId": "a94dcde1-ecd7-4ace-a6ef-ef73ba6b8ba5",
    "targetPartnerName": "Test_Test_DB_AG",
    "targetPartnerTenantId": "817512dd-0689-47a0-bbf2-a7f11ae1fc11",
    "targetPartnerEmailId": "817512d3-0689-47a0-bbf2-a7f11ae1fc11",
    "transferDirection": 2,
    "ignoreEligibilityCheck": false,
    "lastModifiedUser": "1671774b-679f-4543-a152-1f8b14006c0e",
    "lineItems": [{
        "id": 0,
        "subscriptionId": "d0df8837-6db3-49d8-c2b3-1d94bc1ab42d",
        "billingCycle": "unknown",
        "quantity": 0,
        "productType": 5,
        "status": "InProgress"
    }],
    "links": {
        "self": {
            "uri": "/customers/a624f7f8-408b-49d0-9320-df79e56bed55/transfers/43fb1d3a-79fe-45a9-863e-9a4acf17b630",
            "method": "GET",
            "headers": []
        }
    }
}

Resposta REST

Se for bem-sucedido, esse método retornará o recurso TransferEnity preenchido 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 mais parâmetros. Para obter a lista completa, confira Códigos de Erro.

Exemplo de resposta

HTTP/1.1 201 Created
Content-Length: 138
Content-Type: application/json; charset=utf-8
MS-RequestId: 4fa6dad6-a89f-4875-8247-7294a10ae1cf
MS-CorrelationId: 0e93c70c-977c-4a88-9580-7cf084c73286
X-Locale: en-US,en-US

{
"id": "43fb1d3a-79fe-45a9-863e-9a4acf17b630",
"status": "Pending",
"transferType": 3,
"customerEmailId": "",
"createdTime": "2024-04-30T18:31:41.5133355Z",
"lastModifiedTime": "2024-04-30T18:31:41Z",
"expirationTime": "2024-05-31T00:00:00Z",
"customerName": "ipdbtrans2",
"customerTenantId": "a624f7f8-408b-49d0-9320-df79e56bed55",
"partnertenantid": "817512d3-0689-47a0-bbf2-a7f11ae1fc11",
"sourcePartnerName": "Test_Test_IP4_AG",
"sourcePartnerTenantId": "a94dcde1-ecd7-4ace-a6ef-ef73ba6b8ba5",
"targetPartnerName": "Test_Test_DB_AG",
"targetPartnerTenantId": "817512d3-0689-47a0-bbf2-a7f11ae1fc11",
"targetPartnerEmailId": "817512d3-0689-47a0-bbf2-a7f11ae1fc11",
"transferDirection": 1,
"ignoreEligibilityCheck": false,
"lastModifiedUser": "7ffdaa28-3b1c-4a61-b580-e1aa6ecf833c",
"links": {
    "self": {
        "uri": "/customers/a624f7f8-408b-49d0-9320-df79e56bed55/transfers/43fb1d3a-79fe-45a9-863e-9a4acf17b630",
        "method": "GET",
        "headers": []
    }
}
}