Set Channel Virtual User Count and Virtual Users
Interface Description
1、设置频道虚拟人数及自定义虚拟人列表
2、接口支持https协议
Interface URL
http://api.polyv.net/live/v4/channel/robot/setting-robot-list/update
Request Method
POST
Interface Constraints
The interface supports both HTTP and HTTPS. HTTPS is recommended for security. API calls have frequency limits. See details
Set the request header
contentType:application/json
Request Parameter Description
| Parameter | Required | Type | Description |
|---|---|---|---|
| appId | true | String | Account appId [See Get Secret Key] |
| timestamp | true | Long | Current 13-digit millisecond timestamp, valid for 3 minutes |
| sign | true | String | Signature, a 32-character uppercase MD5 value. The appSecret key used to generate the signature is critical for communication data security. It must not be stored or used directly on the client. All APIs must be relayed through the customer's own server to call the POLYV server for response data. [See Signature Generation Rules] |
| channelId | true | String | Channel ID |
Request Body Parameter Description
| Parameter | Required | Type | Description |
|---|---|---|---|
| channelId | true | Integer | Channel ID |
| robotNumber | true | Integer | Number of virtual users displayed in the chat room, maximum value is 600000 |
| virtualBookingNumber | false | Integer | Number of virtual bookings |
| addRobotModel | true | String | User count display mode timely: Takes effect immediately fixed_time: Takes effect at a scheduled time |
| changeTime | false | Integer | Effective time, required when addRobotModel is fixed_time. Unit: seconds, minimum value is 20 (20 seconds), maximum value is 18000 (300 minutes) |
| robotList | false | Array | Custom robot list, supports up to 600000 robots. 1: If not passed, uses content library robots. 2: If the count is less than robotNumber, system-generated robots will supplement |
robotList Field Description
| Parameter | Required | Type | Description |
|---|---|---|---|
| name | true | String | Robot nickname |
| avatar | true | String | Robot avatar URL |
Example
http://api.polyv.net/live/v4/channel/robot/setting-robot-list/update?appId=xxx&sign=xxx×tamp=xxx&channelId=3335806
{
"channelId": 3335806,
"robotNumber": 500,
"addRobotModel": "timely",
"virtualBookingNumber": 100,
"robotRandomMemberEnabled": "N",
"robotList": [
{
"name": "观众1",
"avatar": "https://liveimages.videocc.net/uploadimage/avatar/1.png"
},
{
"name": "观众2",
"avatar": "https://liveimages.videocc.net/uploadimage/avatar/2.png"
}
]
}
Response Parameter Description
| Parameter | Type | Description |
|---|---|---|
| code | Integer | Status code, same as HTTP status code, used to determine the basic response status |
| status | String | Response result, determined by business logic. Returns success on success, error on failure |
| success | Boolean | Whether the response was successful |
| requestId | String | Request ID, a unique UUID generated for each request. Only used for troubleshooting and debugging, not related to business logic |
| error | Object | Error information when status code is not 200 [See Error Field Description] |
| data | Object | Returns null on successful response |
Error Parameter Description
| Parameter | Type | Description |
|---|---|---|
| code | Integer | Error code, used to identify the specific error cause |
| desc | String | Error description, corresponding to error.code |
Java Request Example
For quick integration of basic code, download the relevant dependency source code. Click to download source code. After downloading, add it to your own source code project. The test cases include HttpUtil.java and LiveSignUtil.java in the downloaded file.
It is strongly recommended to use the Live Java SDK for API integration. The Live Java SDK provides unified encapsulation and optimization for API call logic, exception handling, data signing, and HTTP request thread pools.
private static final Logger log = LoggerFactory.getLogger(getClass());
/**
* 设置频道虚拟人数及虚拟人
* @throws IOException
* @throws NoSuchAlgorithmException
*/
@Test
public void updateRobotListSettingTest() throws IOException, NoSuchAlgorithmException {
//公共参数,填写自己的实际参数
String appId = super.appId;
String appSecret = super.appSecret;
String timestamp = String.valueOf(System.currentTimeMillis());
//业务参数
String url = "http://api.polyv.net/live/v4/channel/robot/setting-robot-list/update";
String channelId = "3335806";
//签名参数
Map<String, String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp", timestamp);
requestMap.put("channelId", channelId);
requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
//请求体参数
Map<String, Object> jsonMap = new HashMap<>();
jsonMap.put("channelId", Integer.valueOf(channelId));
jsonMap.put("robotNumber", 500);
jsonMap.put("addRobotModel", "timely");
List<Map<String, String>> robotList = new ArrayList<>();
Map<String, String> robot1 = new HashMap<>();
robot1.put("name", "观众1");
robot1.put("avatar", "https://liveimages.videocc.net/uploadimage/avatar/1.png");
robotList.add(robot1);
jsonMap.put("robotList", robotList);
url = HttpUtil.appendUrl(url, requestMap);
String response = HttpUtil.postJsonBody(url, JSON.toJSONString(jsonMap), null);
log.info("测试设置频道虚拟人数及虚拟人成功:{}", response);
//do somethings
}
Response Example
For global system error descriptions, see Global Error Description
Success Example
{
"code": 200,
"status": "success",
"requestId": "61b9319c9e3b42979f8a152dfa6b3f40.73.16626900842179815",
"data": null,
"success": true
}
Error Example
{
"code": 400,
"status": "error",
"requestId": "4081dbac03e6441e8bdd301d8feee5a2.117.16360830583026105",
"error": {
"code": 30004,
"desc": "找不到频道"
},
"success": false
}
