Criar um cliente para um revendedor indiretoCreate a customer for an indirect reseller

Aplica-se a:Applies to:

  • Partner CenterPartner Center

Um provedor indireto pode criar um cliente para um revendedor indireto.An indirect provider can create a customer for an indirect reseller.

Pré-requisitosPrerequisites

  • Credenciais, conforme descrito em Autenticação do Partner Center.Credentials as described in Partner Center authentication. Este cenário dá suporte somente à autenticação com credenciais de aplicativo + de usuário.This scenario supports authentication with App+User credentials only.

  • O identificador de locatário do revendedor indireto.The tenant identifier of the indirect reseller.

  • O revendedor indireto deve ter uma parceria com o provedor indireto.The indirect reseller must have a partnership with the indirect provider.

C#C#

Para adicionar um novo cliente para um revendedor indireto:To add a new customer for an indirect reseller:

  1. Crie uma instância de um novo objeto Customer e, em seguida, instancie e popule o BillingProfile e o CompanyProfile.Instantiate a new Customer object and then instantiate and populate the BillingProfile and CompanyProfile. Certifique-se de atribuir a ID de revendedor indireta à propriedade AssociatedPartnerID .Be sure to assign the indirect reseller ID to the AssociatedPartnerID property.

  2. Use a propriedade IAggregatePartner. Customers para obter uma interface para operações de coleta de cliente.Use the IAggregatePartner.Customers property to get an interface to customer collection operations.

  3. Chame o método Create ou createasync para criar o cliente.Call the Create or CreateAsync method to create the customer.

#Exemplo CC# example

// 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" + new Random().Next(),
        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 do console.Sample: Console test app. Projeto: classede exemplos do SDK do Partner Center: CreateCustomerforIndirectReseller.csProject: Partner Center SDK Samples Class: CreateCustomerforIndirectReseller.cs

Solicitação RESTREST request

Sintaxe da solicitaçãoRequest syntax

MétodoMethod URI da solicitaçãoRequest URI
POSTPOST {baseURL}/v1/Customers http/1.1{baseURL}/v1/customers HTTP/1.1

Cabeçalhos de solicitaçãoRequest headers

Para obter mais informações, confira Cabeçalhos REST do Partner Center.For more information, see Partner Center REST headers.

Corpo da solicitaçãoRequest body

Esta tabela descreve as propriedades necessárias no corpo da solicitação.This table describes the required properties in the request body.

NomeName TipoType ObrigatórioRequired DescriçãoDescription
BillingProfileBillingProfile objetoobject SimYes As informações do perfil de faturamento do cliente.The customer's billing profile information.
CompanyProfileCompanyProfile objetoobject SimYes Informações do perfil da empresa do cliente.The customer's company profile information.
AssociatedPartnerIdAssociatedPartnerId stringstring SimYes A ID indireta do revendedor.The indirect reseller ID. O revendedor indireto, conforme indicado pela ID fornecida aqui, deve ter uma parceria com o provedor indireto ou haverá falha na solicitação.The indirect reseller as indicated by the ID supplied here must have a partnership with the indirect provider or the request will fail. Observe também que, se o valor de AssociatedPartnerId não for fornecido, o cliente será criado como um cliente direto do provedor indireto, em vez do revendedor indireto.Also note that if the AssociatedPartnerId value isn't supplied, the customer is created as a direct customer of the indirect provider rather than the indirect reseller.

Perfil de faturamentoBilling profile

Esta tabela descreve os campos mínimos necessários do recurso CustomerBillingProfile necessário para criar um novo cliente.This table describes the minimum required fields from the CustomerBillingProfile resource needed to create a new customer.

NomeName TipoType ObrigatórioRequired DescriçãoDescription
emailemail stringstring SimYes O endereço de email do cliente.The customer's email address.
cultureculture stringstring SimYes Sua cultura preferida para comunicação e moeda, como "en-US".Their preferred culture for communication and currency, such as "en-US". Consulte idiomas e localidades com suporte do Partner Center para obter as culturas com suporte.See Partner Center supported languages and locales for the supported cultures.
Linguagemlanguage stringstring SimYes O idioma padrão.The default language. Há suporte para os códigos de idioma de dois caracteres (por exemplo en ou fr ).Two character language codes (for example en or fr) are supported.
nome da empresa _company_name stringstring SimYes O nome da empresa/organização registrada.The registered company/organization name.
_endereço padrãodefault_address EndereçoAddress SimYes O endereço registrado da empresa/organização do cliente.The registered address of the customer's company/organization. Consulte o recurso de endereço para obter informações sobre limitações de comprimento.See the Address resource for information on any length limitations.

Perfil da empresaCompany profile

Esta tabela descreve os campos mínimos necessários do recurso CustomerCompanyProfile necessário para criar um novo cliente.This table describes the minimum required fields from the CustomerCompanyProfile resource needed to create a new customer.

NomeName TipoType ObrigatórioRequired DescriçãoDescription
domíniodomain stringstring . Ok.Yes O nome de domínio do cliente, como contoso.onmicrosoft.com.The customer's domain name, such as contoso.onmicrosoft.com.

Exemplo de solicitaçãoRequest example

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

{
    "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 Toys678152504",
        "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"
    }
}

Resposta RESTREST response

Se for bem-sucedida, a resposta conterá um recurso de cliente para o novo cliente.If successful, the response contains a Customer resource for the new customer.

Códigos de êxito e de erro de respostaResponse success and error codes

Cada resposta vem com um código de status HTTP que indica êxito ou falha e informações de depuração adicionais.Each response comes with an HTTP status code that indicates success or failure and additional debugging information. Use uma ferramenta de rastreamento de rede para ler esse código, o tipo de erro e os parâmetros adicionais.Use a network trace tool to read this code, error type, and additional parameters. Para obter a lista completa, confira Códigos de erro REST do Partner Center.For the full list, see Partner Center REST error codes.

Exemplo de respostaResponse example

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

{
    "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 Toys678152504",
        "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 Toys678152504",
        "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"
    }
}