获取频道分房间列表接口

接口URL

http://api.polyv.net/live/v3/channel/detail/get-channel-roomIds

接口说明

(接口调用有频率限制,详细请查看)

1、获取频道分房间列表信息
2、接口支持https

返回结果支持格式

JSON

请求方式

GET

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp long 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,为32位大写的MD5值
channelId int 频道号

响应成功JSON示例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": {
        "roomIds": [
            "157468201",
            "157468202"
        ]
    }
}

响应失败JSON示例:

未输入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: 1779742",
    "data": ""
}

字段说明

参数名 类型 说明
code int 响应代码,成功为200,失败为400,签名错误为401,异常错误500
status string 成功为success,失败为error
message string 错误时为错误提示消息
data object 响应结果集
roomIds array 频道分房间的房间号列表

Java请求示例

public static void main(String[] args) {
        String url = "http://api.polyv.net/live/v3/channel/detail/get-channel-roomIds";
        // 用户对应的appId和加密串
        String appId = "xxxxxxxxx";
        String appSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxx";
        Map<String, String> params = new HashMap<>();
        params.put("channelId", "0000000");
        PolyvTool.setLiveSign(params, appId, appSecret);
        // 调用Polyv的httpClient工具类发送请求
        String content = HttpClientUtil.getInstance()
                .sendHttpGet(url + "?" + PolyvTool.mapJoinNotEncode(params));
        System.out.println(content);
    }

签名规则(PolyvTool.java文件代码查看)

https://dev.polyv.net/2020/liveproduct/l-api/rule/live-api-java-detail/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

分页查询账号下观众的观看日志(包含签到信息)–提供给建行

接口URL

http://api.polyv.net/live/v3/user/statistics/viewlog-with-checkin

接口说明

(接口调用有频率限制,详细请查看)

1、作用:分页获取频道带有学员签到信息的观看日志
2、接口支持https协议
3、接口URL中的{channelId}为 频道ID

返回结果支持格式

JSON

请求方式

GET

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
channelId int 频道ID
timestamp string 当前13位毫秒级时间戳,3分钟内有效
page string 页数
pageSize string 每页显示的数据条数,默认每页显示1000条数据
currentDay 请查看下方注意点 string 查询日期,格式:yyyy-MM-dd
startTime 请查看下方注意点 string 查询开始时间,为13位毫秒级时间戳
endTime 请查看下方注意点 string 查询结束时间,13位毫秒级时间戳
param1 string 观看用户ID
param2 string 观看用户昵称
param3 string 观看日志类型
sign string 签名,32位大写MD5值

注意
1. 如果查询一段时间的记录,可以传:startTime、endTime (startTime和endTime 必须在同一个月),如果查询某天的记录,则传currentDay;
2. startTime、endTime 和 currentDay不能都不传;
3. currentDay与startTime、endTime 同时传将使用currentDay的值。

响应成功JSON示例:

{
    "code": 200, 
    "status": "success", 
    "message": "", 
    "data": {
        "pageNumber": 1, 
        "totalItems": 3, 
        "contents": [
            {
            "playId": "1520501687122X1438160",
            "userId": "1c6dc3c666",
            "channelId": 151462,
            "playDuration": 341,
            "stayDuration": 361,
            "flowSize": 10028116,
            "sessionId": "eyz0awxrlh",
            "param1": "1520499775580",
            "param2": "广州观众/78614",
            "param3": "live",
            "param4": "",
            "param5": "",
            "ipAddress": "59.42.41.1",
            "country": "中国",
            "province": "广东",
            "city": "广州",
            "isp": "/南沙区电信",
            "referer": "https://live.polyv.cn/watch/151462",
            "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36",
            "operatingSystem": "Mac OS X",
            "browser": "Chrome",
            "isMobile": "N",
            "currentDay": "2018-03-08",
            "createdTime": 1520501705000,
            "lastModified": 1520504494000,
            "leftTime":1520507705000,
            "firstTime": null,
            "lastTime": null,
            "num": 0
            }, 
            {
            "playId": "1520501157256X1429802",
            "userId": "1c6dc3c666",
            "channelId": 151462,
            "playDuration": 29,
            "stayDuration": 528,
            "flowSize": 1068201,
            "sessionId": "eyz0awxrlh",
            "param1": "1520499775580",
            "param2": "广州观众/78614",
            "param3": "live",
            "param4": "",
            "param5": "",
            "ipAddress": "59.42.41.1",
            "country": "中国",
            "province": "广东",
            "city": "广州",
            "isp": "/南沙区电信",
            "referer": "https://live.polyv.cn/watch/151462",
            "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36",
            "operatingSystem": "Mac OS X",
            "browser": "Chrome",
            "isMobile": "N",
            "currentDay": "2018-03-08",
            "createdTime": 1520501664000,
            "lastModified": 1520504494000,
            "leftTime":1520507705000,
            "firstTime": null,
            "lastTime": null,
            "num": 0
            }, 
                        {
            "playId": "1520500551108X1714565",
            "userId": "1c6dc3c666",
            "channelId": 151462,
            "playDuration": 18,
            "stayDuration": 20,
            "flowSize": 3048444,
            "sessionId": "eyz0awxrlh",
            "param1": "1520499775580",
            "param2": "广州观众/78614",
            "param3": "live",
            "param4": "",
            "param5": "",
            "ipAddress": "59.42.40.205",
            "country": "中国",
            "province": "广东",
            "city": "广州",
            "isp": "/南沙区电信",
            "referer": "https://live.polyv.cn/watch/151462",
            "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36",
            "operatingSystem": "Mac OS X",
            "browser": "Chrome",
            "isMobile": "N",
            "currentDay": "2018-03-08",
            "createdTime": 1520500572000,
            "lastModified": 1520503294000,
            "firstTime": 1520501234000,
            "lastTime": 1520505678000,
            "num": 3
            }
        ], 
        "endRow": 3, 
        "startRow": 1, 
        "firstPage": true, 
        "lastPage": true, 
        "nextPageNumber": 1, 
        "prePageNumber": 1, 
        "totalPages": 1, 
        "limit": 3, 
        "offset": 0
    }
}

