创建客户
适用于:合作伙伴中心 | 由世纪互联运营的合作伙伴中心 | Microsoft Cloud for US Government 合作伙伴中心
作为云解决方案提供商(CSP)合作伙伴,创建客户时,可以代表客户下订单。 创建客户时,也创建:
- 客户的 Microsoft Entra 租户对象
- 经销商与客户之间的关系(用于委派管理员权限)
- 以客户管理员身份登录的用户名和密码
创建客户后,保存 客户 ID 和 Microsoft Entra ID 详细信息。
重要
如果你是间接提供商,并且想要为间接经销商创建客户,请参阅 为间接经销商创建客户。
先决条件
- 合作伙伴中心身份验证中所述的凭据。 此方案支持使用独立应用和 App+User 凭据进行身份验证。
重要
若要创建客户租户,必须在创建过程中提供有效的物理地址。 可以按照“验证地址”方案中概述 的步骤验证地址 。 如果在沙盒环境中使用无效地址创建客户,则无法删除该客户租户。
重要
如果不接受传递 userCredentials 密码。
C#
添加客户:
实例化新的 Customer 对象。 请务必填写 BillingProfile 和 CompanyProfile。
通过调用 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# 示例应用
- 控制台测试应用。 项目:合作伙伴中心 SDK 示例 类:CreateCustomer.cs
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 | 默认语言。 支持两个字符语言代码(例如 en 或 fr )。 |
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: aaaa0000-bb11-2222-33cc-444444dddddd
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: aaaa0000-bb11-2222-33cc-444444dddddd
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": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"commerceId": "0a4ce58a-6f96-4273-8035-d9c7d31b9ba4",
"companyProfile": {
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"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 是由合作伙伴社区维护的开放源代码项目。
使用以下步骤创建新客户。
- 创建 CustomerBillingProfile 和 CustomerCompanyProfile 对象的新实例。 请务必填充必填字段。
- 通过调用 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'