# 自定义注册用户接口

### 接口URL

```
http://api.polyv.net/live/v2/app/add-custom-user
```

### 接口说明

```
1、接口用于注册用户
2、接口支持https
```

### 支持格式

```
JSON
```

### 请求方式

```
POST
```

### 请求数限制

```
TRUE
```

### 请求参数

| 参数名       | 必选 | 类型     | 说明                                                                                                                                                                                                        |
| --------- | -- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| appId     | 是  | string | 调用接口需要的APPID                                                                                                                                                                                              |
| timestamp | 是  | long   | 13位当前时间戳                                                                                                                                                                                                  |
| sign      | 是  | String | 签名，为32位大写的MD5值,`生成签名的appSecret密钥作为通信数据安全的关键信息，严禁保存在客户端直接使用，所有API都必须通过客户自己服务器中转调用POLYV服务器获取响应数据`【详见[签名生成规则](https://git.polyv.net/help-center/document-center/-/blob/master/live/api/buildSign/README.md)】 |
| saleId    | 否  | int    | 销售ID                                                                                                                                                                                                      |
| email     | 是  | string | 邮箱地址                                                                                                                                                                                                      |
| mobile    | 是  | string | 手机号码                                                                                                                                                                                                      |
| passwd    | 是  | string | 登录密码，长度限制：5到16位                                                                                                                                                                                           |
| industry  | 否  | string | 企业名称                                                                                                                                                                                                      |

### 响应成功JSON示例：

```json
{
    "code": 200,
    "status": "success",
    "message": "",
    "data": {
        "appId": "$appId",
        "name": "$name",
        "appSecret": "$appSecret",
        "userId": "$userId"
    }
}
```

### 响应字段说明

| 参数名            | 说明                                     |
| -------------- | -------------------------------------- |
| code           | 状态码,成功为200，签名失败为403，参数错误为400，服务端错误为500 |
| status         | 成功为success,错误时为error                   |
| message        | 成功为""，错误时为错误描述信息                       |
| data.appId     | 用户调用接口需要的appId                         |
| data.name      | 用户名称                                   |
| data.appSecret | 用户调用接口的KEY                             |
| data.userId    | 用户ID                                   |

### 响应失败JSON示例：

参数错误

```json
{
    "code": 400,
    "status": "error",
    "message": "param validate error",
    "data": 400
}
```

未输入appId

```json
{
    "code": 400,
    "status": "error",
    "message": "appId is required.",
    "data": ""
}
```

appId不正确

```json
{
    "code": 400,
    "status": "error",
    "message": "application not found.",
    "data": ""
}
```

时间戳错误

```json
{
    "code": 400,
    "status": "error",
    "message": "invalid timestamp.",
    "data": ""
}
```

签名错误

```json
{
    "code": 403,
    "status": "error",
    "message": "invalid signature.",
    "data": ""
}
```

### php请求示例

```php
<?php
//引用config.php
include 'config.php';
$email = "xxxxx@xxxx.com";
$passwd = "123456";
$name = "xxxxx";
$mobile = "1889887777";
$industry="company";
$saleId = "$saleId";
$params = array(
  'appId' => $appId,
  'timestamp' => $timestamp,
  'email' => $email,
  'name' => $name,
  'mobile' => $mobile,
  'passwd' => $passwd,
  'industry' => $industry,
  'saleId' =>  $saleId
);

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法
$params['sign'] = $sign;

$url = "http://api.polyv.net/live/v2/app/add-custom-user?".http_build_query($params);

$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, 1);
$res = curl_exec($curl);
curl_close($curl);

echo $res;
?>
```
