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:

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

  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

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
Email 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: 0dd197a8-992c-44ca-aeae-21cd83494dce
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: 0dd197a8-992c-44ca-aeae-21cd83494dce
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": "626099fe-17af-4756-9fd0-6a73b7127859",
    "commerceId": "626099fe-17af-4756-9fd0-6a73b7127859",
    "companyProfile": {
        "tenantId": "626099fe-17af-4756-9fd0-6a73b7127859",
        "domain": "WingtipToys678152504.onmicrosoft.com",
        "companyName": "Wingtip Toys",
        "links": {
            "self": {
                "uri": "/customers/626099fe-17af-4756-9fd0-6a73b7127859/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"
    }
}