Criar uma transferência para novo comércio usando APIs REST do Partner Center
Os parceiros podem transferir novas assinaturas comerciais de um parceiro de transação para outro. Um parceiro-alvo cria a solicitação de transferência. O parceiro de origem atualiza a transferência com detalhes dos itens da 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 do Plano Azure, planos de poupança e subscrições e novas subscrições baseadas em licenças de comércio. Informações mais valiosas podem ser encontradas na documentação de transferência de assinaturas.
Pré-requisitos
Credenciais conforme descrito na autenticação do Partner Center. Este cenário oferece suporte à autenticação com credenciais autônomas de Aplicativo e Aplicativo+Usuário.
Um ID de cliente (
customer-tenant-ID
). Se não souber o ID do cliente, pode procurá-lo no Partner Center selecionando a área de trabalho Clientes, depois o cliente na lista de clientes e, em seguida, Conta. Na página da Conta do Cliente, encontre o ID Microsoft na secção Informações da Conta de Cliente. O ID da Microsoft é igual ao ID do cliente (customer-tenant-ID
).Funções apropriadas: Agente de administração
Pedido REST
Sintaxe da solicitação
Método | URI do pedido |
---|---|
POST | {baseURL}/v1/customers/{customer-ID}/transferências HTTP/1.1 |
Parâmetro URI
Utilize o seguinte parâmetro de caminho para identificar o cliente.
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
ID do cliente | string | Sim | Um ID de cliente formatado em GUID que identifica o cliente. |
Cabeçalhos do pedido
Para mais informações, consulte Partner Center REST headers.
Corpo do pedido
Esta tabela descreve as propriedades TransferEntity no corpo do pedido para criar um novo pedido de transferência de comércio.
Propriedade | Tipo | Obrigatório | Descrição |
---|---|---|---|
fontePartnerTenantId | string | Sim | Um ID de parceiro formatado 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 sequência de texto do cliente para receber notificações sobre a criação da transferência. |
nome_do_cliente | cadeia de caracteres | Não | Opcional. O nome do cliente cujas assinaturas estão sendo transferidas. |
targetPartnerTenantId | string | Não | Um ID de inquilino de parceiro, formatado em GUID, que identifica o parceiro para o qual a transferência é direcionada. O contexto de autorização do parceiro é resolvido para a identificação do locatário do parceiro, caso seja omitido. |
ID do Email do Parceiro de Destino | string | Não | Um ID de locatário de parceiro formatado em GUID que identifica o parceiro ao qual a transferência é direcionada. O contexto de autorização do parceiro é atribuído ao ID do locatário do parceiro quando omitido. |
tiposDeProdutosAlvo | string | Não | Uma coleção de cadeias de caracteres que ditam os tipos de assinaturas que podem ser enviadas para uma transferência. Nulo é assumido para todos os tipos. Os valores podem incluir AzureSubscription, AzureReservation, AzureSavingsPlan e OnlineServicesNCE. |
tipo de transferência | string | Sim | Uma cadeia de caracteres que define o tipo de transferência. 3 representa NewCommerce e devem ser utilizadas para o plano Azure e novas assinaturas de comércio baseadas em licença. |
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": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"partnertenantid": "a94dcde1-ecd7-wace-a6ef-ef73ba6b8ba5",
"sourcePartnerName": "Test_Test_IP4_AG",
"sourcePartnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"targetPartnerName": "Test_Test_DB_AG",
"targetPartnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"targetPartnerEmailId": "817512d3-0689-47a0-bbf2-a7f11ae1fc11",
"targetProductTypes": [
"AzureSubscription",
"AzureReservation",
"AzureSavingsPlan",
"OnlineServicesNCE“
],
"transferDirection": 2,
"ignoreEligibilityCheck": false,
"lastModifiedUser": "1671774b-679f-4543-a152-1f8b14006c0e",
"lineItems": [{
"id": 0,
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"billingCycle": "unknown",
"quantity": 0,
"productType": 5,
"status": "InProgress"
}],
"links": {
"self": {
"uri": "/customers/aaaabbbb-0000-cccc-1111-dddd2222eeee/transfers/43fb1d3a-79fe-45a9-863e-9a4acf17b630",
"method": "GET",
"headers": []
}
}
}
Resposta do REST
Se for bem-sucedido, este método retorna o recurso TransferEnity preenchido no corpo da resposta.
Códigos de sucesso e erro de resposta
Cada resposta vem com um código de status HTTP que indica sucesso 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, consulte 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: aaaa0000-bb11-2222-33cc-444444dddddd
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": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"partnertenantid": "817512d3-0689-47a0-bbf2-a7f11ae1fc11",
"sourcePartnerName": "Test_Test_IP4_AG",
"sourcePartnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"targetPartnerName": "Test_Test_DB_AG",
"targetPartnerTenantId": "817512d3-0689-47a0-bbf2-a7f11ae1fc11",
"targetPartnerEmailId": "817512d3-0689-47a0-bbf2-a7f11ae1fc11",
"targetProductTypes": [
"AzureSubscription",
"AzureReservation",
"AzureSavingsPlan",
"OnlineServicesNCE“
],
"transferDirection": 1,
"ignoreEligibilityCheck": false,
"lastModifiedUser": "7ffdaa28-3b1c-4a61-b580-e1aa6ecf833c",
"links": {
"self": {
"uri": "/customers/aaaabbbb-0000-cccc-1111-dddd2222eeee/transfers/43fb1d3a-79fe-45a9-863e-9a4acf17b630",
"method": "GET",
"headers": []
}
}
}