查詢觀眾報名及審核狀態
更新時間: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": "找不到频道"
}
}
