获取签到结果列表

接口URL

https://api.polyv.net/live/v3/channel/checkin/list

接口说明

1、接口用于分页查询频道号下某一天的签到记录
2、接口支持https

支持格式

JSON

请求方式

GET

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp long 13位当前时间戳
sign string 签名值
channelId int 频道号
page int 页码,默认为1
pageSize int 每一页的大小,默认为20
date string 查询的指定日期,格式为yyyy-MM-dd

响应成功JSON示例:

{
  "code": 200,
  "status": "success",
  "message": "",
  "data": {
    "pageNumber": 1,
    "totalPages": 1,
    "pageSize": 20,
    "contents": [
      {
        "id": 491,
        "indate": "2018-08-07",
        "userid": "1533622191653",
        "channelId": 100538,
        "time": 1533622526801,
        "timeFormat": "2018-08-07 14:15",
        "nickname": "广州观众/28838"
      },
      {
        "id": 492,
        "indate": "2018-08-07",
        "userid": "1533622191653",
        "channelId": 100538,
        "time": 1533623311065,
        "timeFormat": "2018-08-07 14:28",
        "nickname": "广州观众/28838"
      },
      {
        "id": 493,
        "indate": "2018-08-07",
        "userid": "1533622191653",
        "channelId": 100538,
        "time": 1533636856928,
        "timeFormat": "2018-08-07 18:14",
        "nickname": "广州观众/28838"
      },
      {
        "id": 494,
        "indate": "2018-08-07",
        "userid": "1533607482637",
        "channelId": 100538,
        "time": 1533636856932,
        "timeFormat": "2018-08-07 18:14",
        "nickname": "chromexr"
      },
      {
        "id": 495,
        "indate": "2018-08-07",
        "userid": "1533625048644",
        "channelId": 100538,
        "time": 1533636875744,
        "timeFormat": "2018-08-07 18:14",
        "nickname": "ffxiaoru"
      }
    ]
  }
}

响应失败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": ""
}

channelId为空

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

channelId为非数字

{
  "code": 400, 
  "status": "error", 
  "message": "param is not number: channelId", 
  "data": ""
}

频道非法

{
  "code": 403, 
  "status": "error", 
  "message": "illegal channel id: 206240", 
  "data": ""
}

字段说明

参数名 说明
code 响应代码,成功为200,失败为400,签名错误为401,异常错误500
status 成功为success,失败为error
message 错误时为错误提示消息
data 签到记录的分页数据
pageNumber 页码
totalPages 总页数
pageSize 每一页大小
contents 签到记录数据数组
indate 查询的签到日期,yyyy-MM-dd格式
nickname 昵称
userid 用户id
channelId 频道号
time 签到的具体时间戳
timeFormat 签到的格式化详细日期,yyyy-MM-dd HH:mm 格式

php请求示例

<?php

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

//接口URL上变量
$appId = "es2vsst178";
$channelId="223350";
$date="2018-08-08";
$pageSize="20";
$page="1";
//接口需要的参数(非sign)赋值
$params = array(
  'appId' => $appId,
  'timestamp' => $timestamp,
  'channelId' => $channelId,
  'page' => $page,
  'pageSize' => $pageSize,
  'date' => $date
);

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

//接口请求url
$url = "https://api.polyv.net/live/v3/channel/checkin/list?appId=".$appId."&sign=".$sign."&timestamp=".$timestamp."&channelId=".$channelId."&page=".$page."&pageSize=".$pageSize."&date=".$date;

//输出接口请求结果
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/chat/send

接口说明

1、接口用于发送聊天消息
2、接口支持https

支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,32位大写MD5值
channelId int 频道ID
content String 聊天信息内容
role String 发送人角色(目前为只提供管理员角色,值为"ADMIN")

响应成功JSON示例:

{
  "code": 200,
  "status": "success",
  "message": "",
  "data": "The message send success!"
}

响应失败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 should not be empty: channelId",
    "data": ""
}
{
    "code": 400,
    "status": "error",
    "message": "param should not be empty: content",
    "data": ""
}
{
    "code": 400,
    "status": "error",
    "message": "param should not be empty: role",
    "data": ""
}

