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 for Microsoft Cloud for US Government
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 arquivo 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 na autenticação do Partner Center. 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 selecionando a área de trabalho Clientes e, em seguida, 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 é a mesma que a ID do cliente (customer-tenant-id
).A data (dataAcordada) 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. O que está incluído:
- 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:
Recupere os metadados do contrato para o Contrato de Cliente da Microsoft. Você deve obter o templateId do Contrato de Cliente 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();
Crie um novo objeto Agreement contendo detalhes da confirmação.
Use a coleção IAgreggatePartner.Customers e chame o método ById com o customer-tenant-id especificado.
Use a propriedade Agreements , seguida de chamar 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 de aplicativo de teste de console.
Pedido REST
Para confirmar ou reconfirmar a aceitação do Contrato de Cliente Microsoft pelo cliente:
- Recupere os metadados do contrato para o Contrato de Cliente da Microsoft. Você deve obter o templateId do Contrato de Cliente Microsoft. Para obter mais informações, consulte Obter metadados de contrato para o Contrato de Cliente Microsoft.
- Crie um novo recurso de Contrato para confirmar que um cliente aceitou o Contrato de Cliente Microsoft. Use a seguinte sintaxe de solicitação REST.
Sintaxe da solicitação
Método | URI do pedido |
---|---|
POST | {baseURL}/v1/customers/{customer-tenant-id}/acordos 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 | Sim | O valor é um customer-tenant-id formatado em GUID, que é um identificador que permite especificar um cliente. |
Cabeçalhos do pedido
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 |
---|---|---|
Contrato | objeto | Detalhes fornecidos pelo parceiro para confirmar a aceitação do Contrato de Cliente Microsoft pelo cliente. |
Contrato
Esta tabela descreve os campos mínimos necessários para criar um recurso de Contrato.
Propriedade | Tipo | Descrição |
---|---|---|
primárioContato | Contacto | Informações sobre o usuário da organização do cliente que aceitou o Contrato de Cliente da Microsoft, incluindo: nome, sobrenome, email e número de telefone (opcional) |
dataAcordado | string no formato de data e hora 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 recuperando os metadados do contrato para o Contrato de Cliente Microsoft. Consulte Obter metadados do contrato para o Contrato de Cliente Microsoft para obter 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": "117a77b0-9360-443b-8795-c6dedc750cf9",
"dateAgreed": "2018-06-14T00:00:00.000Z",
"type": "MicrosoftCustomerAgreement"
}
Resposta do REST
Se for bem-sucedido, esse método retornará um recurso Agreement.
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": "117a77b0-9360-443b-8795-c6dedc750cf9",
"dateAgreed": "2018-06-14T00:00:00.000Z",
"type": "MicrosoftCustomerAgreement"
}