Criar um cliente para um revendedor indireto usando APIs do Partner Center
Aplica-se a: Partner Center
Um fornecedor indireto pode criar um cliente para um revendedor indireto.
Pré-requisitos
Credenciais conforme descrito na autenticação do Partner Center. Este cenário suporta autenticação apenas com credenciais App+User.
O identificador de locatário do revendedor indireto.
O revendedor indireto deve ter uma parceria com o fornecedor indireto.
C#
Para adicionar um novo cliente para um revendedor indireto:
Instancie um novo objeto Customer e, em seguida, instancie e preencha o BillingProfile e 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
Pedido REST
Sintaxe da solicitação
Método | URI do pedido |
---|---|
POST | {baseURL}/v1/clientes HTTP/1.1 |
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.
Nome | Type | Obrigatório | Description |
---|---|---|---|
Perfil de Faturamento | objeto | Sim | As informações do perfil de faturação do cliente. |
Perfil da Empresa | objeto | Sim | Informações do perfil da empresa do cliente. |
AssociatedPartnerId | string | Sim | O ID de 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 | Cadeia (de carateres) | Sim | O nome de domínio do cliente, como contoso.onmicrosoft.com. |
organizationRegistrationNumber | string | Sim | O número de registo da organização do cliente (também referido como número INN em determinados países/regiões). Apenas necessário 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, Vietname, Myanmar, 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 faturação
Esta tabela descreve os campos mínimos obrigatórios do recurso CustomerBillingProfile necessários para criar um novo cliente.
Nome | Type | Obrigatório | Description |
---|---|---|---|
Correio eletrónico | string | Sim | O endereço de e-mail do cliente. |
cultura | string | Sim | Sua cultura preferida para comunicação e moeda, como en-US . Consulte Idiomas e localidades suportados pelo Partner Center para conhecer as culturas suportadas. |
idioma | string | Sim | O idioma padrão. Dois códigos de idioma de caracteres (por exemplo en ou fr ) são suportados. |
company_name | string | Sim | O nome da empresa/organização registada. |
default_address | Endereço | Sim | O endereço registado 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 obrigatórios do recurso CustomerCompanyProfile necessários para criar um novo cliente.
Nome | Type | Obrigatório | Description |
---|---|---|---|
domínio | string | Sim | O nome de domínio do cliente, como contoso.onmicrosoft.com. |
organizationRegistrationNumber | string | Depende da condição | O número de registo da organização do cliente (também referido como o número INN em determinados países/regiões). O preenchimento deste campo só é obrigatório 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) - Quirguizistão (KG) - Moldávia (MD) - Rússia (RU) - Tajiquistão (TJ) - Usbequistão (UZ) - Ucrânia (UA) -Índia -Brasil -África do Sul -Polónia -Emirados Árabes Unidos -Arábia Saudita -Türkiye -Tailândia -Vietname - Mianmar -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 | Description |
---|---|---|
enableGDAPByDefault | booleano | Booleano para indicar se queremos habilitar o GDAP por padrão ou não. Se verdadeiro, criaremos GDAP por padrão. Se false, não criaremos GDAP. Observe que isso só é honrado em nuvens que suportam 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 .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.
Resposta do REST
Se for bem-sucedida, a resposta conterá um recurso do Cliente para o novo cliente.
Códigos de sucesso e 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, 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: 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"
}
}