角色类型错误

{
    "code": 400,
    "status": "error",
    "message": "illegal chat role",
    "data": ""
}

请求出错了

{
    "code": 400,
    "status": "error",
    "message": "invalid signature.",
    "data": "The network is error, please try again!"
}

字段说明

参数名 说明
code 请求结果代码,成功为200 错误为400,签名错误为403,接口错误为500
status 请求结果,成功时为"success"错误时为"error"
message 错误信息,请求成功时为空串,错误时错误信息
data 请求成功为数据内容,错误为空串

php请求示例

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

$channelId="183950";
$content="test";
$role='ADMIN';

$params = array(
  'appId' => $appId,
  'channelId' => $channelId,
  'content'=> $content,
  'role' => $role,
  'timestamp' => $timestamp
);

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

$url = "http://api.polyv.net/live/v3/channel/chat/send?appId=".$appId."&channelId=".$channelId."&content=".$content."&role=".$role."&timestamp=".$timestamp."&sign=".$sign;

$ch = curl_init() or die ( curl_error() );
curl_setopt( $ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 360);
$response = curl_exec ( $ch );
curl_close ( $ch );
echo $response;

?>

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

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

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

获取咨询提问记录

接口URL

http://api.polyv.net/live/v2/chat/{channelId}/getQuestion

接口说明

1、接口用于获取咨询提问记录
2、接口URL中的{channelId}为 频道ID
3、接口支持https

支持格式

JSON

请求方式

GET

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,32位大写MD5值
begin int 起始下标,从0开始
end int 结束下标,-1表示不分页

响应成功JSON示例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": [{
        "id": "ee83ea70-43be-11e8-ad5a-cf5b830e2a70",
        "user": {
            "nick": "小明",
            "pic": "//livestatic.videocc.net/v_109/assets/wimages/missing_face.png",
            "userId": "1524134770059",
            "userType": "student"
        },
        "s_userId": null,
        "event": "S_QUESTION",
        "content": "十万个为什么",
        "time": 1524134795927
    }, {
        "id": "be852840-ddef-11e8-8732-3d35cdd2dfa4",
        "user": {
            "nick": "讲师",
            "pic": "//livestatic.videocc.net/uploaded/images/webapp/avatar/default-teacher.png",
            "userId": "d217e5a2e2bf37aee61f42cf2059ebc6",
            "userType": "teacher"
        },
        "content": "是吗",
        "time": 1541088239812,
        "s_userId": "1541086126963",
        "event": "T_ANSWER"
    }]
}

响应失败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": 500, 
    "status": "fail", 
    "message": "api error.", 
    "data": ""
}

字段说明

参数名 说明
code 请求结果代码,成功为200 错误为400,签名错误为403,接口错误为500
status 请求结果,成功时为"success"错误时为"error"
message 错误信息,请求成功时为空串,错误时错误信息
data 请求成功为数据内容,错误为空串
id 信息id
content 内容
time 时间,13位时间戳
nick 发言人昵称
userId 发言人ID
userType 发言人类型值
event 消息类型,讲师回答:T_ANSWER,学生提问:S_QUESTION
s_userId 提问者Id

php请求示例

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

$channelId="183950";

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

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

$url = "http://api.polyv.net/live/v2/chat/".$channelId."/getQuestion?appId=".$appId."&timestamp=".$timestamp."&sign=".$sign;


$ch = curl_init() or die ( curl_error() );
curl_setopt( $ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 360);
$response = curl_exec ( $ch );
curl_close ( $ch );
echo $response;
?>

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

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

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

频道问答的统计结果查询

接口URL

http://api.polyv.net/live/v2/channels/{channelId}/get-question-result

接口说明

1、获取频道的问答统计结果
2、接口支持https协议

支持格式

JSON

请求方式

GET,POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,为32位大写的MD5值
startTime string 开始时间,格式:yyyy-MM-dd HH:mm:ss
endTime string 结束时间,格式:yyyy-MM-dd HH:mm:ss

响应成功JSON示例:

{
"code": 200,
"status": "success",
"message": "",
"data": [
{
"questionId": "1c6dc3c666",
"channelId": 10001,
"type": "radio",
"startTime": "2018-03-26 10:30:45.0",
"option1": 100,
"option2": 200,
"option3": 4000,
"option4": 3999,
"option5": null,
"endTime": "2018-03-26 10:47:06.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 请求状态响应码
status 请求状态
message 错误信息
data 用户的分钟数相关信息
questionId 题目ID,字符串
channelId 频道ID,整型
type 问答类型,radio为单选,judge为判断题
startTIme 开始时间,格式:yyyy-MM-dd HH:mm:ss
endTIme 结束时间,格式:yyyy-MM-dd HH:mm:ss
option1 第一个选择项的答题人数,如果是判断题就是正确选择项的答题人数
option2 第二个选择项的答题人数,如果是判断题就是错误选择项的答题人数
option3 第三个选择项的答题人数
option4 第四个选择项的答题人数
option5 第五个选择项的答题人数

php请求示例

<?php

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


/接口需要的参数(非sign)赋值
$params = array(
    'appId'=>$appId,
    'startTime'=>$startTime,    
    'endTime'=>$endTime,    
    'timestamp'=>$timestamp
  );

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

//接口请求url
$url = "http://api.live.polyv.net/v2/channels/$channelId/get-question-result?appId=".$appId."&timestamp=".$timestamp."&sign=".$sign."&startTime=".$startTime."&endTime".$endTime;
//输出接口请求结果
echo file_get_contents($url);

?>

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

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

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

删除单条聊天记录

接口URL

http://api.polyv.net/live/v2/chat/{channelId}/delChat

接口说明

1、根据聊天的id删除对应聊天记录
2、接口支持https协议
3、接口URL中的{channelId}为 频道ID

支持格式

JSON

请求方式

GET,POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
id string 聊天记录对应的id
timestamp string 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,32位大写MD5值

响应成功JSON示例:

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

响应失败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": "channel not found.",
    "data": ""
}

id输入不正确

{
    "code": 400,
    "status": "error",
    "message": "没有找到该条记录",
    "data": ""
}

其他错误

{
    "code": 400,
    "status": "error",
    "message": "无法访问聊天室数据",
    "data": ""
}

字段说明

参数名 说明
code 请求状态响应码
status 请求状态
message 错误信息
data 请求失败时为空,请求成功为"success"

php请求示例

<?php

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

//接口需要的参数(非sign)赋值
$channelId = "108888";
$id = "2ac4c620-8d6d-11e7-920d-c93c5a9becd7";

$params = array(
    'appId'=>$appId,
    'id'=>$id,
    'timestamp'=>$timestamp
  );

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

$url = "http://api.live.polyv.net/v2/chat/$channelId/delChat?appId=$appId&timestamp=$timestamp&sign=$sign&id=$id";

$ch = curl_init() or die ( curl_error() );
curl_setopt( $ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 360);
$response = curl_exec ( $ch );
curl_close ( $ch );
echo $response;

?>

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

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

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

增加聊天室禁言ip

接口URL

http://api.polyv.net/live/v2/chat/{channelId}/addBannedIP

接口说明

1、设置聊天室禁言ip
2、接口支持https协议
3、接口URL中的{channelId}为 频道ID

支持格式

JSON

请求方式

GET,POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
ip ip格式string 禁言IP
timestamp string 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,32位大写MD5值

响应成功JSON示例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": [
        "192.156.1.4",
        "192.156.1.3",
        "192.156.1.2",
        "192.168.1.3"
    ]
}

响应失败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": "channel not found.",
    "data": ""
}

ip输入错误(正确格式例如:113.103.14.195)

{
    "code": 400,
    "status": "error",
    "message": "ip is wrong.",
    "data": ""
}

其他错误

{
    "code": 400,
    "status": "error",
    "message": "无法访问聊天室数据",
    "data": ""
}

字段说明

参数名 说明
code 请求状态响应码
status 请求状态
message 错误信息
data 请求失败时为空,请求成功为当前设置的禁言ip列表

php请求示例

<?php

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

//接口需要的参数(非sign)赋值
$channelId = "127075";
$ip = "192.112.1.2";

