Polyv Help Center

Help Center

Set Channel Virtual User Count and Virtual Users

Updated: 2026-06-03 16:55:29

Interface Description

1、设置频道虚拟人数及自定义虚拟人列表
2、接口支持https协议

Interface URL

http://api.polyv.net/live/v4/channel/robot/setting-robot-list/update

Online API Call

Request Method

POST

Interface Constraints

  1. The interface supports both HTTP and HTTPS. HTTPS is recommended for security. API calls have frequency limits. See details

  2. 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&timestamp=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
}
联系客服,在线咨询