响应失败JSON示例:

未输入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": ""
}

未输入currentDay

{
    "code": 400,
    "status": "error",
    "message": "currentDay is empty.",
    "data": ""
}

频道不存在

{
    "code": 400,
    "status": "error",
    "message": "channel not found.",
    "data": ""
}

非法的频道ID

{
    "code": 403,
    "status": "error",
    "message": "invalid channelId.",
    "data": ""
}

字段说明

参数名 说明
code 响应的状态码,例如:200
status 响应状态
message 异常错误信息
data 响应结果集
pageNumber 当前的页数
totalItems 总的条数
contents 查询的结果列表
playId 表示此次播放动作的ID
userId 用户ID
channelId 频道号
playDuration 播放时长
stayDuration 缓存时长
flowSize 流量大小
sessionId 直播场次ID
param1 使用POLYV观看页的观众ID
param2 使用POLYV观看页的观众昵称
param3 观看类型:取值 live(直播)、vod(回放)
param4/5 POLYV系统参数
ipAddress IP地址
country 国家
province 省份
city 城市
isp ISP运营商
referer 播放视频页面地址
userAgent 用户设备
operatingSystem 操作系统
browser 浏览器
isMobile 是否为移动端
currentDay 日志查询日期 (格式为:yyyy-MM-dd)
createdTime 日志创建日期 (13位时间戳)
lastModified 日志更新日期 (13位时间戳)
leftTime 离开直播时间 (13位时间戳)
firsTime 该场直播中首次签到时间 (13位时间戳),没有签到信息时返回为null
lastTime 该场直播中最后一次签到的时间(13位时间戳),没有签到信息时返回为null
num 该场直播的签到次数,没有签到信息返回为0
firstPage 是否为第一页,值为:true/false
lastPage 是否为最后一页,值为:true/false
nextPageNumber 下一页编号
prePageNumber 上一页编号
totalPages 总页数
startRow 当前页第一个记录在列表中的位置
endRow 当前页最后一个记录在列表中的位置
limit 当前页记录个数

php请求示例

<?php

//引用config.php
include 'config.php';

//接口需要的参数(非sign)赋值
$channelId = "124545";
$currentDay = "2018-03-12";  
$page = "1"; //页数
$pageSize="10";//每页显示的数据

$params = array(
    'appId'=>$appId,
    'currentDay'=>$currentDay,
    'page'=>$page,
    'pageSize'=>$pageSize,
    'timestamp'=>$timestamp
  );

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法

//接口请求url
$url = "http://api.polyv.net/live/v3/channel/statistics/viewlog-with-checkin?appId=$appId&channelId=$channelId&currentDay=$currentDay&page=$page&pageSize=$pageSize&timestamp=$timestamp&sign=$sign";

//输出接口请求结果
echo file_get_contents($url);

?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

发送聊天室商品信息socket接口

接口URL

http://api.polyv.net/live/v3/channel/chat/send-product-msg

接口说明

(接口调用有频率限制,详细请查看)

1、发送聊天室socket商品信息
2、接口支持https
3、接口请求频次限制为每分钟30次

返回结果支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp long 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,为32位大写的MD5值
channelId int 频道号
status int 操作类型,必须为整型
1:上架商品
2:下架商品
3:删除商品
4:新增商品
5:编辑商品
6:上移
7:下移
9:推送
10:商品库开关
目前这个status可以自定义,0-20为平台参数,21及其以上客户可自定义

请求体信息

