Partilhar via


Confirmar a aceitação do Contrato de Cliente Microsoft pelo cliente usando APIs do Partner Center

Aplica-se a: Partner Center

Não se aplica a: Partner Center operado pela 21Vianet | Partner Center para a Nuvem Microsoft para o Governo dos EUA

Atualmente, o Partner Center oferece suporte à confirmação da aceitação do Contrato de Cliente Microsoft pelo cliente somente na nuvem pública da Microsoft.

Este artigo descreve como confirmar ou reconfirmar a aceitação do Contrato de Cliente Microsoft pelo cliente.

Pré-requisitos

  • Se você estiver usando o SDK .NET do Partner Center, a versão 1.14 ou mais recente é necessária.

Importante

A partir de junho de 2023, a versão 3.4.0 mais recente do SDK do .NET do Partner Center foi arquivada. Você pode baixar a versão do SDK do GitHub, juntamente com um ficheiro README que contém informações úteis.

Os parceiros são incentivados a continuar a usar as APIs REST do Partner Center.

  • Credenciais conforme descrito em autenticação do Centro de Parceiros. Este cenário suporta apenas a autenticação App+User.

  • Um ID de cliente (customer-tenant-id). Se não souber o ID do cliente, pode procurá-lo no Partner Center ao selecionar o espaço de trabalho Clientes, depois escolher o cliente da lista de clientes e, em seguida, Conta. Na página Conta do cliente, procure o ID da Microsoft na Secção de Informações da Conta do Cliente. A ID da Microsoft é a mesma que a ID do cliente (customer-tenant-id).

  • A data (dateAgreed) em que o cliente aceitou o Contrato de Cliente Microsoft.

  • Informações sobre o usuário da organização do cliente que aceitou o Contrato de Cliente da Microsoft. Isto inclui:

    • Nome próprio
    • Apelido
    • Endereço de e-mail
    • Número de telefone (opcional)
  • Se os seguintes valores forem alterados para um cliente, o Partner Center permitirá que outro contrato seja criado para esse cliente: Nome Apelido Endereço de e-mail Número de telefone Caso contrário, os parceiros receberão o seguinte código de erro, devido à criação de um cliente duplicado

{
"code": 600061,
"message": "A partner confirmed agreement already exists for the customer.",
"description": "A partner confirmed agreement already exists for the customer.",
"errorName": "PartnerConfirmedAgreementAlreadyExists",
"isRetryable": false,
"parameters": {},
"errorMessageExtended": "InternalErrorCode=600061"
}

.NET

Para confirmar ou reconfirmar a aceitação do Contrato de Cliente Microsoft pelo cliente:

  1. Recupere os metadados do Contrato de Cliente da Microsoft. Você deve obter o templateId do Contrato de Cliente da Microsoft. Para obter mais informações, consulte Obter metadados de contrato para o Contrato de Cliente Microsoft.

    // IAggregatePartner partnerOperations;
    
    string agreementType = "MicrosoftCustomerAgreement";
    
    var microsoftCustomerAgreementDetails = partnerOperations.AgreementDetails.ByAgreementType(agreementType).Get().Items.Single();
    
  2. Crie um novo objeto de acordo contendo detalhes da confirmação.

  3. Utilize a coleção IAgreggatePartner.Customers e chame o método ById com o customer-tenant-id especificado.

  4. Use a propriedade Agreements, seguido de uma chamada para Create ou CreateAsync.

    // string selectedCustomerId;
    
    var agreementToCreate = new Agreement
    {
        DateAgreed = DateTime.UtcNow,
        TemplateId = microsoftCustomerAgreementDetails.TemplateId,
        PrimaryContact = new Contact
        {
            FirstName = "Tania",
            LastName = "Carr",
            Email = "someone@example.com",
            PhoneNumber = "1234567890"
        }
    };
    
    Agreement agreement = partnerOperations.Customers.ById(selectedCustomerId).Agreements.Create(agreementToCreate);
    

Um exemplo completo pode ser encontrado na classe CreateCustomerAgreement do projeto da aplicação de teste de consola .

Pedido REST

Para confirmar ou reconfirmar a aceitação do Contrato de Cliente Microsoft pelo cliente:

  1. Recupere os metadados do Acordo de Cliente da Microsoft. Você deve obter o templateId do Contrato de Cliente da Microsoft. Para obter mais informações, consulte Obter metadados de contrato para o Contrato de Cliente Microsoft.
  2. Crie um novo recurso de Agreement para confirmar que um cliente aceitou o Contrato do Cliente da Microsoft. Utilize a seguinte sintaxe de solicitação REST .

Sintaxe da solicitação

Método Solicitar URI
PUBLICAR {baseURL}/v1/customers/{customer-tenant-id}/agreements HTTP/1.1

Parâmetro URI

Use o parâmetro de consulta a seguir para especificar o cliente que você está confirmando.

Nome Tipo Necessário Descrição
ID do cliente-locatário GUID (Identificador Globalmente Único) Sim O valor é um customer-tenant-idformatado em GUID, que é um identificador que permite especificar um cliente.

Cabeçalhos de solicitação

Para obter mais informações, consulte cabeçalhos REST do Partner Center.

Corpo do pedido

Esta tabela descreve as propriedades necessárias no corpo da solicitação REST.

Nome Tipo Descrição
Acordo objeto Detalhes fornecidos pelo parceiro para confirmar a aceitação do Contrato de Cliente Microsoft pelo cliente.

Acordo

Esta tabela descreve os campos mínimos necessários para criar um Acordo de recurso .

Propriedade Tipo Descrição
contato principal Entrar em contato Informações sobre o utilizador da organização do cliente que aceitou o Contrato de Cliente da Microsoft, incluindo: firstName, lastName, email, e número de telefone (opcional)
data acordada string no formato de data e hora em UTC A data em que o cliente aceitou o contrato.
templateId string Identificador único do tipo de contrato aceite pelo cliente. Você pode obter o templateId para o Contrato de Cliente Microsoft ao recuperar os metadados do contrato. Consulte Obter metadados do contrato para o Contrato de Cliente Microsoft para mais detalhes.
tipo string Tipo de contrato aceite pelo cliente. Use "MicrosoftCustomerAgreement" se o cliente aceitou o Contrato de Cliente da Microsoft.

Exemplo de solicitação

POST https://api.partnercenter.microsoft.com/v1/customers/14876998-c0dc-46e6-9d0c-65a57a6c32ec/agreements HTTP/1.1
Authorization: Bearer <token>
Content-Type: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
{
    "primaryContact": {
        "firstName": "Tania",
        "lastName": "Carr",
        "email": "someone@example.com",
        "phoneNumber": "1234567890"
    },
    "templateId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "dateAgreed": "2018-06-14T00:00:00.000Z",
    "type": "MicrosoftCustomerAgreement"
}

Resposta REST

Se for bem-sucedido, esse método retornará um Agreement recurso.

Códigos de sucesso e erro de resposta

Cada resposta vem com um código de status HTTP que indica sucesso ou falha e informações adicionais de depuração.

Use uma ferramenta de rastreamento de rede para ler esse código, tipo de erro e parâmetros adicionais. Para obter a lista completa, consulte códigos de erro REST do Partner Center.

Exemplo de resposta

HTTP/1.1 201 Created
Content-Length: 261
Content-Type: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
{
    "userId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
    "primaryContact": {
        "firstName": "Tania",
        "lastName": "Carr",
        "email": "someone@example.com",
        "phoneNumber": "1234567890"
    },
    "templateId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "dateAgreed": "2018-06-14T00:00:00.000Z",
    "type": "MicrosoftCustomerAgreement"
}