创建客户

适用于:合作伙伴中心 | 由世纪互联运营的合作伙伴中心 | Microsoft Cloud for US Government 合作伙伴中心

作为云解决方案提供商(CSP)合作伙伴,创建客户时,可以代表客户下订单。 创建客户时,也创建:

  • 客户的 Microsoft Entra 租户对象
  • 经销商与客户之间的关系(用于委派管理员权限)
  • 以客户管理员身份登录的用户名和密码

创建客户后,保存 客户 ID 和 Microsoft Entra ID 详细信息。

重要

如果你是间接提供商,并且想要为间接经销商创建客户,请参阅 为间接经销商创建客户。

先决条件

重要

若要创建客户租户,必须在创建过程中提供有效的物理地址。 可以按照“验证地址”方案中概述 的步骤验证地址 。 如果在沙盒环境中使用无效地址创建客户,则无法删除该客户租户。

重要

如果不接受传递 userCredentials 密码。

C#

添加客户:

  1. 实例化新的 Customer 对象。 请务必填写 BillingProfileCompanyProfile

  2. 通过调用 Create 或 CreateAsync 将新客户添加到 IAggregatePartner.Customers 集合。

C# 示例

// IAggregatePartner partnerOperations;

var partnerOperations = this.Context.UserPartnerOperations;

var customerToCreate = new Customer()
{
    CompanyProfile = new CustomerCompanyProfile()
    {
        Domain = string.Format(CultureInfo.InvariantCulture,
            "SampleApplication{0}.{1}",
            new Random().Next(),
            this.Context.Configuration.Scenario.CustomerDomainSuffix),
        //// OrganizationRegistrationNumber = "123456" // Please add if in specific country/region that requires
    },
    BillingProfile = new CustomerBillingProfile()
    {
        Culture = "EN-US",
        Email = "gena@wingtiptoys.com",
        Language = "En",
        CompanyName = "Wingtip Toys"
        DefaultAddress = new Address()
        {
            FirstName = "Gena",
            MiddleName = "Coralie",
            LastName = "Soto",
            AddressLine1 = "One Microsoft Way",
            City = "Redmond",
            State = "WA",
            Country = "US",
            PostalCode = "98052",
            PhoneNumber = ""
        }
    }
};

var newCustomer = partnerOperations.Customers.Create(customerToCreate);

C# 示例应用

REST

请求语法

方法 请求 URI
POST {baseURL}/v1/customers HTTP/1.1

请求标头

  • 此 API 是幂等的(如果多次调用它,则不会产生其他结果)。

  • 需要请求 ID 和关联 ID。

  • 有关详细信息,请参阅合作伙伴中心 REST 标头

请求正文

下表描述了请求正文中的必需属性。

名称 Type 描述
BillingProfile object 客户的计费配置文件信息。
CompanyProfile object 客户的公司配置文件信息。

计费配置文件

下表描述了创建新客户所需的 CustomerBillingProfile 资源中所需的最小必填字段

名称 Type 描述
电子邮件 string 客户的电子邮件地址。
culture string 他们首选的通信和货币文化,例如 en-US。 请参阅 支持区域性的合作伙伴中心支持的语言和区域 设置。
language string 默认语言。 支持两个字符语言代码(例如 enfr)。
companyName string 已注册的公司/组织名称。
defaultAddress Address 客户的公司/组织的注册地址。 有关任何长度限制的信息,请参阅地址资源。

公司简介

下表描述了创建新客户所需的 CustomerCompanyProfile 资源中所需的最小必填字段

名称 Type 描述
domain string 客户的域名,例如 contoso.onmicrosoft.com。
organizationRegistrationNumber 字符串 客户的组织注册号(也称为某些国家/地区的 INN 号码)。 仅适用于位于以下国家/地区的客户的公司/组织:亚美尼亚(AM)、阿塞拜疆(AZ)、白俄罗斯(BY)、匈牙利(HU)、哈萨克斯坦(KZ)、吉尔吉斯斯坦(KG)、摩尔多瓦(MD)、俄罗斯(RU)、塔吉克斯坦(TJ)、乌兹别克斯坦(UZ)、乌克兰(UA)、巴西(BR)、印度、 南非、波兰、阿拉伯联合酋长国、沙特阿拉伯、图基耶、泰国、越南、缅甸、伊拉克、南苏丹、委内瑞拉和中国。 对于位于其他国家/地区的客户的公司/组织,这是一个可选字段。

GDAP 默认

名称 Type 描述
enableGDAPByDefault 布尔 用于指示我们是否要默认启用 GDAP 的布尔值。 如果为 true,则默认创建 GDAP。 如果为 false,则不会创建 GDAP。 请注意,这仅在支持 GDAP 的云中受支持。 如果没有支持,则默认情况下将创建 DAP。

请求示例

