# 获取频道虚拟人数设置

### 接口URL

```
https://api.polyv.net/live/v3/channel/basic/get-rebot-setting
```

### 接口说明

```
1、接口用于查询频道虚拟人数设置信息
2、接口支持https
```

### 支持格式

```
JSON
```

### 请求方式

```
GET、POST
```

### 请求数限制

```
TRUE
```

### 请求参数

| 参数名        | 必选 | 类型     | 说明                                                                                                                                                                                                        |
| ---------- | -- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| appId      | 是  | string | 从API设置中获取，在直播系统登记的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)】 |
| channelIds | 是  | string | 频道ID,多个频道使用","分隔                                                                                                                                                                                          |

### 响应成功JSON示例：

```json
{
    "code": 200,
    "status": "success",
    "message": "",
    "data": {
        "list": [
            {
                "channelId": 2180007,
                "robotNumber": 6,
                "addRobotModel": "timely",
                "changeTime": 20000,
                "leftTime": 0,
                "robotNumberTimes": 1
            },
            {
                "channelId": 2204300,
                "robotNumber": 0,
                "addRobotModel": "timely",
                "changeTime": 20000,
                "leftTime": 0,
                "robotNumberTimes": 1
            }
        ]
    }
}
```

### 响应字段说明

| 参数名                        | 说明                                     |
| -------------------------- | -------------------------------------- |
| code                       | 状态码,成功为200，签名失败为403，参数错误为400，服务端错误为500 |
| status                     | 成功为success,错误时为error                   |
| message                    | 成功为""，错误时为错误描述信息                       |
| data                       | 响应数据                                   |
| data.list.channelId        | 频道ID                                   |
| data.list.robotNumber      | 虚拟人数                                   |
| data.list.robotNumberTimes | 虚拟人数倍数                                 |
| data.list.addRobotModel    | 人数显示模式，timely立即生效、fixed\_time分时生效      |
| data.list.changeTime       | 增加虚拟观众的分时时间，单位毫秒                       |
| data.list.leftTime         | 距离下次可设置时间，单位毫秒                         |

### 响应失败JSON示例：

参数错误

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

未输入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": ""
}
```

非法频道号

```json
{
    "code": 403,
    "status": "error",
    "message": "illegal channel id: %s",
    "data": ""
}
```

### java请求示例

```java
public void testAddRecordTask() {
        String url = "https://api.polyv.net/live/v3/channel/basic/get-rebot-setting";
        // appId和加密串
        String appId = "xxxxxxx";
        String appSecret = "xxxxxxxxxxxxxxxxxx";

        Map<String, String> params = new HashMap<>();
        params.put("channelIds", "2204300,2180007");

        // 调用Polyv的工具类方法设置sign
        PolyvTool.setLiveSign(params, appId, appSecret);
        String content = HttpClientUtil.getInstance()
                .sendHttpPost(url, params);
        System.out.println(content);
}
```