$params = array(
    'appId'=>$appId,
    'ip'=>$ip,
    'timestamp'=>$timestamp
  );

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

//接口请求url
$url = "http://api.live.polyv.net/v2/chat/$channelId/addBannedIP?appId=$appId&timestamp=$timestamp&sign=$sign&ip=$ip";

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

?>

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

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

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

撤销禁言IP/严禁词

接口URL

http://api.polyv.net/live/v2/chat/{channelId}/delBanned

接口说明

1、取消被禁言的ip或者删除严禁词,其返回结果为当前频道号被禁言ip列表或者严禁词名单,注:如删除失败,则返回的结果与接口"获得禁言IP/严禁词列表"内容相同
2、接口支持https协议
3、接口URL中的{channelId}为 频道ID

支持格式

JSON

请求方式

GET,POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
type string 请求类型:ip(取消已禁言IP),badword(删除严禁词)
content string 要取消的ip或者严禁词
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,32位大写MD5值

响应成功JSON示例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": "123.123.12.1,192.168.1.123"
}

响应失败JSON示例:

未输入appId

{
    "code": 400,
    "status": "error",
    "message": "appId not found.",
    "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": "channel not found.",
    "data": ""
}

类型输入错误

{
    "code": 400,
    "status": "error",
    "message": "type is wrong.",
    "data": ""
}

content输入错误

{
    "code": 400,
    "status": "error",
    "message": "输入错误,请重试.",
    "data": ""
}

其他错误

{
    "code": 400,
    "status": "error",
    "message": "无法访问聊天室数据",
    "data": ""
}

字段说明

参数名 说明
code 请求状态响应码
status 请求状态
message 错误信息
data 已禁言名单或严禁词名单

php请求示例

<?php

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

//接口需要的参数(非sign)赋值
$channelId = "137720";
$type = "ip";
$content = "192.168.1.2";

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

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

$data = array(
    'appId' => $appId,
    'content' => $content,
    'timestamp' => $timestamp,
    'type' => $type,
    'sign' => $sign,
);

$url = "http://api.live.polyv.net/v2/chat/$channelId/delBanned";
$ch = curl_init() or die ( curl_error() );
curl_setopt( $ch, CURLOPT_URL, $url);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $data);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 360);
$reponse = curl_exec ( $ch );
curl_close ( $ch );
print_r($reponse);

?>

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

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

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

获得禁言IP/严禁词列表

接口URL

http://api.polyv.net/live/v2/chat/{channelId}/bannedList

接口说明

1、根据请求接口的类型type(取值为ip或badword)分别获取被禁言的IP以及设置的严禁词列表,注:无法获取系统默认的严禁词。
2、接口支持https协议
3、接口URL中的{channelId}为 频道ID

支持格式

JSON

请求方式

GET,POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
type string 请求类型:ip(获取已禁言IP),badword(获取设置的严禁词)
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,32位大写MD5值

响应成功JSON示例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": "123.123.12.1,192.168.1.123"
}

响应失败JSON示例:

未输入appId

{
    "code": 400,
    "status": "error",
    "message": "appId not found.",
    "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": "channel not found.",
    "data": ""
}

类型输入错误

{
    "code": 400,
    "status": "error",
    "message": "type is wrong.",
    "data": ""
}

其他错误

{
    "code": 400,
    "status": "error",
    "message": "无法访问聊天室数据",
    "data": ""
}

字段说明

参数名 说明
code 请求状态响应码
status 请求状态
message 错误信息
data 已禁言名单或严禁词名单

php请求示例

<?php

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

//接口需要的参数(非sign)赋值
$channelId = "127075";
$type = "ip";

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

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

//接口请求url
$url = "http://api.live.polyv.net/v2/chat/$channelId/bannedList?appId=$appId&timestamp=$timestamp&sign=$sign&type=$type";

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

?>

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

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

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

获取历史聊天信息

接口URL

http://api.polyv.net/live/v2/chat/{channelId}/getHistory

接口说明