POST https://api.partnercenter.microsoft.com/v1/customers HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: ab993325-1605-4cf4-bac4-fb584142a31b
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 789
Expect: 100-continue
Connection: Keep-Alive

{
    "enableGDAPByDefault": false,
    "CompanyProfile": {
        "Domain": "xyz.onmicrosoft.com"
    },
    "BillingProfile": {
        "Culture": "EN-US",
        "Email": "gena@wingtiptoys.com",
        "Language": "en",
        "CompanyName": "Wingtip Toys",
        "DefaultAddress": {
            "FirstName": "Gena",
            "LastName": "Soto",
            "AddressLine1": "One Microsoft Way",
            "City": "Redmond",
            "State": "WA",
            "PostalCode": "98052",
            "Country": "US"
        }
    }
}

REST 响应

如果成功,此 API 将为 新客户返回客户 资源。 保存客户 ID 和 Microsoft Entra ID 详细信息,以便将来与合作伙伴中心 SDK 一起使用。 例如,你需要它们用于帐户管理。

响应的成功和错误代码

响应附带了一个 HTTP 状态代码,指示成功或失败和其他调试信息。 请使用网络跟踪工具来读取此代码、错误类型和其他参数。 如需完整列表,请参阅合作伙伴中心 REST 错误代码

响应示例

HTTP/1.1 201 Created
Content-Length: 834
Content-Type: application/json; charset=utf-8
MS-CorrelationId: ab993325-1605-4cf4-bac4-fb584142a31b
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CV: ObwhuhD2tUKJoM+Z.0
MS-ServerId: 202010223
Date: Tue, 14 Feb 2017 20:06:02 GMT

{
    "id": "dfd8cc0a-c592-468c-8461-869a38d24738",
    "commerceId": "0a4ce58a-6f96-4273-8035-d9c7d31b9ba4",
    "companyProfile": {
        "tenantId": "dfd8cc0a-c592-468c-8461-869a38d24738",
        "domain": "xyz.onmicrosoft.com",
        "attributes": {
            "objectType": "CustomerCompanyProfile"
        }
    },
    "billingProfile": {
        "id": "d17c0275-da92-5c33-9032-782ef1d0b69b",
        "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": ""
        },
        "attributes": {
            "etag": "5920358838484612121",
            "objectType": "CustomerBillingProfile"
        }
    },
    "enableGDAPByDefault": false,
    "relationshipToPartner": "none",
    "userCredentials": {
        "userName": "admin",
        "password": "=;;n.=s9Z"
    },
    "attributes": {
        "objectType": "Customer"
    }
}

Java

注意

合作伙伴中心 SDK for Java 是由合作伙伴社区维护的开放源代码项目。

使用以下步骤创建新客户。

  1. 创建 CustomerBillingProfile 和 CustomerCompanyProfile 对象的新实例。 请务必填充必填字段。
  2. 通过调用 IAggregatePartner.getCustomers()create 函数创建客户。

Java 示例

// IAggregatePartner partnerOperations;

Address address = new Address();

address.setFirstName( "Gena" );
address.setLastName( "Soto" );
address.setAddressLine1( "One Microsoft Way" );
address.setCity( "Redmond" );
address.setState( "WA" );
address.setCountry( "US" );
address.setPostalCode( "98052" );
address.setPhoneNumber( "4255550101" );

CustomerBillingProfile billingProfile = new CustomerBillingProfile();

billingProfile.setCulture( "en-US" );
billingProfile.setEmail( "gena@wingtiptoys.com" );
billingProfile.setLanguage( "en" );
billingProfile.setCompanyName( "Wingtip Toys" );
billingProfile.setDefaultAddress( address );

CustomerCompanyProfile companyProfile = new CustomerCompanyProfile();

companyProfile.setDomain( "WingtipToys" + Math.abs( new Random().nextInt() ) + ".onmicrosoft.com" );

Customer customerToCreate = new Customer();

customerToCreate.setBillingProfile( billingProfile );
customerToCreate.setCompanyProfile( companyProfile );

Customer newCustomer = partnerOperations.getCustomers().create( customerToCreate );

PowerShell

注意

适用于 PowerShell合作伙伴中心 SDK 是合作伙伴社区维护的开放源代码项目。

若要创建客户,请执行 New-PartnerCustomer 命令,如以下示例所示。

New-PartnerCustomer -BillingAddressLine1 '1 Microsoft Way' -BillingAddressCity 'Redmond' -BillingAddressCountry 'US' -BillingAddressPostalCode '98052' -BillingAddressState 'WA' -ContactEmail 'gena@wingtiptoys.com' -ContactFirstName 'Gena' -ContactLastName 'Soto' -Culture 'en-US' -Domain 'newcustomer.onmicrosoft.com' -Language 'en' -Name 'New Customer'