// 如下json,只有发送这种指定类型的json数据,polyv平台观看页才可以响应数据
// 如果发送其他自定义格式,需要自己开发观看页,接收到改socket 消息时自行进行处理。
// 请求体长度限制1000字符,如果超过,会返回错误。
// 4新增、5编辑、1上架、9推送
{
    "cover": "//liveimages.videocc.net/uploadimage/20200827/chat_img_1779741_15985125681801.jpeg?x-oss-process=image/crop,x_95,y_0,w_235,h_235",
    "link": "https://www.polyv.net",
    "linkType": 10,
    "mobileAppLink": "",
    "mobileLink": "https://ngrok.io/",
    "name": "66666666",
    "params": "{\"222\": 123}",
    "pcLink": "https://www.msuno.cn",
    "price": 23.01,
    "productId": 6282,
    "rank": 18,
    "realPrice": 11.02,
    "showId": 6,
    "status": 1,
    "wxMiniprogramLink": "",
    "wxMiniprogramOriginalId": ""
}
// 2下架(商品Id)、3删除
{
    "productId": 5324
}
// 6上移、7下移(两个商品移动的id和排序和状态)
[
    {
        "channelId": 1779741,
        "cover": "//liveimages.videocc.net/uploadimage/20200707/chat_img_1779741_15941160086266.jpeg?x-oss-process=image/crop,x_437,y_157,w_406,h_406",
        "createdTime": 1594116013000,
        "lastModified": 1599621435000,
        "link": "http://www.msuno.cn",
        "linkType": 10,
        "mobileAppLink": "",
        "mobileLink": "",
        "name": "goods02",
        "pcLink": "",
        "price": 29,
        "productId": 2129,
        "rank": 15,
        "realPrice": 12,
        "showId": 3,
        "status": 1,
        "type": "live",
        "userId": "ee7fe7fbda",
        "wxMiniprogramLink": "",
        "wxMiniprogramOriginalId": ""
    },
    {
        "channelId": 1779741,
        "cover": "//liveimages.videocc.net/uploadimage/20200910/chat_img_1779741_15997324532526.jpeg?x-oss-process=image/crop,x_280,y_0,w_719,h_719",
        "createdTime": 1594116048000,
        "lastModified": 1599756500000,
        "link": "",
        "linkType": 11,
        "mobileAppLink": "",
        "mobileLink": "",
        "name": "1111",
        "params": "{\"222\": 123}",
        "pcLink": "https://www.msuno.cn",
        "price": 23.01,
        "productId": 2130,
        "rank": 11,
        "realPrice": 11.02,
        "showId": 2,
        "status": 1,
        "type": "live",
        "userId": "ee7fe7fbda",
        "wxMiniprogramLink": "",
        "wxMiniprogramOriginalId": ""
    }
]
// 10商品库开关
{
    "content": "",
    "enabled": "N",
    "menuId": "e30e6d716a",
    "menuType": "buy",
    "name": "边看边买",
    "ordered": 6
}

响应成功JSON示例:

{
    "code": 200, 
    "status": "success", 
    "message": "", 
    "data": true
}

响应失败JSON示例:

未输入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": 400, 
  "status": "error", 
  "message": "param is not digit: dsadasd", 
  "data": ""
}

请求体为空

{
    "code": 400,
    "status": "error",
    "message": "param should not be empty: msg",
    "data": ""
}

请求体数据过长

{
    "code": 400,
    "status": "error",
    "message": "param length is incorrect: 1000",
    "data": ""
}

字段说明

参数名 说明
code 响应代码,成功为200,失败为400,签名错误为401,异常错误500
status 成功为success,失败为error
message 错误时为错误提示消息
data 暂无作用,不可作为判断依据

Java请求示例

public static void main(String[] args) {
        String url = "http://api.polyv.net/live/v3/channel/chat/send-product-msg";
        // 用户对应的appId和加密串
        String appId = "xxxxxx";
        String appSecret = "xxxxxxxxxxxxxxxxxxxxxxx";
        // 查询频道号
        String channelId = "1796673";
        Map<String, String> params = new HashMap<>();
        params.put("channelId", channelId);
        params.put("status", "1");
        // 调用Polyv的工具类方法设置sign
        PolyvTool.setLiveSign(params, appId, appSecret);
        // 调用Polyv的httpClient工具类发送请求
        String content = HttpClientUtil.getInstance()
                .sendHttpPostJson(url + "?" + PolyvTool.mapJoinNotEncode(params), "json请求体", null);
        System.out.println(content);
    }

签名规则(PolyvTool.java文件代码查看)

https://dev.polyv.net/2020/liveproduct/l-api/rule/live-api-java-detail/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

批量获取点播视频完成度

接口URL

https://api.polyv.net/v2/video/engagement/{userId}/getList

接口说明

(接口调用有频率限制,详细请查看)

支持批量分页获取视频观看完成度
支持https

返回结果支持格式

JSON

请求方式

POST,GET

请求数限制

TRUE

请求参数