1、作用:查询一段时间内的聊天记录,时间格式为yyyy-MM-dd 或 yyyy-MM-dd HH:mm:ss。
如未提交具体时间,只提交了日期,开始时间默认为日期当天的 00:00:00,结束时间为日期当天的23:59:59
2、接口支持https协议
3、接口URL中的{channelId}为 频道ID

支持格式

JSON

请求方式

GET,POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
startDay String 聊天记录的开始时间,格式要求为yyyy-MM-dd(如:2017-08-01)或者 yyyy-MM-dd HH:mm:ss (如:2017-08-01 16:30:12)
endDay string 聊天记录的结束时间,要求同上
appId string 从API设置中获取,在直播系统登记的appId
page int 获取第几页聊天记录,默认为1
limit int 每页记录数,默认为1000
timestamp string 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,32位大写MD5值

响应成功JSON示例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": [
        {
            "clientIP": "",
            "content": "你好,这是测试聊天",
            "id": "b14a05a0-88a1-11e7-9b6c-b5f4f2197652",
            "image": "",
            "roomId": "108888",
            "time": 1503561370362,
            "user": {
                "clientIp": "",
                "nick": "测试",
                "pic": "//livestatic.videocc.net/v_69/assets/wimages/missing_face.png",
                "roomId": "108888",
                "uid": "diRdMsz0VZ6rivf6ARIt",
                "userId": "1503561347640",
                "userType": "student"
            }
        },
        {
            "clientIP": "",
            "content": "欢迎使用保利威视!",
            "id": "bf9c8e70-88a1-11e7-9b6c-b5f4f2197652",
            "image": "",
            "roomId": "108888",
            "time": 1503561394391,
            "user": {
                "clientIp": "",
                "nick": "测试",
                "pic": "//livestatic.videocc.net/v_69/assets/wimages/missing_face.png",
                "roomId": "108888",
                "uid": "diRdMsz0VZ6rivf6ARIt",
                "userId": "1503561347640",
                "userType": "student"
            }
        }
    ]
}

响应失败JSON示例:

未输入appId

{
    "code": 400,
    "status": "error",
    "message": "appId not found.",
    "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": "channel not found.",
    "data": ""
}

开始时间为空

{
    "code": 400,
    "status": "error",
    "message": "startDay can not be empty.",
    "data": ""
}

结束时间为空

{
    "code": 400,
    "status": "error",
    "message": "endDay can not be empty.",
    "data": ""
}

开始时间格式不正确 (正确格式为yyyy-MM-dd)

{
    "code": 400,
    "status": "error",
    "message": "the startDay is no right.",
    "data": ""
}

开始时间格式不正确 (正确格式为yyyy-MM-dd)

{
    "code": 400,
    "status": "error",
    "message": "the endDay is no right.",
    "data": ""
}

结束时间晚于开始时间

{
    "code": 400,
    "status": "error",
    "message": "the endDay can not be earlier than the startDay.",
    "data": ""
}

其他错误

{
    "code": 400,
    "status": "error",
    "message": "无法访问聊天室数据",
    "data": ""
}

字段说明

参数名 说明
code 请求状态响应码
status 请求状态
message 错误信息
clientIP 用户IP
content 聊天内容
id 聊天消息id
image 图片消息的图片地址
roomId 频道号
time 发送消息时的时间戳
clientIp 用户IP
nick 观众昵称
pic 观众头像
roomId 频道号
uid socket分配的id
userId 用户唯一标示
userType 用户类型,目前有teacher(老师)、assistant(助教)、manager(管理员)、slice(云课堂学员)

php请求示例

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

//接口需要的参数(非sign)赋值
$channelId = "127075";
$startDay = "2017-08-24";
$endDay = "2018-08-24";

$params = array(
    'appId'=>$appId,
    'startDay'=>$startDay,
    'endDay'=>$endDay,
    'timestamp'=>$timestamp
  );

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

//接口请求url
$url = "http://api.live.polyv.net/v2/chat/$channelId/getHistory?appId=$appId&timestamp=$timestamp&sign=$sign&startDay=$startDay&endDay=$endDay";

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

?>

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

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

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

直播聊天室API接口

一、聊天室接口文档 

聊天室socket消息收发

1、地址(支持https)

聊天室服务器域名:

http://chat.polyv.net

聊天室接口域名:

http://apichat.polyv.net

2、连接聊天室服务器

var supportsWebSockets = 'WebSocket' in window || 'MozWebSocket' in window;
var chatHost = 'http://chat.polyv.net';
var chatToken;
var socket = io.connect(chatHost, {
    query: 'token=' + chatToken,
    transports : [supportsWebSockets ? 'websocket' : 'polling']
});

说明:

a) chatHost为聊天室服务器域名,支持https

b) chatToken为令牌,目前可以设置为空

c) 优先使用websocket的方式连接聊天室

3、监听消息

socket.on(msg,callbak)
msg主要有:connect,disconnect,messgae
socket.on('connect', function() {
    //TODO
})
socket.on('disconnect', function() {
    //TODO
})
socket.on('message' , function(data) {
    var mData = JSON.parse(data);
    if (mData && mData.EVENT) {
        switch (mData.EVENT) {
            //TODO
        }
    }
})

注:'message'消息回调函数参数data为JSON字符串,需要先转换为JSON对象,每个data都会包含一个'EVENT'属性

4、'EVENT'属性

注:下面所列消息,如果只说明监听回调返回的数据,而没有说明发送的消息,页面均不可主动发送给服务器

LOGIN:

登录消息,登录房间的时候服务器会广播这一消息

发送:

socket.emit('message', JSON.stringify({
    EVENT: 'LOGIN',
    values: [userNick, userPic, userId], //登录用户信息,不可为空
    roomId: roomId, //当前房间号
    type: userType,//用户类型,可为空,teacher(教师)、assistant(助教)、manager(管理员)、slice(云课堂学员)
}));

监听回调返回的数据(此次省略处理数据的步骤,后面同):

{
    "EVENT":"LOGIN",
    "onlineUserNumber":3,
    "user": {
        "clientIp":"59.42.43.28",
        "nick":"广州观众/32199",
        "pic":"//livestatic.videocc.net/v_60/assets/wimages/missing_face.png",
        "roomId":"100781",
        "uid":"CxJj8Ap3C9jN1UHKAJ_V",    
        "userId":"1499917692338" 
        "userType": "" 
    }
}

说明

名称 类型 说明
onlineUserNumber number 当前房间在线总人数
clientIp 用户IP
nick 用户昵称
pic 用户头像
roomId 房间号
uid socket分配的id
userId 用户唯一标识
userType teacher、assistant、manager、slice 用户类型,目前有teacher(老师)、assistant(助教)、manager(管理员)、slice(云课堂学员)

LOGOUT

说明:登出消息,有人离开房间(包括刷新页面)时服务器会广播这一消息

监听回调返回数据:

EVENT: "LOGOUT",
onlineUserNumber: 3,
uid: "I_o3f4sHDzAHM4LVAJTX"
名称 类型 说明
onlineUserNumber number 当前房间在线总人数
uid string 离开人的socket.id

SPEAK:

说明:发言,接收别人的发言消息(不包括自己)

发送:

socket.emit('message', JSON.stringify({
    EVENT: 'SPEAK',
    values: [value],                //发言内容
    roomId: roomId                //当前房间号
}));

监听回调返回的数据:

{
    "EVENT": "SPEAK",
    "id": "f1e4a960-6abc-11e7-ac0a-379e251bb30e",
    "time": 1500274540278,
    "user": {
        "clientIp": "59.42.40.89",
        "nick": "rururu",
        "pic":"//livestatic.videocc.net/v_60/assets/wimages/missing_face.png",
        "roomId": "100781",
        "uid": "yP-HnXTEZyToxP0TAGCS",
        "userId": "1500274526077",
        "userType": "" 
    },
    "values": ["sadasd"]
}
名称 说明
id 消息唯一标志
time 时间戳
user 发言人
values 消息内容

GONGGAO:

说明:公告消息,此公告消息页面不主动发送,当管理员发言时,服务器会将管理员的消息做为公告处理,当重新进入页面时,如有公告,服务器会广播这一消息。

监听回调返回的数据:

{
    "EVENT": "GONGGAO",
    "content": "POLYV保利威视" 
}
名称 说明
content 公告内容

