報名觀看資料查詢
更新時間:2022-09-02 18:08:07
介面URL
https://api.polyv.net/live/v3/channel/enroll/list
介面說明
1、接口用于查询频道报名观看数据
2、接口支持https
支援格式
JSON
請求方式
GET、POST
請求數限制
TRUE
請求參數
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| appId | 是 | string | 從API設定中取得,在直播系統登記的appId |
| timestamp | 是 | long | 13位當前毫秒級時間戳 |
| sign | 是 | String | 簽名,為32位大寫的MD5值,產生簽名的appSecret金鑰作為通訊資料安全的關鍵資訊,嚴禁儲存在用戶端直接使用,所有API都必須透過客戶自己伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽名產生規則】 |
| channelId | 是 | int | 頻道號 |
回應成功JSON範例:
{
"code": 200,
"status": "success",
"message": "",
"data": {
"list": [
{
"viewerId": "1617162437311",
"mobile": "15814534111",
"createTime": 1617162473000,
"hasWatched": "Y",
"promoteId": "ppp",
"fields": [
{
"name": "手机号码",
"value": "15814534111"
},
{
"name": "隐私声明",
"value": "√"
},
{
"name": "文本1",
"value": ""
},
{
"name": "地域",
"value": "广东省/广州市/黄埔区"
},
{
"name": "自定义选项",
"value": "选项B"
},
{
"name": "邮箱",
"value": "luoyuanbin@polyv.net"
},
{
"name": "姓名",
"value": "luo"
},
{
"name": "自定义填空题",
"value": "tk"
}
]
}
]
}
}
回應欄位說明
| 參數名 | 說明 |
|---|---|
| code | 狀態碼,成功為200,簽名失敗為403,參數錯誤為400,伺服器端錯誤為500 |
| status | 成功為success,錯誤時為error |
| message | 成功為"",錯誤時為錯誤描述資訊 |
| data | 回應資料 |
| data.list.viewerId | 使用者ID |
| data.list.mobile | 手機號碼 |
| data.list.createTime | 報名時間,時間戳 |
| data.list.hasWatched | 是否已觀看 Y是、N否 |
| data.list.promoteId | 推廣管道ID |
| data.list.fields | 報名資訊 |
| data.list.fields.name | 報名資訊名稱 |
| data.list.fields.value | 報名資訊值 |
回應失敗JSON範例:
參數錯誤
{
"code": 400,
"status": "error",
"message": "param validate error",
"data": ""
}
未輸入appId
{
"code": 400,
"status": "error",
"message": "appId is required.",
"data": ""
}
appId不正確
{
"code": 400,
"status": "error",
"message": "application not found.",
"data": ""
}
時間戳錯誤
{
"code": 400,
"status": "error",
"message": "invalid timestamp.",
"data": ""
}
簽名錯誤
{
"code": 403,
"status": "error",
"message": "invalid signature.",
"data": ""
}
非法頻道號
{
"code": 403,
"status": "error",
"message": "illegal channel id: %s",
"data": ""
}
java請求範例
public void testAddRecordTask() {
String url = "https://api.polyv.net/live/v3/channel/enroll/list";
// appId和加密串
String appId = "xxxxxxx";
String appSecret = "xxxxxxxxxxxxxxxxxx";
int channelId = 123;
Map<String, String> params = new HashMap<>();
params.put("channelId", String.valueOf(channelId));
// 调用Polyv的工具类方法设置sign
PolyvTool.setLiveSign(params, appId, appSecret);
String content = HttpClientUtil.getInstance()
.sendHttpPost(url, params);
System.out.println(content);
}
