
# 创建客户-CreateSubCustomer
#### 功能介绍
在伙伴销售平台创建客户时同步创建华为云账号，并将客户在伙伴销售平台上的账号与华为云账号进行映射。同时，创建的华为云账号与伙伴账号关联绑定。
华为云总经销商（一级经销商）可以注册云经销商（二级经销商）的子客户。注册完成后，子客户可以自动和云经销商绑定。
![](https://support.huaweicloud.com/api-bpconsole/public_sys-resources/caution_3.0-zh-cn.png)
- 调用该接口为客户创建华为云账号后，如果想从合作伙伴销售平台跳转至华为云官网，还需要进行SAML认证，具体请参见"[Web UI方式](https://support.huaweicloud.com/api-bpconsole/jac_00001.html)"中的"SAML认证"。
- 如果创建的时候不输入手机号，那么客户将无法收到华为云发出的任何提醒短信，需要客户自己登录到华为云平台补充手机号。
- 调用"创建客户"接口时，华为云会同步创建华为云客户账号，将客户ID及账号名返回给伙伴平台，然后华为云异步完成客户与伙伴的关联。伙伴与客户的关联结果可通过"[查询客户列表-ListSubCustomers](https://support.huaweicloud.com/api-bpconsole/mc_00021.html)"查询。
- 默认会创建代售模式的客户。
 
#### 接口约束
- 该接口只允许使用解决方案提供商或华为云总经销商（一级经销商）的AK/SK或者Token调用。
- 合作伙伴销售平台创建客户的页面必须体现[华为云用户协议](https://www.huaweicloud.com/declaration/sa_cua.html)和[隐私政策声明](https://www.huaweicloud.com/declaration/sa_prp.html)。
- 如果创建客户的时候输入手机号，在调用该接口前，请先调用"[发送验证码-SendVerificationMessageCode](https://support.huaweicloud.com/api-bpconsole/mc_00024.html)"接口获取验证码。
- 自2022年8月1日起，密码长度至少为8个字符。
 
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=BSS&api=CreateSubCustomer)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
操作员账号调用当前API需经过授权，您可以通过伙伴中心为操作员赋予相应权限项来完成授权。有关如何为角色授权的详细信息，请参见[为组织人员分配权限](https://support.huaweicloud.com/usermanual-bpconsole/zh-cn_topic_0072435164.html)。
接口对应的权限项如下：
| **场景** | **子场景** | 接口名称 | 接口URL                           | 权限项                         | 权限项名称                         |
|:---|:---|:---|:---|:---|:---|
| 管理客户   | 注册客户    | 创建客户 | POST /v2/partners/sub-customers | BPC_ITEM_SUBCUSTSERV_010118 | 销售-客户-客户管理-客户列表-创建伙伴子客户（能力开放） |
   
#### URI
POST /v2/partners/sub-customers
#### 请求消息
**请求参数**
| 参数                         | 是否必选 | 参数类型    | 取值范围        | 描述                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|:---|
| xaccount_id                | 是    | String  | 最大长度：128    | 伙伴销售平台的用户唯一标识，该标识的具体值由伙伴分配。                                                                                                                                                                                                                                                                                                                                                                                                   |
| xaccount_type              | 是    | String  | 最大长度：64     | 华为分给合作伙伴的平台标识。 该标识的具体值由华为分配。获取方法请参见[如何获取xaccountType的取值](https://support.huaweicloud.com/api-bpconsole/bpconsole_apifaq_00002.html)。                                                                                                                                                                                                                                                              |
| domain_name                | 否    | String  | \[5-32\]    | 客户的华为云账号名。 如果为空，随机生成。 不能以"op_"或"shadow_"开头且不能全为数字。 校验长度（5到32位）和规则\^(\[a-zA-Z_-\](\[a-zA-Z0-9_-\])\*)$。 此参数不携带或携带值为空串或携带值为null时，随机生成。                                                                                                                                                                               |
| mobile_phone               | 否    | String  | 最大长度：32     | 手机号。 目前系统只支持中国的手机号。 示例：13*XXXXXX* *XXX* 此参数不携带或携带值为null时，不被赋值；携带值为空串时，赋值为空串。                                                                                                                                                                                                                                                                  |
| verification_code          | 否    | String  | \[6\]       | 验证码。 请调用"[发送验证码-SendVerificationMessageCode](https://support.huaweicloud.com/api-bpconsole/mc_00024.html)"接口获取。 如果手机号不存在，则不需要输入验证码。 此参数不携带或携带值为null时，不做处理；不支持携带值为空串。                                                                                                                                                                           |
| password                   | 否    | String  | 长度：\[8-32\] | 密码规则如下： - 至少包含以下四种字符中的两种： 大写字母、小写字母、数字、特殊字符；  - 不能和账号名或倒序的账号名相同；  - 不能包含手机号。   如果为空，用户没有密码，则不能直接在华为云登录，只能通过伙伴系统SSO方式跳转到华为云。 此参数不携带或携带值为null时，密码随机生成；不支持携带值为空串。 |
| is_close_market_ms         | 否    | String  | 最大长度：10     | 是否关闭营销消息的发送。 - true：关闭  - false：不关闭（默认）   此参数不携带或携带值为空串或携带值为null时，赋值为false。                                                                                                                                                                            |
| indirect_partner_id        | 否    | String  | 最大长度：64     | 云经销商ID。获取方法请参见[查询云经销商列表](https://support.huaweicloud.com/api-bpconsole/espp_00003.html)。 如果需要创建云经销商的子客户，必须携带该字段。除此之外，此参数不携带或携带值为空串或携带值为null，不做处理。                                                                                                                                                                                                                                                   |
| include_association_result | 否    | Boolean | -           | 是否返回子客户的关联结果。 - true：返回子客户和伙伴的关联结果  - false：不返回子客户和伙伴的关联结果   默认值为false。 此参数不携带或携带值为空串或携带值为null时，赋值为false。                                                                                                                   |
   
**请求示例**
```
POST  https://bss.myhuaweicloud.com/v2/partners/sub-customers HTTP/1.1
Content-Type: application/json
X-Auth-Token：MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ
{
  "domain_name": "test",
  "mobile_phone": "188****8888",
  "verification_code": "253***",
  "xaccount_id": "35rey****",
  "xaccount_type": "***_IDP",
  "password": "*******",
  "is_close_market_ms": "true",
  "indirect_partner_id": "a0d736********aab6502d1a828c1809",
  "include_association_result": "false"
}
```
#### 响应消息
**响应参数**
| 参数          | 参数类型   | 取值范围      | 描述                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| error_code  | String | 最大长度：16   | 状态码。具体请参考[状态码]。只有失败才会返回这个参数。                                                                                                                                                                                                                              |
| error_msg   | String | 最大长度：1024 | 错误描述信息。只有失败才会返回这个参数。                                                                                                                                                                                                                                                                        |
| domain_id   | String | 最大长度：64   | 客户ID。 只有成功或者错误码在CBC.99000050时才会返回。                                                                                                                                                                                                                               |
| domain_name | String | 最大长度：64   | 客户的华为云账号名。 - 若请求参数中传递了此参数值，此处返回的响应值与请求参数中取值一致。  - 若请求参数中未传递此参数值，此处返回的响应值为系统随机生成的32位字符串。   只有成功时或者错误码在CBC.99000050时才会返回。 |
   
**响应示例**
```
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: length
Date: response time  
{
  "domain_id": "06a7969058802f0c0f01c00b91846780",
  "domain_name": "a0d736359ada40aab6502d1a828c1809"
}
```
 #### 状态码
![](https://support.huaweicloud.com/api-bpconsole/public_sys-resources/note_3.0-zh-cn.png)
- 状态码4xx：由于明显的客户端错误（例如，格式错误的请求语法、参数错误等），华为云会返回4xx错误码，请及时检查请求消息的正确性，重新发起请求。
- 状态码5xx：由于华为云系统原因，导致无法完成明显有效请求的处理，可及时联系华为云客服处理。
 
| HTTP状态码 | 错误码          | 错误描述                                                                                             |
|:---|:---|:---|
| 400     | CBC.0100     | 参数错误。 请根据"请求消息"中请求参数的描述检查输入的参数是否满足条件。                                |
| 400     | CBC.0101     | 参数无效。                                                                                            |
| 400     | CBC.50010059 | 一级经销商不允许关联子客户。                                                                                   |
| 400     | CBC.50010065 | 该伙伴是云经销商，其关联的总经销商已经摘牌退出，无法拓客创建关联关系。                                                              |
| 400     | CBC.99000038 | 客户登录名已经存在。                                                                                       |
| 400     | CBC.99000029 | 客户手机号已经存在。                                                                                       |
| 400     | CBC.99000031 | 客户登录名格式不合法。                                                                                      |
| 400     | CBC.5017     | 客户手机号格式不合法。                                                                                      |
| 400     | CBC.99000039 | xaccountId重复。                                                                                    |
| 400     | CBC.99000004 | 客户向伙伴授权时发生异常。                                                                                    |
| 400     | CBC.99000030 | 手机号注册数量超过上限。                                                                                     |
| 400     | CBC.99000036 | 客户密码格式不合法。                                                                                       |
| 400     | CBC.99000037 | 您没有操作该云经销商的权限。                                                                                   |
| 500     | CBC.99000050 | 伙伴和子客户关联结果查询超时，请使用[查询客户列表](https://support.huaweicloud.com/api-bpconsole/mc_00021.html)确认最终关联结果。 |
| 400     | CBC.99000051 | 该手机号/邮箱已被华为报备，无法创建客户。                                                                            |
| 400     | CBC.99000062 | 无法同一时间创建多个相同客户。                                                                                  |
| 400     | CBC.99004008 | 有验证码，但是已经失效。                                                                                     |
| 400     | CBC.99004009 | 有验证码，但是校验失败次数已经大于3。                                                                              |
| 400     | CBC.99004010 | 校验客户端输入的验证码错误。                                                                                   |
| 400     | CBC.99005035 | 测试伙伴账号不能使用该接口。                                                                                   |
| 401     | CBC.0154     | token非法/过期。                                                                                      |
| 403     | CBC.0151     | 访问拒绝。                                                                                            |
| 500     | CBC.0999     | 其他错误。                                                                                            |
| 400     | CBC.50010085 | 该伙伴企业目前处于受限状态，无法拓客创建关联关系。                                                                        |
| 400     | CBC.50010086 | 该伙伴是云经销商，其关联的总经销商企业目前处于受限状态，无法拓客创建关联关系。                                                          |
   