BULLETIN

说明:公告消息,此公告消息页面可主动发送,区别于“GONGGAO”消息。当重新进入页面时,如有公告,服务器会广播这一消息。

发送

socket.emit('message', JSON.stringify({
    EVENT: 'BULLETIN',
    roomId: roomId,    //当前房间号
    content: content,  //公告内容
}));

监听回调返回的数据:

EVENT: "BULLETIN",
content: "???/",
roomId: "105240"
名称 类型 说明
content string 公告内容
roomId number/string 当前房间号(重新进入房间收到这一消息不会带roomId)

SET_NICK:

说明: 昵称设置,当观众进入房间昵称为xx/观众+数字类型时才会提示设置,设置的昵称存在时间为5个小时

发送:

socket.emit('message', JSON.stringify({
    EVENT: 'SET_NICK',
    roomId: roomId, //当前房间号
    userId: userId, //用户唯一标识
    nick: nick//要设置的昵称
}));

监听回调返回的数据:

错误消息1:

{
    "EVENT":"SET_NICK",
    "message":"昵称已存在",
    "nick":"林林林",
    "status":"error",
    "userId":"1500285799522" 
}

错误消息2:

{
    "EVENT":"SET_NICK",
    "message":"您的昵称中含有违规词",
    "nick":"管理员",
    "status":"error",
    "userId":"1500285799522" 
}

错误消息3:

{
    "EVENT":"SET_NICK",
    "message":" 找不到该用户",
    "nick":"林林林",
    "status":"error",
    "userId":"1" 
}

错误消息4:

{
    "EVENT":"SET_NICK",
    "message":"缺少相关参数",
    "status":"error" 
}

设置成功消息:

{
    "EVENT":"SET_NICK",
    "message":"设置成功",
    "nick":"林林林",
    "status":"success",
    "userId":"1500285799522" 
}
名称 说明
message 消息内容
status 设置状态
nick 设置昵称
userId 用户id

FLOWERS:

说明:送花事件

发送:

socket.emit('message', JSON.stringify({
    EVENT: 'FLOWERS',
    roomId: roomId,//当前房间号
    nick: userNick,//送花人昵称
    uimg: userPic //送花人头像,为新增的属性,可不传
}));

监听回调返回的数据:

{
    "EVENT":"FLOWERS",
    "nick":"广州观众/81366",
    "uimg":"//livestatic.videocc.net/v_60/assets/wimages/missing_face.png" 
}
名称 说明
nick 送花人昵称
uimg 送花人头像(新增)

LIKES:

说明: 点赞事件

发送:

socket.emit('message', JSON.stringify({
    EVENT: 'LIKES',
    nick: userNick, //点赞人昵称
    count: likesnum, //当前点赞数,可不传
    roomId: roomId //当前房间号
}));

监听回调返回的数据:

{
    "EVENT":"LIKES",
    "count":160,
    "nick":"广州观众/81366" 
}
名称 说明
count 当前点赞总数,若发生消息的时候没传此属性,则不返回这个属性
nick 点赞人昵称

KICK:

说明: 踢人事件

发送:

var data = JSON.stringify({
    EVENT: 'KICK',
    values: [userName], //被踢出人昵称
    roomId: roomId,
    sign:sign //md5校验字符串
});
socket.emit('message',data);

监听回调返回的数据:

{
    "EVENT":"KICK",
    "user": {
        "clientIp":"59.42.40.89",
        "nick":"林林林",
        "pic":"//livestatic.videocc.net/v_60/assets/wimages/missing_face.png",
        "roomId":"100781",
        "uid":"118GWVRA24PR14coA3bz",
        "userId":"1500275476199",
        "userType":"" 
    }
}
名称 说明
user 被踢用户对象

REMOVE_CONTENT:

说明:删除某条聊天记录,目前需要通过HTTP接口调用

监听回调返回的数据:

{
    "EVENT":"REMOVE_CONTENT",
    "content":"asd",
    "id":"54b04e90-6acd-11e7-abcd-a985dda00975",
    "roomId":"100781" 
}
名称 说明
content 删除的内容
id 删除内容对应的id
roomId 房间号

