查询观众报名及审核状态
更新时间:2026-11-09 17:32:49
供接入方在观众进入观看前,按频道号 + 接入方观众ID查询该观众的报名状态,判断是否满足报名观看条件。配合查询频道报名观看配置、提交观众报名信息使用。
接口描述
1、按频道号和接入方观众ID查询该观众的报名及审核状态,无需获取频道全部报名记录
2、观众无有效报名记录时返回未报名(hasEnroll=N),不作为接口调用失败
3、提交报名成功或保利威后台完成审核后,再次查询即可获取更新后的状态(接口有短暂缓存,提交报名后立即查询返回最新值,后台审核结果最长延迟约1分钟)
4、接口支持https协议
接口URL
http://api.polyv.net/live/v4/channel/enroll/record/get
请求方式
GET
接口约束
1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看
2、建议按观众进入观看页的时机调用(如进入直播页前查询一次),避免以固定间隔高频轮询
请求参数描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appId | true | String | 账号appId【详见获取密钥】 |
| timestamp | true | Long | 当前13位毫秒级时间戳,3分钟内有效 |
| sign | true | String | 签名,为32位大写的MD5值,生成签名的appSecret密钥作为通信数据安全的关键信息,严禁保存在客户端直接使用,所有API都必须通过客户自己服务器中转调用POLYV服务器获取响应数据【详见签名生成规则】 |
| channelId | true | Integer | 频道号 |
| viewerId | true | String | 接入方观众ID,提交报名时传入的观众ID |
示例
http://api.polyv.net/live/v4/channel/enroll/record/get?appId=frlr1zazn3&sign=16DC042339E27BAD00452D004C1FA9CA&channelId=5588786&viewerId=viewer001×tamp=1731128494801
响应参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | Integer | 响应状态码,200为成功返回,非200为失败 |
| status | String | 响应结果,成功返回success,失败返回error |
| success | Boolean | 响应结果,成功返回true,失败返回false |
| data | Object | 报名状态【详见data字段说明】 |
| error | Object | 状态码非200时的错误信息【详见Error字段说明】 |
| requestId | String | 请求ID,每次请求生成的唯一的 UUID,仅可用于排查、调试,不应该和业务挂上钩 |
Error参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | Integer | 错误代码,用于确定具体的错误原因 |
| desc | String | 错误描述,与 error.code 对应 |
data参数描述
| 参数名 | 类型 | 说明 |
|---|---|---|
| enabled | String | 频道报名观看开关,Y:开启,N:关闭 |
| auditEnabled | String | 报名审核开关,Y:开启,N:关闭 |
| hasEnroll | String | 观众是否已报名,Y:已报名,N:未报名(未报名不算接口调用失败) |
| auditStatus | String | 审核状态,W:待审核,P:已通过,F:已拒绝;未报名时为空。 频道未开启审核(auditEnabled=N)时报名成功即为完成观看条件,无需关注此字段 |
Java请求示例
快速接入基础代码请下载相关依赖源码, 点击下载源代码 ,下载后加入到自己的源码工程中即可。测试用例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下载文件中。
强烈建议您使用直播Java SDK完成API的功能对接,直播Java SDK 对API调用逻辑、异常处理、数据签名、HTTP请求线程池进行了统一封装和优化。
private static final Logger log = LoggerFactory.getLogger(ChannelEnrollControllerTest.class);
/**
* 查询观众报名及审核状态
* @throws IOException
* @throws NoSuchAlgorithmException
*/
@Test
public void testGetEnrollStatus() 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/enroll/record/get";
Integer channelId = 5588786;
String viewerId = "viewer001";
Map<String, String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp", timestamp);
requestMap.put("channelId", String.valueOf(channelId));
requestMap.put("viewerId", viewerId);
requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
String response = HttpUtil.get(url, requestMap);
log.info("查询观众报名及审核状态,返回值:{}", response);
// do somethings
}
响应示例
系统全局错误说明详见全局错误说明
成功示例(未报名)
{
"code": 200,
"status": "success",
"success": true,
"data": {
"enabled": "Y",
"auditEnabled": "N",
"hasEnroll": "N",
"auditStatus": null
}
}
成功示例(已报名,待审核)
{
"code": 200,
"status": "success",
"success": true,
"data": {
"enabled": "Y",
"auditEnabled": "Y",
"hasEnroll": "Y",
"auditStatus": "W"
}
}
异常示例
{
"code": 400,
"status": "error",
"success": false,
"error": {
"code": 400,
"desc": "找不到频道"
}
}


