Partilhar via


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:

  1. 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.

  2. Use a propriedade IAggregatePartner.Customers para obter uma interface para operações de coleta de clientes.

  3. 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"
    }
}