查詢頻道報名觀看配置
更新時間:2026-11-09 17:32:49
供接入方在自有頁面/App 渲染與保利威後台一致的報名表單,配合提交觀眾報名資訊、查詢觀眾報名及審核狀態使用。
介面描述
1、查询频道报名观看的开关、审核开关及报名表单字段配置(字段、展示顺序、必填、选项、提示信息)
2、查询结果与保利威后台当前生效配置一致,后台修改配置后再次查询即可获取最新配置(接口有短暂缓存,最长延迟约1分钟)
3、接口支持https协议
介面URL
http://api.polyv.net/live/v4/channel/enroll/setting/get
請求方式
GET
介面約束
1、介面同時支援HTTP 、HTTPS ,建議使用HTTPS 確保介面安全,介面呼叫有頻率限制,詳細請查看
2、頻道未開啟報名觀看功能時,enabled 回傳 N,不作為介面呼叫失敗
請求參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| appId | true | String | 帳號appId【詳見取得金鑰】 |
| timestamp | true | Long | 當前13位毫秒級時間戳,3分鐘內有效 |
| sign | true | String | 簽名,為32位大寫的MD5值,生成簽名的appSecret金鑰作為通訊資料安全的關鍵資訊,嚴禁保存在用戶端直接使用,所有API都必須透過客戶自己伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽名生成規則】 |
| channelId | true | Integer | 頻道號 |
範例
http://api.polyv.net/live/v4/channel/enroll/setting/get?appId=frlr1zazn3&sign=16DC042339E27BAD00452D004C1FA9CA&channelId=5588786×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:關閉(報名成功即完成) |
| title | String | 報名表單標題 |
| entranceText | String | 報名觀看入口文字 |
| banner | String | 報名觀看表單頭圖位址,未配置時為空 |
| fillTime | String | 報名填寫時機,beforeEnter:進入直播時,beforeChat:參與互動時 |
| fields | Array | 報名表單欄位列表,按展示順序(rank降序)排列【詳見fields欄位說明】 |
fields參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| id | Integer | 欄位ID,提交報名時表單內容以該ID作為key |
| name | String | 欄位名稱(題目) |
| rank | Integer | 展示排序,數值越大越靠前 |
| tips | String | 輸入提示文案 |
| required | String | 是否必填,Y:必填,N:非必填 |
| type | String | 欄位類型,mobile:手機 name:姓名 text:填空 radio:單選 checkbox:多選 email:電子郵件 area:區域 upload:圖片上傳 tips:文字說明 privacy:隱私聲明 |
| options | String | 選項內容,JSON陣列字串(如 ["男", "女"]),僅單選/多選類型有值 |
| smsCheck | String | 是否開啟簡訊驗證,Y:開啟,N:關閉。該配置僅對保利威觀看頁生效,透過開放API提交報名時不校驗簡訊驗證碼,手機號真實性由接入方自行負責 |
| authType | String | 驗證方式,當type為mobile時有值,mobile:手機驗證,email:電子郵件驗證 |
| showAreaCodeEnabled | String | 是否顯示區號,Y:顯示,N:不顯示 |
| chatNicknameEnabled | String | 是否作為聊天暱稱來源,僅保利威觀看頁使用,接入方可忽略 |
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 testGetEnrollSetting() 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/setting/get";
Integer channelId = 5588786;
Map<String, String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp", timestamp);
requestMap.put("channelId", String.valueOf(channelId));
requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
String response = HttpUtil.get(url, requestMap);
log.info("查询频道报名观看配置,返回值:{}", response);
// do somethings
}
回應範例
系統全域錯誤說明詳見全域錯誤說明
成功範例
{
"code": 200,
"status": "success",
"success": true,
"requestId": "e1e1870c-89a0-4791-b04e-83fb8ddbe16e",
"data": {
"enabled": "Y",
"auditEnabled": "N",
"title": "填表报名",
"entranceText": "报名观看",
"banner": null,
"fillTime": "beforeEnter",
"fields": [
{
"id": 4085187,
"name": "性别",
"rank": 2,
"tips": "",
"required": "N",
"type": "radio",
"options": "[\"男\", \"女\"]",
"smsCheck": "N",
"chatNicknameEnabled": "N",
"authType": null,
"showAreaCodeEnabled": "Y"
},
{
"id": 4085178,
"name": "手机号码",
"rank": 0,
"tips": "请填写手机号码",
"required": "Y",
"type": "mobile",
"options": "[]",
"smsCheck": "N",
"chatNicknameEnabled": "N",
"authType": "mobile",
"showAreaCodeEnabled": "Y"
}
]
}
}
異常範例
{
"code": 400,
"status": "error",
"success": false,
"error": {
"code": 400,
"desc": "找不到频道"
}
}