参数名 必选 类型及范围 说明
userid true string 路径参数,用户userId
ptime true float 13位的当前时间毫秒级时间戳
sign true string 签名
field true string 查询条件字段,取值范围:video 根据视频搜索;viewer 根据观众搜索
fieldValue true string 查询条件的值,如果filed = video 填写vid;如果field = viewer 填写 viewerId
filterValue false string 过滤条件,如果field = video,可填写多个以,分隔的viewerId进行过滤;如果field = viewer,可填写多个以,分隔的vid进行过滤
page false int 第几页,默认1
size false int 每一页大小

返回结果

{
    "code": 200,
    "status": "success",
    "message": "success",
    "data": {
        "pageSize": 20,
        "pageNumber": 1,
        "totalItems": 1,
        "contents": [
            {
                "vid": "ee7fe7fbdadafe381e8e100669144e51_e",
                "viewerId": "1111",
                "watchPercentage": 0.05
            }
        ]
    }
}

请求失败返回json示例

// 签名错误
{
    "code": 400,
    "status": "error",
    "message": "the sign is not right.",
    "data": ""
}
// 类型错误
{
    "code": 400,
    "status": "error",
    "message": "field type error",
    "data": ""
}
// ...

字段说明

字段 类型 说明
code int 请求返回状态码
status string 请求返回状态
message string 请求返回信息
data.pageSize int 每页大小
data.pageNumber int 第几页
data.totalItems int 总数量
data.content[0].vid string 视频vid
data.content[0].viewerId string 观众viewerId
data.content[0].watchPercentage float 观看完成度

Java示例代码

public class Test {

    public static void main(String[] args) throws Exception {
        String userId = "ee7fe7fbda";
        String secretkey = "2owGBAZsAY";
        String url = "https://api.polyv.net/v2/video/engagement/%s/getList";

        Map<String, String> maps = new HashMap<>();
        maps.put("field", "viewer");
        maps.put("fieldValue", "1111");
        maps.put("filterValue", "");
        maps.put("sign", getSign(maps, secretkey));

        url += "?" + buildUrl(maps);
        url = String.format(url, userId);
        HttpClient client = new HttpClient();
        GetMethod getMethod = new GetMethod(url);
        client.executeMethod(getMethod);
        System.out.println(url);
        System.out.println(getMethod.getResponseBodyAsString());
    }

    public static String buildUrl(Map<String, String> maps) {
        List<String> tmp = new ArrayList<>();
        for (Map.Entry<String, String> key : maps.entrySet()) {
            tmp.add(key.getKey() + "=" + key.getValue());
        }
        return String.join("&", tmp);
    }
}

sign的生成规则

签名规则

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

分页查询频道观看日志(点播、直播合并)

接口URL

http://api.polyv.net/live/v2/statistics/{channelId}/viewlog

接口说明

(接口调用有频率限制,详细请查看)

1、作用:分页获取频道的观看日志
2、接口支持https协议
3、接口URL中的{channelId}为 频道ID

返回结果支持格式

JSON

请求方式

GET

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
page string 页数
pageSize string 每页显示的数据条数,默认每页显示1000条数据
currentDay 请查看下方注意点 string 查询日期,格式:yyyy-MM-dd
startTime 请查看下方注意点 string 查询开始时间,为13位毫秒级时间戳
endTime 请查看下方注意点 string 查询结束时间,13位毫秒级时间戳
param1 string 观看用户ID
param2 string 观看用户昵称
param3 string 观看日志类型,取值 vod 表示观看回放,取值live 表示直播
sign string 签名,32位大写MD5值
viewLogType string 播放日志,live:直播日志,vod:点播日志,默认值为:live

注意
1. 如果查询一段时间的记录,可以传:startTime、endTime (startTime和endTime 必须在同一个月),如果查询某天的记录,则传currentDay;
2. startTime、endTime 和 currentDay不能都不传;
3. currentDay与startTime、endTime 同时传将使用currentDay的值。

响应成功JSON示例:

{
    "code": 200, 
    "status": "success", 
    "message": "", 
    "data": {
        "pageNumber": 1, 
        "totalItems": 3, 
        "contents": [
{
"playId": "1520501687122X1438160",
"userId": "1c6dc3c666",
"channelId": 151462,
"videoId": "3828390191ed924fbb387395ae6f3af5_3",
"playDuration": 341,
"stayDuration": 361,
"flowSize": 10028116,
"sessionId": "eyz0awxrlh",
"param1": "1520499775580",
"param2": "广州观众/78614",
"param3": "live",
"param4": "",
"param5": "",
"ipAddress": "59.42.41.1",
"country": "中国",
"province": "广东",
"city": "广州",
"isp": "/南沙区电信",
"referer": "https://live.polyv.cn/watch/151462",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36",
"operatingSystem": "Mac OS X",
"browser": "Chrome",
"isMobile": "N",
"currentDay": "2018-03-08",
"createdTime": 1520501705000,
"lastModified": 1520504494000
}, 
{
"playId": "1520501157256X1429802",
"userId": "1c6dc3c666",
"videoId": "3828390191ed924fbb387395ae6f3af5_3",
"channelId": 151462,
"playDuration": 29,
"stayDuration": 528,
"flowSize": 1068201,
"sessionId": "eyz0awxrlh",
"param1": "1520499775580",
"param2": "广州观众/78614",
"param3": "live",
"param4": "",
"param5": "",
"ipAddress": "59.42.41.1",
"country": "中国",
"province": "广东",
"city": "广州",
"isp": "/南沙区电信",
"referer": "https://live.polyv.cn/watch/151462",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36",
"operatingSystem": "Mac OS X",
"browser": "Chrome",
"isMobile": "N",
"currentDay": "2018-03-08",
"createdTime": 1520501664000,
"lastModified": 1520504494000
}, 
            {
"playId": "1520500551108X1714565",
"userId": "1c6dc3c666",
"channelId": 151462,
"videoId": "3828390191ed924fbb387395ae6f3af5_3",
"playDuration": 18,
"stayDuration": 20,
"flowSize": 3048444,
"sessionId": "eyz0awxrlh",
"param1": "1520499775580",
"param2": "广州观众/78614",
"param3": "live",
"param4": "",
"param5": "",
"ipAddress": "59.42.40.205",
"country": "中国",
"province": "广东",
"city": "广州",
"isp": "/南沙区电信",
"referer": "https://live.polyv.cn/watch/151462",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36",
"operatingSystem": "Mac OS X",
"browser": "Chrome",
"isMobile": "N",
"currentDay": "2018-03-08",
"createdTime": 1520500572000,
"lastModified": 1520503294000
}
        ], 
        "endRow": 3, 
        "startRow": 1, 
        "firstPage": true, 
        "lastPage": true, 
        "nextPageNumber": 1, 
        "prePageNumber": 1, 
        "totalPages": 1, 
        "limit": 3, 
        "offset": 0
    }
}

响应失败JSON示例:

未输入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": ""
}

未输入currentDay

{
    "code": 400,
    "status": "error",
    "message": "currentDay is empty.",
    "data": ""
}

频道不存在

{
    "code": 400,
    "status": "error",
    "message": "channel not found.",
    "data": ""
}

非法的频道ID

{
    "code": 403,
    "status": "error",
    "message": "invalid channelId.",
    "data": ""
}

字段说明

参数名 说明
code 响应的状态码,例如:200
status 响应状态
message 异常错误信息
data 响应结果集
pageNumber 当前的页数
totalItems 总的条数
contents 查询的结果列表
playId 表示此次播放动作的ID
userId 用户ID
channelId 频道号
videoId 视频vid,点播日志才有输出
playDuration 播放时长
stayDuration 停留时长
flowSize 流量大小
sessionId 直播场次ID
param1 使用POLYV观看页的观众ID
param2 使用POLYV观看页的观众昵称
param3 观看类型:取值 live(直播)、vod(回放)
param4/5 POLYV系统参数
ipAddress IP地址
country 国家
province 省份
city 城市
isp ISP运营商
referer 播放视频页面地址
userAgent 用户设备
operatingSystem 操作系统
browser 浏览器
isMobile 是否为移动端
currentDay 日志查询日期 (格式为:yyyy-MM-dd)
createdTime 日志创建日期 (13位时间戳)
lastModified 日志更新日期 (13位时间戳)
firstPage 是否为第一页,值为:true/false
lastPage 是否为最后一页,值为:true/false
nextPageNumber 下一页编号
prePageNumber 上一页编号
totalPages 总页数
startRow 当前页第一个视频在回放视频中的位置
endRow 当前页最后一个视频在回放视频中的位置
limit 当前页视频个数

php请求示例

<?php

//引用config.php
include 'config.php';

//接口需要的参数(非sign)赋值
$channelId = "124545";
$currentDay = "2018-03-12";  
$page = "1"; //页数
$pageSize="10";//每页显示的数据

$params = array(
    'appId'=>$appId,
    'currentDay'=>$currentDay,
    'page'=>$page,
    'pageSize'=>$pageSize,
    'timestamp'=>$timestamp
  );

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法

//接口请求url
$url = "http://api.polyv.net/live/v2/statistics/$channelId/viewlog?appId=$appId&currentDay=$currentDay&page=$page&pageSize=$pageSize&timestamp=$timestamp&sign=$sign";

//输出接口请求结果
echo file_get_contents($url);

?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

获取答题卡单道题目的答题汇总

接口URL

http://api.polyv.net/live/v3/channel/question/detail

接口说明

(接口调用有频率限制,详细请查看)

1、接口用于获取答题卡单道题目的答题汇总
2、接口支持https

请求方式

GET

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp long 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,为32位大写的MD5值
channelId string 频道号
questionId string 题目ID,从题目列表中获取
times int 第几次的答题详情,用于同一道题发送了多次的情况,从题目列表中获取

响应成功JSON示例:

// 成功
{
    "code": 200,
    "status": "success",
    "message": "",
    "data": {
        "question": [
            {
                "count": 155,
                "tips": "",
                "option": "7"
            },
            {
                "count": 88,
                "tips": "",
                "option": "8"
            },
            {
                "count": 24,
                "tips": "",
                "option": "9"
            },
            {
                "count": 135,
                "tips": "",
                "option": "10"
            }
        ],
        "total": 402,
        "answer": "",
        "correctRecord": 0,
        "title": "请您为选手打分",
        "type": "S",
        "itemType": 0
    }
}

响应失败JSON示例:

未输入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 响应的状态码,例如:200
status 响应状态
message 异常错误信息
data 响应结果集
data.question 问题的各选项统计列表
data.question[0].option 问题的选项
data.question[0].count 问题选项的选择数量
data.question[0].count 问题选项的提示
data.total 回答问题的总数量
data.correctRecord 正确回答问题的总数量
data.answer 问题的答案
data.title 问题内容
data..type 题目类型("R":单选,"C":多选,"S": 评分, "Q": 问答, "V": 投票)
data.itemType 答题卡为0,问答为1

php请求示例

<?php
//引用config.php
include 'config.php';
$params = array(
    'appId' => $appId,
    'timestamp' => $timestamp,
    'channelId' => 108888,
    'questionId' => "zxcvbnm",
    'times' => 1
);

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法
$params['sign'] = $sign;

$url = "http://api.polyv.net/live/v3/channel/question/detail?".http_build_query($params);

$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_URL, $url);
$res = curl_exec($curl);
curl_close($curl);

echo $res;
?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

分页获取答题卡的答题观众列表

接口URL

https://api.polyv.net/live/v3/channel/question/answer-record/list-by-page

接口说明

(接口调用有频率限制,详细请查看)

1、接口用于分页获取某次答题的答题观众列表
2、接口支持https

请求方式

GET

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp long 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,为32位大写的MD5值
channelId string 频道号
questionId string 题目ID,从题目列表中获取
times int 第几次的答题详情,用于同一道题发送了多次的情况,从题目列表中获取
page int 页号,默认为1
pageSize int 每页条数,默认为20

响应成功JSON示例:

// 成功
{
  "code": 200,
  "status": "success",
  "message": null,
  "data": {
    "endRow": 2,
    "contents": [
      {
        "questionId": "text",
        "costTime": 60,
        "viewerId": "",
        "submitTime": 6,
        "nickname": "",
        "submitTimeFormat": "text",
        "channelId": 3,
        "times": 1,
        "answer": "",
        "sessionId": "text",
        "costTimeFormat": "",
        "viewerAnswer": "",
        "type": "",
        "correct": "N",
        "name": ""
      }
    "firstPage": false,
    "lastPage": true,
    "limit": 0,
    "nextPageNumber": 0,
    "offset": 7,
    "pageNumber": 1,
    "pageSize": 0,
    "prePageNumber": 7,
    "startRow": 4,
    "totalItems": 0,
    "totalPages": 9,
    "nulla5af": 58983375
  }
}

响应失败JSON示例:

未输入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 响应的状态码,例如:200
status 响应状态
message 异常错误信息
data 响应结果集
data.pageNumber 页数
data.limit 每页记录数
data.totalItems 记录总数
data.firstPage 是否为第一页,值为:true/false
data.lastPage 是否为最后一页,值为:true/false
data.nextPageNumber 下一页编号
data.prePageNumber 上一页编号
data.totalPages 总页数
data.startRow 当前页第一条记录所在列表中的位置
data.endRow 当前页最后一条记录所在列表中的位置
data.contents[0].viewerId 观众Id
data.contents[0].nickname 观众昵称
data.contents[0].type 题目类型("R":单选,"C":多选,"S": 评分, "Q": 问答, "V": 投票)
data.contents[0].channelId 频道ID
data.contents[0].questionId 问题ID
data.contents[0].name 问题
data.contents[0].answer 问题答案
data.contents[0].correct 是否正确,Y 正常,N 不正确
data.contents[0].viewerAnswer 观众ID
data.contents[0].sessionId 直播场次Id
data.contents[0].times 同一道题发送多次,区分不同次数的
data.contents[0].submitTime 答题时间,时间戳
data.contents[0].submitTimeFormat 格式化的答题时间,格式为:yyyy/MM/dd HH:mm:ss
data.contents[0].costTime 答题耗时,单位秒
data.contents[0].costTimeFormat 格式化的答题耗时

php请求示例

<?php
//引用config.php
include 'config.php';
$params = array(
    'appId' => $appId,
    'timestamp' => $timestamp,
    'channelId' => 108888,
    'questionId' => "zxcvbnm",
    'times' => 1
);

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法
$params['sign'] = $sign;

$url = "https://api.polyv.net/live/v3/channel/question/answer-record/list-by-page?".http_build_query($params);

$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_URL, $url);
$res = curl_exec($curl);
curl_close($curl);

echo $res;
?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

