Criar um cliente
Aplica-se a: Partner Center | Partner Center operado pela 21Vianet | Partner Center para o Microsoft Cloud for US Government
Como um parceiro CSP (Provedor de Soluções na Nuvem), ao criar um cliente, você pode fazer pedidos em nome do cliente. Quando você cria um cliente, você também cria:
- Um objeto locatário do Microsoft Entra para o cliente
- Uma relação entre o revendedor e o cliente (usada para privilégios de administrador delegado)
- Um nome de usuário e senha para entrar como administrador do cliente
Depois que o cliente for criado, salve a ID do cliente e os detalhes da ID do Microsoft Entra.
Importante
Se você for um provedor indireto e quiser criar um cliente para um revendedor indireto, consulte Criar um cliente para um revendedor indireto.
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.
Importante
Para criar um locatário do cliente, você deve fornecer um endereço físico válido durante o processo de criação. Um endereço pode ser validado seguindo as etapas descritas no cenário Validar um endereço . Se você criar um cliente usando um endereço inválido no ambiente de área restrita, não poderá excluir esse locatário do cliente.
Importante
Se a senha userCredentials não for aceita.
C#
Para adicionar um cliente:
Instancie um novo objeto Cliente. Certifique-se de preencher o BillingProfile e o CompanyProfile.
Adicione o novo cliente à sua coleção IAggregatePartner.Customers chamando Create ou CreateAsync.
Exemplo de C#
// IAggregatePartner partnerOperations;
var partnerOperations = this.Context.UserPartnerOperations;
var customerToCreate = new Customer()
{
CompanyProfile = new CustomerCompanyProfile()
{
Domain = string.Format(CultureInfo.InvariantCulture,
"SampleApplication{0}.{1}",
new Random().Next(),
this.Context.Configuration.Scenario.CustomerDomainSuffix),
//// OrganizationRegistrationNumber = "123456" // Please add if in specific country/region that requires
},
BillingProfile = new CustomerBillingProfile()
{
Culture = "EN-US",
Email = "gena@wingtiptoys.com",
Language = "En",
CompanyName = "Wingtip Toys"
DefaultAddress = new Address()
{
FirstName = "Gena",
MiddleName = "Coralie",
LastName = "Soto",
AddressLine1 = "One Microsoft Way",
City = "Redmond",
State = "WA",
Country = "US",
PostalCode = "98052",
PhoneNumber = ""
}
}
};
var newCustomer = partnerOperations.Customers.Create(customerToCreate);
Aplicativo de exemplo C#
- Aplicativo de teste de console. Projeto: Exemplos de SDK do Partner Center Classe: CreateCustomer.cs
REST
Sintaxe da solicitação
Método | URI da solicitação |
---|---|
POST | {baseURL}/v1/clientes HTTP/1.1 |
Cabeçalhos da solicitação
Essa API é idempotente (ela não produzirá um resultado diferente se você chamá-la várias vezes).
Um ID de solicitação e um ID de correlação são necessários.
Para obter mais informações, confira Cabeçalhos REST do Partner Center.
Corpo da solicitação
Esta tabela descreve as propriedades necessárias no corpo da solicitação.
Nome | Tipo | Descrição |
---|---|---|
Perfil de Faturamento | objeto | As informações do perfil de faturamento do cliente. |
Perfil da Empresa | objeto | Informações do perfil da empresa do cliente. |
Perfil de faturamento
Esta tabela descreve os campos mínimos necessários do recurso CustomerBillingProfile necessários para criar um novo cliente.
Nome | Tipo | Descrição |
---|---|---|
string | O endereço de email do cliente. | |
cultura | string | Sua cultura preferida para comunicação e moeda, como en-US . Consulte Idiomas e localidades suportados pelo Partner Center para obter as culturas suportadas. |
linguagem | string | O idioma padrão. Dois códigos de idioma de caracteres (por exemplo en , ou fr ) são suportados. |
companyName | string | O nome da empresa/organização registrada. |
defaultAddress | Endereço | O endereço registrado da empresa/organização do cliente. Consulte o recurso Endereço para obter informações sobre quaisquer limitações de comprimento. |
Perfil da empresa
Esta tabela descreve os campos mínimos necessários do recurso CustomerCompanyProfile necessários para criar um novo cliente.
Nome | Tipo | Descrição |
---|---|---|
domínio | string | O nome de domínio do cliente, como contoso.onmicrosoft.com. |
organizationRegistrationNumber | String | O número de registro da organização do cliente (também conhecido como número INN em determinados países/regiões). Necessário apenas para a empresa/organização do cliente localizada nos seguintes países/regiões: Armênia (AM), Azerbaijão (AZ), Bielorrússia (BY), Hungria (HU), Cazaquistão (KZ), Quirguistão (KG), Moldávia (MD), Rússia (RU), Tajiquistão (TJ), Uzbequistão (UZ), Ucrânia (UA), Brasil (BR), Índia, África do Sul, Polônia, Emirados Árabes Unidos, Arábia Saudita, Türkiye, Tailândia, Vietnã, Mianmar, Iraque, Sudão do Sul, Venezuela e China. Para a empresa/organização do cliente localizada em outros países/regiões, este é um campo opcional. |
GDAP por padrão
Nome | Tipo | Descrição |
---|---|---|
habilitarGDAPByDefault | bool | Booleano para indicar se queremos habilitar o GDAP por padrão ou não. Se true, criaremos o GDAP por padrão. Se false, não criaremos o GDAP. Observe que isso só é honrado em nuvens que oferecem suporte a GDAP. Se não houver suporte, o DAP será criado por padrão. |
Exemplo de solicitação
POST https://api.partnercenter.microsoft.com/v1/customers HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 789
Expect: 100-continue
Connection: Keep-Alive
{
"enableGDAPByDefault": false,
"CompanyProfile": {
"Domain": "xyz.onmicrosoft.com"
},
"BillingProfile": {
"Culture": "EN-US",
"Email": "gena@wingtiptoys.com",
"Language": "en",
"CompanyName": "Wingtip Toys",
"DefaultAddress": {
"FirstName": "Gena",
"LastName": "Soto",
"AddressLine1": "One Microsoft Way",
"City": "Redmond",
"State": "WA",
"PostalCode": "98052",
"Country": "US"
}
}
}
Resposta REST
Se bem-sucedida, essa API retornará um recurso Customer para o novo cliente. Salve a ID do cliente e os detalhes da ID do Microsoft Entra para uso futuro com o SDK do Partner Center. Você precisará deles para uso com gerenciamento de contas, por exemplo.
Códigos de êxito e de erro de resposta
As respostas vêm 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, o tipo de erro e os parâmetros adicionais. Para obter a lista completa, confira Códigos de erro REST do Partner Center.
Exemplo de resposta
HTTP/1.1 201 Created
Content-Length: 834
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CV: ObwhuhD2tUKJoM+Z.0
MS-ServerId: 202010223
Date: Tue, 14 Feb 2017 20:06:02 GMT
{
"id": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"commerceId": "0a4ce58a-6f96-4273-8035-d9c7d31b9ba4",
"companyProfile": {
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"domain": "xyz.onmicrosoft.com",
"attributes": {
"objectType": "CustomerCompanyProfile"
}
},
"billingProfile": {
"id": "d17c0275-da92-5c33-9032-782ef1d0b69b",
"email": "gena@wingtiptoys.com",
"culture": "en-US",
"language": "en",
"companyName": "Wingtip Toys",
"defaultAddress": {
"country": "US",
"city": "Redmond",
"state": "WA",
"addressLine1": "One Microsoft Way",
"postalCode": "98052",
"firstName": "Gena",
"lastName": "Soto",
"phoneNumber": ""
},
"attributes": {
"etag": "5920358838484612121",
"objectType": "CustomerBillingProfile"
}
},
"enableGDAPByDefault": false,
"relationshipToPartner": "none",
"userCredentials": {
"userName": "admin",
"password": "=;;n.=s9Z"
},
"attributes": {
"objectType": "Customer"
}
}
Java
Observação
O SDK do Partner Center para Java é um projeto de código aberto mantido pela comunidade de parceiros.
Use as etapas a seguir para criar um novo cliente.
- Crie uma nova instância dos objetos CustomerBillingProfile e CustomerCompanyProfile. Certifique-se de preencher os campos obrigatórios.
- Crie o cliente chamando a função IAggregatePartner.getCustomers().create .
Exemplo do Java
// IAggregatePartner partnerOperations;
Address address = new Address();
address.setFirstName( "Gena" );
address.setLastName( "Soto" );
address.setAddressLine1( "One Microsoft Way" );
address.setCity( "Redmond" );
address.setState( "WA" );
address.setCountry( "US" );
address.setPostalCode( "98052" );
address.setPhoneNumber( "4255550101" );
CustomerBillingProfile billingProfile = new CustomerBillingProfile();
billingProfile.setCulture( "en-US" );
billingProfile.setEmail( "gena@wingtiptoys.com" );
billingProfile.setLanguage( "en" );
billingProfile.setCompanyName( "Wingtip Toys" );
billingProfile.setDefaultAddress( address );
CustomerCompanyProfile companyProfile = new CustomerCompanyProfile();
companyProfile.setDomain( "WingtipToys" + Math.abs( new Random().nextInt() ) + ".onmicrosoft.com" );
Customer customerToCreate = new Customer();
customerToCreate.setBillingProfile( billingProfile );
customerToCreate.setCompanyProfile( companyProfile );
Customer newCustomer = partnerOperations.getCustomers().create( customerToCreate );
PowerShell
Observação
O SDK do Partner Center para PowerShell é um projeto de código aberto mantido pela comunidade de parceiros.
Para criar um cliente, execute o comando New-PartnerCustomer como no exemplo a seguir.
New-PartnerCustomer -BillingAddressLine1 '1 Microsoft Way' -BillingAddressCity 'Redmond' -BillingAddressCountry 'US' -BillingAddressPostalCode '98052' -BillingAddressState 'WA' -ContactEmail 'gena@wingtiptoys.com' -ContactFirstName 'Gena' -ContactLastName 'Soto' -Culture 'en-US' -Domain 'newcustomer.onmicrosoft.com' -Language 'en' -Name 'New Customer'