Compartilhar via


Atualizar uma solicitação de transferência para novo comércio usando APIs REST do Partner Center

Este artigo aborda como usar a API REST no Partner Center para aceitar ou cancelar uma solicitação de transferência para novos itens de plano do Azure ou baseados em licença de comércio. O exemplo inclui sintaxe REST, cabeçalhos e respostas REST.

Funções apropriadas: Agente administrativo

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 identificador de transferência para uma transferência existente.

Solicitação REST

Sintaxe da solicitação

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

Parâmetro do URI

Use o parâmetro de caminho a seguir para identificar o cliente e especificar a transferência a ser aceita.

Nome Digitar Obrigatória Descrição
id do cliente string Yes Um ID do cliente formatado por GUID que identifica o cliente
transfer-id string Yes Um ID de transferência formatado por GUID que identifica a transferência

Cabeçalhos da solicitação

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

Exemplo de solicitação para cancelar transferência

Uma transferência só pode ser cancelada se estiver no estado pendente . Somente o parceiro de destino que criou a transferência pode cancelá-la.

PATCH /v1/customers/a624f7f8-408b-49B0-9320-df79e56bed55/transfers/43fb1d3a-79fe-45a9-863e-9a4acf17b630 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 8389053b-731c-4261-9899-1583d7859153
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 0

{
    "id": "43fb1d3a-79fe-45a9-863e-9a4acf17b630",
    "status": "Cancel",
    "targetPartnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "sourcePartnerTenantId": "bbbbcccc-1111-dddd-2222-eeee3333fff",
    "customerName": "ipdbtrans2"
}

Exemplo de solicitação para aceitar transferência

A aceitação de uma transferência inclui itens de linha. Esta tabela descreve as propriedades TransferLineItem no corpo da solicitação.

Propriedade Type Obrigatória Descrição
ID string Não Um identificador exclusivo para um item de linha de transferência; aplicado após a criação bem-sucedida da transferEntity
subscriptionID string Yes O identificador de assinatura
productType string Yes O tipo a ser transferido deve ser OnlineServicesNCE para assinaturas baseadas em licença
PATCH /v1/customers/a624f7f8-408b-49B0-9320-df79e56bed55/transfers/43fb1d3a-79fe-45a9-863e-9a4acf17b630 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 8389053b-731c-4261-9899-1583d7859153
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 0

{
    "id": "43fb1d3a-79fe-45a9-863e-9a4acf17b630",
    "status": "Accept",
    "transferType": 3,
    "targetPartnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "sourcePartnerTenantId": "bbbbcccc-1111-dddd-2222-eeee3333fff",
    "customerName": "ipdbtrans2",
    "lineItems": [{
        "id": 0,
        "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
        "productType": "OnlineServicesNCE"
    }]
}

Resposta REST para atualizações de transferência

Se bem-sucedido, esse método retorna o recurso TransferSubmitResult 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 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, confira Códigos de Erro.

Exemplo de resposta para cancelar transferência

HTTP/1.1 200 OK
Content-Length: 3389
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 8389053b-731c-4261-9899-1583d7859153
X-Locale: en-US
Date: Wed, 25 Mar 2020 19:13:06 GMT

{
    "id": "43fb1d3a-79fe-45a9-863e-9a4acf17b630",
    "status": "Cancel",
    "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-49B0-9320-df79e56bed55",
    "partnertenantid": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "sourcePartnerName": "Test_Test_IP4_AG",
    "sourcePartnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "targetPartnerName": "Test_Test_DB_AG",
    "targetPartnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "targetPartnerEmailId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "transferDirection": 1,
    "ignoreEligibilityCheck": false,
    "lastModifiedUser": "7ffdaa28-3b1c-4a61-b580-e1aa6ecf833c",
    "links": {
        "self": {
            "uri": "/customers/a624f7f8-408b-49B0-9320-df79e56bed55/transfers/43fb1d3a-79fe-45a9-863e-9a4acf17b630",
            "method": "GET",
            "headers": []
        }
    }
}

Exemplo de resposta para aceitar transferência

HTTP/1.1 200 OK
Content-Length: 3389
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 8389053b-731c-4261-9899-1583d7859153
X-Locale: en-US
Date: Wed, 25 Mar 2020 19:13:06 GMT

{
    "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-49B0-9320-df79e56bed55",
    "partnertenantid": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "sourcePartnerName": "Test_Test_IP4_AG",
    "sourcePartnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "targetPartnerName": "Test_Test_DB_AG",
    "targetPartnerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "targetPartnerEmailId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "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/a624f7f8-408b-49B0-9320-df79e56bed55/transfers/43fb1d3a-79fe-45a9-863e-9a4acf17b630",
            "method": "GET",
            "headers": []
        }
    }
}