REMOVE_HISTORY:

说明:清空聊天记录

发送:

var data=JSON.stringify({
    EVENT:'REMOVE_HISTORY',
    roomId: roomId,
    sign:sign
});
socket.emit('message',data);

监听回调返回的数据:

{
    "EVENT":"REMOVE_HISTORY" 
}

CLOSEROOM:

说明:关闭聊天室

发送:

var data = JSON.stringify({
    EVENT:'CLOSEROOM',
    roomId:roomId,
    sign:sign    //md5校验字符串
});
socket.emit('message',data);

监听回调返回的数据:

{
    "EVENT":"CLOSEROOM",
    "value": {
      "closed":true,    
      "roomId":"100781" 
    }
}
名称 说明
closed true为关闭,false为开启
roomId 房间号

CLOSE_DANMU:

说明:关闭弹幕

监听回调返回的数据:

{
    "EVENT": "CLOSE_DANMU",
    "isClose": true
}
名称 说明
isClose true为关闭,false为开启

CUSTOMER_MESSAGE:

说明:自定义消息接收事件,目前只能通过后台管理员调用HTTP接口发送消息,可参考http://dev.polyv.net/2016/12/send-chat/

监听回调返回的数据:

{
    "EVENT" : "CUSTOMER_MESSAGE",
    "roomId" : 100781,
    "image":"http://livestatic.videocc.net/assets/wimages/pc_images/logo.png",
    "content" : "这是一条自定义消息" 
}
名称 说明
roomId 房间号
image 消息图片(根据发送的消息是否有图片决定)
content 消息内容

GET_TEST_QUESTION_CONTENT:

说明:获取答题卡题目和选项内容

响应:

名称 类型 说明
questionId string 问题ID
type string 题目类型,R表示单选,C表示多选
answer string 题目答案,多个答案则直接拼接,如选A和B,则返回AB
option1 string 选择项1,选项最少2个,最多5个
option2 string 选择项2
option3 string 选择项3
option4 string 选择项4
option5 string 选择项5
title string 题目标题
hash string 校验码
ts string 时间戳

GET_TEST_QUESTION_RESULT :

说明:获取答题卡答题结果

响应:

名称 类型 说明
questionId string 问题ID
result object 答题结果

答题结果字段说明:

名称 类型 说明
singleResult array 各个选项被选次数
total number 回答总人数
answer string 答案

ANSWER_TEST_QUESTION:

说明:发送答案

请求:

socket.emit('message', JSON.stringify({
    EVENT: 'ANSWER_TEST_QUESTION',
    roomId: channelId,
    nick: nick,
    userId: userId,
    option: result,
    questionId: questionId
}));

字段说明:

名称 说明
EVENT 事件名
roomId 房间号
nick 昵称
userId 学生ID
option 选择的答案,多选时直接将多个答案拼接。如,选A和B,则option为AB
questionId 问题ID

** 咨询提问 **

发送提问内容:

socket.emit('message', JSON.stringify({
    EVENT: 'S_QUESTION',
    roomId: roomId,
    user: {
        nick: nick,
        pic: pic,
        userId: userId,
        userType: 'student'
    },
    content: value
}));

字段说明:

名称 说明
EVENT 事件名
roomId 房间号
user 用户信息
content 提问内容

用户信息说明:

名称 说明
nick 昵称
pic 头像
userId 学员id
userType 类型

响应:

同发送字段内容一致

老师/管理员/助教回复提问:

socket.emit('message', JSON.stringify({
    EVENT: 'T_ANSWER',
    roomId: roomId,
    user: {
        nick: nick,
        pic: pic,
        userId: userId,
        userType: 'teacher',
        actor: actor
    },
    s_userId: s_userId
    content: value
}));

字段说明:

名称 说明
EVENT 事件名
roomId 房间号
user 用户信息
s_userId 被回复学员的id
content 回复内容

用户信息说明:

名称 说明
nick 昵称
pic 头像
userId 讲师/助教/管理员id
userType 类型:teacher/assistant/manager
actor 头衔

响应:

同发送字段内容一致

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