获取每场直播的答题卡发送记录列表

接口URL

https://api.polyv.net/live/v3/channel/question/list-interact-record

接口说明

(接口调用有频率限制,详细请查看)

1、接口用于获取每场直播的答题卡发送记录列表
2、接口支持https

请求方式

GET

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp long 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,为32位大写的MD5值
channelId string 频道号
startTime long 查询开始时间时间戳,13位毫秒级, 不传默认查最近七天数据
endTime long 查询的结束时间时间戳,13位毫秒级, 和startTime一起不传默认查七天数据
sessionId string 查询的场次ID
page int 页号,默认为1
pageSize int 每页条数,默认为20

响应成功JSON示例:

// 成功
{
  "code": 200,
  "status": "success",
  "message": null,
  "data": {
    "endRow": 8,
    "contents": [
      {
        "status": 11,
        "questionId": "asdfg12311",
        "sessionId": "zxcvbasdfg",
        "name": "今天天气怎么样",
        "createdTime": 1589007127629,
        "type": "R",
        "channelId": 100000,
        "userId": "poiu12wsde,
        "times": 1
      }
    ],
    "firstPage": true,
    "lastPage": false,
    "limit": 10,
    "nextPageNumber": 8,
    "offset": 10,
    "pageNumber": 10,
    "pageSize": 9,
    "prePageNumber": 10,
    "startRow": 5,
    "totalItems": 8,
    "totalPages": 3,
    "occaecate": 62485716
  }
}

响应失败JSON示例:

未输入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 响应的状态码,例如:200
status 响应状态
message 异常错误信息
data 响应结果集
data.pageNumber 页数
data.limit 每页记录数
data.totalItems 记录总数
data.firstPage 是否为第一页,值为:true/false
data.lastPage 是否为最后一页,值为:true/false
data.nextPageNumber 下一页编号
data.prePageNumber 上一页编号
data.totalPages 总页数
data.startRow 当前页第一条记录所在列表中的位置
data.endRow 当前页最后一条记录所在列表中的位置
data.contents[0].questionId 题目ID
data.contents[0].name 题目名称
data.contents[0].type 题目类型("R":单选,"C":多选,"S": 评分, "Q": 问答, "V": 投票)
data.contents[0].channelId 频道ID
data.contents[0].userId 用户ID
data.contents[0].sessionId 直播场次ID
data.contents[0].times 第几次发题
data.contents[0].status 发题状态(11 : 答题中, 12:结束答题,13:将答题结果发送给学员)
data.contents[0].createdTime 创建时间

php请求示例

<?php
//引用config.php
include 'config.php';
$params = array(
    'appId' => $appId,
    'timestamp' => $timestamp,
    'channelId' => 108888
);

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法
$params['sign'] = $sign;

$url = "https://api.polyv.net/live/v3/channel/question/list-interact-record?".http_build_query($params);

$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_URL, $url);
$res = curl_exec($curl);
curl_close($curl);

echo $res;
?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

获取账单列表

接口URL

http://api.polyv.net/live/v3/finance/bill/list

接口说明

(接口调用有频率限制,详细请查看)

分页获取帐号日账单列表
接口支持https

请求方式

GET

请求参数

参数名 必选 类型及范围 说明
sign true string 校验签名
appId true string 开发者账号下的appId
timestamp true string 13位当前时间的时间戳
type false string 账单类型,live:云直播,mic:连麦 , 默认:live
page false int 第几页
pageSize false int 每页大小
startDay false string 开始时间,格式:YYYY-MM-DD
endDay false string 结束时间,格式:YYYY-MM-DD

返回正确结果JSON示例

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": {
        "pageSize": 2,
        "pageNumber": 1,
        "totalItems": 78,
        "contents": [
            {
                "userId": "ee7fe7fbda",
                "inmonth": "2020-03",
                "currentDay": "2020-03-25",
                "total": 1,
                "billingType": "duration",
                "email": "moshunwei@polyv.net",
                "unit": "分钟",
                "consumerType": "后付费",
                "productType": "云直播"
            },
            {
                "userId": "ee7fe7fbda",
                "inmonth": "2020-03",
                "currentDay": "2020-03-24",
                "total": 40,
                "billingType": "duration",
                "email": "moshunwei@polyv.net",
                "unit": "分钟",
                "consumerType": "后付费",
                "productType": "云直播"
            }
        ],
        "startRow": 1,
        "firstPage": true,
        "lastPage": false,
        "nextPageNumber": 2,
        "prePageNumber": 1,
        "limit": 2,
        "totalPages": 39,
        "endRow": 2,
        "offset": 0
    }
}

响应失败JSON示例:

未输入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": 400,
    "status": "error",
    "message": "invalid bill type",
    "data": ""
}

字段说明

字段 类型及范围 说明
code int 接口请求状态码,200表示成功
status string 接口请求状态,"success"表示成功
message string 请求失败时返回的错误信息
data Paginator<BillDailyModel> 账单的分页结果

