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:

  1. Instancie um novo objeto Cliente. Certifique-se de preencher o BillingProfile e o CompanyProfile.

  2. 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#

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
Email 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: ab993325-1605-4cf4-bac4-fb584142a31b
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: ab993325-1605-4cf4-bac4-fb584142a31b
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": "dfd8cc0a-c592-468c-8461-869a38d24738",
    "commerceId": "0a4ce58a-6f96-4273-8035-d9c7d31b9ba4",
    "companyProfile": {
        "tenantId": "dfd8cc0a-c592-468c-8461-869a38d24738",
        "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.

  1. Crie uma nova instância dos objetos CustomerBillingProfile e CustomerCompanyProfile. Certifique-se de preencher os campos obrigatórios.
  2. 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'