Criar um cliente para um revendedor indireto usando APIs do Partner Center
Aplica-se a: Partner Center
Um provedor indireto pode criar um cliente para um revendedor indireto.
Pré-requisitos
Credenciais, conforme descrito em Autenticação do Partner Center. Este cenário dá suporte somente à autenticação com credenciais de aplicativo + de usuário.
O identificador de locatário do revendedor indireto.
O revendedor indireto deve ter parceria com o provedor indireto.
C#
Para adicionar um novo cliente a um revendedor indireto:
Instancie um novo objeto Customer e, em seguida, instancie e preencha o BillingProfile e o CompanyProfile. Certifique-se de atribuir o ID de revendedor indireto à propriedade AssociatedPartnerID.
Use a propriedade IAggregatePartner.Customers para obter uma interface para operações de coleta de clientes.
Chame o método Create ou CreateAsync para criar o cliente.
Exemplo de C#
// IAggregatePartner partnerOperations;
// var indirectResellerId;
var customerToCreate = new Customer()
{
CompanyProfile = new CustomerCompanyProfile()
{
Domain = string.Format(CultureInfo.InvariantCulture,
"WingtipToys{0}.{1}",
new Random().Next(),
this.Context.Configuration.Scenario.CustomerDomainSuffix)
},
BillingProfile = new CustomerBillingProfile()
{
Culture = "EN-US",
Email = "Gena@wingtiptoys.com",
Language = "En",
CompanyName = "Wingtip Toys",
DefaultAddress = new Address()
{
FirstName = "Gena",
LastName = "Soto",
AddressLine1 = "One Microsoft Way",
City = "Redmond",
State = "WA",
Country = "US",
PostalCode = "98052",
PhoneNumber = "4255550101"
}
},
AssociatedPartnerId = indirectResellerId
};
var newCustomer = partnerOperations.Customers.Create(customerToCreate);
Exemplo: Aplicativo de teste de console. Projeto: Exemplos de SDK do Partner Center Classe: CreateCustomerforIndirectReseller.cs
Solicitação REST
Sintaxe da solicitação
Método | URI da solicitação |
---|---|
POST | {baseURL}/v1/clientes HTTP/1.1 |
Cabeçalhos da solicitação
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 | Digitar | Obrigatória | Descrição |
---|---|---|---|
Perfil de Faturamento | objeto | Yes | As informações do perfil de faturamento do cliente. |
Perfil da Empresa | objeto | Yes | Informações do perfil da empresa do cliente. |
AssociatedPartnerId | string | Yes | O ID do revendedor indireto. O revendedor indireto, conforme indicado pelo ID fornecido aqui, deve ter uma parceria com o provedor indireto ou a solicitação falhará. Observe também que, se o valor AssociatedPartnerId não for fornecido, o cliente será criado como um cliente direto do provedor indireto em vez do revendedor indireto. |
Domínio | String | Yes | O nome de domínio do cliente, como contoso.onmicrosoft.com. |
organizationRegistrationNumber | string | Yes | 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), Índia, Brasil, África do Sul, Polônia, Emirados Árabes Unidos, Arábia Saudita, Türkiye, Tailândia, Vietnã, Mianmar, Iraque, Sudão do Sul e Venezuela. Para a empresa/organização do cliente localizada em outros países/regiões, este é um campo opcional. |
Perfil de faturamento
Esta tabela descreve os campos mínimos necessários do recurso CustomerBillingProfile necessários para criar um novo cliente.
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
string | Yes | O endereço de email do cliente. | |
cultura | string | Yes | 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 | cadeia de caracteres | Yes | O idioma padrão. Dois códigos de idioma de caracteres (por exemplo en , ou fr ) são suportados. |
COMPANY_NAME | string | Yes | O nome da empresa/organização registrada. |
default_address | Endereço | Yes | 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 | Digitar | Obrigatória | Descrição |
---|---|---|---|
domínio | string | Yes | O nome de domínio do cliente, como contoso.onmicrosoft.com. |
organizationRegistrationNumber | string | Depende da condição | O número de registro da organização do cliente (também conhecido como o número INN em determinados países/regiões). O preenchimento deste campo é obrigatório somente se a empresa/organização de um cliente estiver 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) -Índia -Brasil -África do Sul -Polônia - Emirados Árabes Unidos -Arábia Saudita -Türkiye -Tailândia -Vietname -Myanmar -Iraque -Sudão do Sul -Venezuela - 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>
MS-RequestId: d628adbe-b7ee-412e-ac55-58f22b4ba2f4
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Client: Partner Center .NET SDK
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 823
Expect: 100-continue
Connection: Keep-Alive
{
"enableGDAPByDefault": false,
"Id": null,
"CommerceId": null,
"CompanyProfile": {
"TenantId": null,
"Domain": "WingtipToys678152504.onmicrosoft.com",
"CompanyName": null,
"Attributes": {
"ObjectType": "CustomerCompanyProfile"
}
},
"BillingProfile": {
"Id": null,
"FirstName": null,
"LastName": null,
"Email": "Gena@wingtiptoys.com",
"Culture": "EN-US",
"Language": "En",
"CompanyName": "Wingtip Toys",
"DefaultAddress": {
"Country": "US",
"Region": null,
"City": "Redmond",
"State": "WA",
"AddressLine1": "One Microsoft Way",
"AddressLine2": null,
"PostalCode": "98052",
"FirstName": "Gena",
"LastName": "Soto",
"PhoneNumber": "4255550101"
},
"Attributes": {
"ObjectType": "CustomerBillingProfile"
}
},
"RelationshipToPartner": "none",
"AllowDelegatedAccess": null,
"UserCredentials": null,
"CustomDomains": null,
"AssociatedPartnerId": "484e548c-f5f3-4528-93a9-c16c6373cb59",
"Attributes": {
"ObjectType": "Customer"
}
}
Importante
A partir de junho de 2023, a versão 3.4.0 mais recente do SDK do Partner Center .NET foi arquivada. Você pode baixar a versão do SDK no GitHub, juntamente com um arquivo leiame que contém informações úteis.
Os parceiros são incentivados a continuar a usar as APIs REST do Partner Center.
Resposta REST
Se for bem-sucedida, a resposta conterá um recurso Cliente para o novo cliente.
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: 1085
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: d628adbe-b7ee-412e-ac55-58f22b4ba2f4
MS-CV: Yy/YaA0gYEmfQyR/.0
MS-ServerId: 030020525
Date: Tue, 06 Jun 2017 23:11:40 GMT
{
"enableGDAPByDefault": false,
"id": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"commerceId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"companyProfile": {
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"domain": "WingtipToys678152504.onmicrosoft.com",
"companyName": "Wingtip Toys",
"links": {
"self": {
"uri": "/customers/aaaabbbb-0000-cccc-1111-dddd2222eeee/profiles/company",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "CustomerCompanyProfile"
}
},
"billingProfile": {
"id": "7079246e-7b62-56ef-7cbd-a819514b54b5",
"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": "4255550101"
},
"attributes": {
"etag": "-8799889149591823008",
"objectType": "CustomerBillingProfile"
}
},
"relationshipToPartner": "reseller",
"allowDelegatedAccess": true,
"userCredentials": {
"userName": "admin",
"password": "0Krha*Io"
},
"associatedPartnerId": "484e548c-f5f3-4528-93a9-c16c6373cb59",
"attributes": {
"objectType": "Customer"
}
}