数据对象字段说明

Paginator<BillDailyModel>

说明:抽奖记录的分页结果

字段 类型及范围 说明
pageNumber int 当前的页数
totalItems int 总记录数
firstPage boolean 是否为第一页,值为:true/false
lastPage boolean 是否为最后一页,值为:true/false
nextPageNumber int 下一页编号
prePageNumber int 上一页编号
totalPages int 总页数
startRow int 当前页第一条记录在总记录中的位置
endRow int 当前页最后一个记录在总记录中的位置
limit int 当前页记录个数
contents List<BillDailyModel> 账单列表
BillDailyModel

说明:抽奖记录

字段 类型及范围 说明
userId string 用户userId
inmonth string 账期
currentDay string 消费日期
total int 使用分钟数,单位分钟
billingType string 账单类型,live:云直播,mic:连麦
email string 邮箱
unit string 单位
consumerType string 计费项
productType long 产品项

PHP请求示例

<?php

//引用config.php
include 'config.php';

$type = "mic";
$params = array(
        'appId'=>$appId,
        'type'=>$type,
        'timestamp'=>$timestamp
    );

//生成sign
$sign = getSign($params); //详细查看config.php文件
$params['sign'] = $sign;
$url="http://api.polyv.net/live/v3/finance/bill/list?".http_build_query($params);
echo "<script>window.location.href='$url'</script>";
?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

获取账单详情列表

接口URL

http://api.polyv.net/live/v3/finance/bill/list-detail

接口说明

(接口调用有频率限制,详细请查看)

分页获取帐号日账单列表
接口支持https

请求方式

GET

请求参数

参数名 必选 类型及范围 说明
sign true string 校验签名
appId true string 开发者账号下的appId
timestamp true string 13位当前时间的时间戳
type false string 账单类型,live:云直播,mic:连麦 , 默认:live
page false int 第几页
pageSize false int 每页大小
startDay false string 开始时间,格式:YYYY-MM-DD
endDay false string 结束时间,格式:YYYY-MM-DD
channelId false int 频道号

返回正确结果JSON示例

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": {
        "pageSize": 2,
        "pageNumber": 1,
        "totalItems": 123,
        "contents": [
            {
                "id": "xx",
                "total": 1,
                "channelId": 431596,
                "joinTime": "09:46:35",
                "leaveTime": "09:46:38",
                "resumeDate": "2020-03-25",
                "uid": "1585100782973",
                "productType": "云直播",
                "desc": "回放",
                "nick": "肇庆观众/87907"
            },
            {
                "id": "xxx",
                "total": 2,
                "channelId": 902256,
                "joinTime": "15:09:06",
                "leaveTime": "15:10:39",
                "resumeDate": "2020-03-24",
                "uid": "60806543b2",
                "productType": "云直播",
                "desc": "直播",
                "nick": "huahua li"
            }
        ],
        "startRow": 1,
        "firstPage": true,
        "lastPage": false,
        "nextPageNumber": 2,
        "prePageNumber": 1,
        "limit": 2,
        "totalPages": 62,
        "endRow": 2,
        "offset": 0
    }
}

响应失败JSON示例:

未输入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": 400,
    "status": "error",
    "message": "invalid bill type",
    "data": ""
}

字段说明

字段 类型及范围 说明
code int 接口请求状态码,200表示成功
status string 接口请求状态,"success"表示成功
message string 请求失败时返回的错误信息
data Paginator<BillDetailModel> 账单的分页结果

数据对象字段说明

Paginator<BillDetailModel>

说明:抽奖记录的分页结果

字段 类型及范围 说明
pageNumber int 当前的页数
totalItems int 总记录数
firstPage boolean 是否为第一页,值为:true/false
lastPage boolean 是否为最后一页,值为:true/false
nextPageNumber int 下一页编号
prePageNumber int 上一页编号
totalPages int 总页数
startRow int 当前页第一条记录在总记录中的位置
endRow int 当前页最后一个记录在总记录中的位置
limit int 当前页记录个数
contents List<BillDetailModel> 账单列表
BillDetailModel

说明:抽奖记录

字段 类型及范围 说明
id string 字符串,连麦和云直播有不同,连麦自曾,云直播可能为空
total int 总消费时长,单位分钟
channelId string 频道号
joinTime int 加入时间
leaveTime string 离开时间
resumeDate string 消费时间
productType string 产品项
uid string 使用者Id
desc string 明细
nick long 昵称

PHP请求示例

<?php

//引用config.php
include 'config.php';

$type = "mic";
$params = array(
        'appId'=>$appId,
        'type'=>$type,
        'timestamp'=>$timestamp
    );

//生成sign
$sign = getSign($params); //详细查看config.php文件
$params['sign'] = $sign;
$url="http://api.polyv.net/live/v3/finance/bill/list-detail?".http_build_query($params);
echo "<script>window.location.href='$url'</script>";
?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...