查询频道正在进行某个互动

接口URL

https://api.polyv.net/live/v3/chat/inConductInteractive

接口说明

查询某个频道是否正在进行交互动作(签到、问卷、抽奖、正在答题等)

支持格式

JSON

请求方式

GET

请求参数

参数名 必选 类型及范围 说明
sign true string 签名sign
appId true string appId
timestamp true string 13位时间搓
channelId true string 频道号

返回结果

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": {
        "sign": true,
        "lottery": false,
        "questionnaire": false,
        "testQuestions": false
    }
}

失败返回json(不带jsonp)

//时间搓过期
{
  "code": 400,
  "status": "error",
  "message": "ptime is too old.",
  "data": ""
}
//签名错误
{
    "code": 403,
    "status": "error",
    "message": "invalid signature.",
    "data": ""
}

字段描述

字段名称 描述
code 响应代码,成功为200,失败为400,签名错误为403,异常错误500(http状态码也跟code相同)
status 成功为success,失败为error
message 错误时为错误提示消息
data 成功时返回一个对象,内容为下面字段
sign 是否正在签到
lottery 是否正在抽奖
questionnaire 是否正在问卷
testQuestions 是否正在答卷

php请求示例

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

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

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

$url = "https://api.polyv.net/live/v3/chat/inConductInteractive?".http_build_query($params);

$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, 1);
$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/channel/advert/list

接口说明

1、提供获取频道轮播广告列表信息,频道广告为空时,获取全局广告
2、支持https

支持格式

JSON

请求方式

GET

请求参数

参数名 必选 类型 说明
appId string 账号应用下的appId
timestamp string 当前时间的秒级时间戳(13位)
sign string 签名,为32位大写的MD5值
channelId int 频道号

操作成功响应示例

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": [
        {
            "text": "",
            "img": "//liveimages.videocc.net/uploaded/images/2019/09/ffmgstpk58.png",
            "href": ""
        },
        {
            "text": "123445",
            "img": "",
            "href": ""
        }
    ]
}

操作失败响应示例

签名错误

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

缺少参数 channelId

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

响应字段说明

名称 类型 说明
code string 响应代码,成功为200,失败为400,签名错误为403,异常错误500
status string 成功为success,失败为error
message string 错误时为错误提示消息
data object[] 成功响应数据
text string 文本广告内容
img string 图片广告链接
href string 跳转链接

php请求示例

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

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

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

//接口请求url
$url = "https://api.polyv.net/live/v3/channel/advert/list?appId=".$appId."&sign=".$sign."&timestamp=".$timestamp."&channelId=".$channelId;
//输出接口请求结果
echo file_get_contents($url);

?>

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

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

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

通过文件ID获取录制文件信息

接口URL

https://api.polyv.net/live/v3/channel/record/get

接口说明

1、接口用于通过文件ID获取录制文件信息
2、接口支持https

支持格式

JSON

请求方式

GET

请求参数

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

响应成功JSON示例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": {
        "bitrate": 0, 
        "channelId": 339382, 
        "channelSessionId": "fdl03sz2mx", 
       "createdTime": 1561719918000, 
       "duration": 78, 
       "endTime": "20190628190217", 
       "fileId": "d2c7428031a512a2f8c53da358f9695e", 
       "filename": "测试创建", 
       "filesize": 5110372, 
       "height": 720, 
       "liveType": "ppt", 
       "m3u8": "http://oss-live-1.videocc.net/record/record/recordf/edvf2fpec920190621142457386/2019-06-28-19-00-58_2019-06-28-19-02-16.m3u8", 
       "mp4": "http://oss-live-1.videocc.net/record/record/recordf/edvf2fpec920190621142457386/2019-06-28-19-00-58_2019-06-28-19-02-16.mp4",
       "startTime": "20190628190057",
       "userId": "edvf2fpec9", 
       "width": 1280
    }
}

响应失败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 响应结果集
bitrate 码率
channelId 频道号
channelSessionId 频道场次
createdTime 创建时间
duration 时长
endTime 结束时间
fileId 文件ID
filename 文件名
filesize 文件大小
height
liveType 直播类型
m3u8 m3u8文件地址
mp4 MP4地址
startTime 开始时间
userId 用户ID
width

php请求示例

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

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

$url = "https://api.polyv.net/live/v3/channel/record/get?".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/channel/document/upload-doc

接口说明

1、作用:上传频道文档接口
2、说明:上传的文件不超过50M,格式限制为(ppt, pdf,pptx,doc,docx,wps, xls,xlsx)。
3、接口支持https协议

支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
sign string 签名,32位大写MD5值
timestamp string 当前13位毫秒级时间戳,3分钟内有效
channelId string 频道ID
type string 转换类型(‘common’:转普通图片, ‘animate’:转动画效果)默认不传转普通,因为只有ppt,pptx可以转动画,其他类型文件会自动转成普通;文件转动画转失败会直接把类型转为普通
file 本地上传文件 上传的文件不超过50M,格式限制为(ppt, pdf,pptx,doc,docx,wps, xls,xlsx)

响应成功JSON示例:

 {
    "code":200,
    "status":"success",
    "message":"",
    "data": {
        "fileId": "xxxxxxxxx",
        "type": "common",
        "autoId": 1212,
        "status": "waitConvert" 
    }
}

响应异常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": ""
}

字段说明

参数名 说明
status 响应状态
data 成功信息
data.fileId 成功时返回文件ID
data.fileId 成功时返回文件记录自增标识id
data.type 转换类型(‘common’:转普通图片, ‘animate’:转动画效果)只有ppt,pptx会转动画,其中会自动转成普通,转动画转失败也会直接把类型转为普通
data.status 文件转换状态(“normal” :正常,"waitConvert":转换PPT中,"failConvert":转换PPT失败)
code 异常错误代码
message 请求失败时的异常错误信息

php请求示例

<?php

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


//接口需要的参数(非sign)赋值
$appId = "XXXXXXXX";
$channelId = "127075";
$file = 'C:\Users\polyv\Desktop\timg.jpg';

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

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

$data = array(
      'appId' => $appId,
      'timestamp' => $timestamp,
      'sign' => $sign,
      'file' => new CURLFile(realpath($file))
  );

$url = "http://api.polyv.net/live/v3/channel/document/upload-doc";
$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); 

?>

java请求示例

public class SetCoverImg {

    private static RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(15000).setConnectTimeout(15000)
            .setConnectionRequestTimeout(15000).build();

    public static void main(String[] args) {
        Integer channelId = 108888; // 频道号
        String appId = "XXXXXXXX"; // 应用Id
        String appSecret = "XXXXXXXX";  // 应用密匙
        Long timestamp = System.currentTimeMillis(); // 13位毫秒级时间戳

        // 构建签名
        String sign = DigestUtils.md5Hex(appSecret + "appId" + appId + "channelId" + channelId +  "timestamp" + timestamp + appSecret).toUpperCase();

        String url = String.format("http://api.polyv.net/live/v3/channel/document/upload-doc", channelId);

        Map<String, String> map = new HashMap<>();
        map.put("appId", appId);
        map.put("channelId", String.valueOf(channelId));
        map.put("timestamp", String.valueOf(timestamp));
        map.put("sign", sign);

        // 图片的本地文件路径,推荐128X128
        File file = new File("C:\\Users\\lenovo\\Desktop\\demo.ppt");
        String responBody = sendHttpPost(url, map, file);
        System.out.println(responBody);
    }

    /**
     * 发送 post请求(带文件)
     * @param httpUrl 地址
     * @param maps 参数
     * @param file 上传文件
     */
    private static String sendHttpPost(String httpUrl, Map<String, String> maps, File file) {
        HttpPost httpPost = new HttpPost(httpUrl);// 创建httpPost
        MultipartEntityBuilder meBuilder = MultipartEntityBuilder.create();
        // 设置此参数后可以保证服务器拿到的文件名不会出现乱码
        meBuilder.setMode(HttpMultipartMode.RFC6532);
        for (String key : maps.keySet()) {
            meBuilder.addPart(key, new StringBody(maps.get(key), ContentType.TEXT_PLAIN));
        }
        FileBody fileBody = new FileBody(file);
        meBuilder.addPart("file", fileBody); // imgfile 图片对应参数名
        HttpEntity reqEntity = meBuilder.build();
        httpPost.setEntity(reqEntity);
        return sendHttpPost(httpPost);
    }

    /**
     * 发送Post请求
     */
    private static String sendHttpPost(HttpPost httpPost) {
        CloseableHttpClient httpClient = null;
        CloseableHttpResponse response = null;
        HttpEntity entity;
        String responseContent = null;
        try {
            // 创建默认的httpClient实例.
            httpClient = HttpClients.createDefault();
            httpPost.setConfig(requestConfig);
            // 执行请求
            response = httpClient.execute(httpPost);
            entity = response.getEntity();
            responseContent = EntityUtils.toString(entity, "UTF-8");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                // 关闭连接,释放资源
                if (response != null) {
                    response.close();
                }
                if (null != httpPost) {
                    httpPost.releaseConnection();
                }
                if (httpClient != null) {
                    httpClient.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return responseContent;
    }
}

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

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

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

删除频道文档

接口URL

http://api.polyv.net/live/v3/channel/document/delete

接口说明

1、提供删除频道文档接口
2、支持https

支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 账号应用下的appId
timestamp string 当前时间的秒级时间戳(13位)
sign string 签名,为32位大写的MD5值
channelId int 频道号
fileId string 文件ID,(如果有多个,可以用英文逗号隔开拼接成字符串)
type string 新旧版文件类型,“old”:旧版, “new”: 新版【这个值可以从文档列表接口返回数据的data.contents[0].type(类型)中获得】【多个文件需要删除,请按照fileId顺序对应ppt新旧类型,用英文逗号隔开拼接成字符串),type中的类型数量必须跟fileId中的包含的ID数量一致】

操作成功响应示例

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

操作失败响应示例

签名错误

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

缺少参数 channelId

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

type和fileId包含的文档数量不一致

{
    "code": 400,
    "status": "error",
    "message": "arrays length are not equal",
    "data": ""
}

响应字段说明

名称 类型 说明
code string 响应代码,成功为200,失败为400,签名错误为403,异常错误500
status string 成功为success,失败为error
message string 错误时为错误提示消息
data string 成功响应数据

php请求示例

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

$params = array(
    'appId' => $appId,
    'timestamp' => $timestamp,
    'channelId' => 206204,
    'fileId' => "adadadadadadadadadada,bbbbbbbbbbbbbbbbbbbb"
    'type' => ''old,old''
);

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

$url = "https://api.polyv.net/live/v3/channel/document/delete?".http_build_query($params);

$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/v3/channel/document/doc-list

接口说明

1、接口用于频道文档列表接口
2、接口支持https

支持格式

JSON

请求方式

GET

请求参数

参数名 必选 类型 说明
appId string 账号应用下的appId
timestamp long 13位当前时间戳
sign string 签名值
channelId int 频道号
status String 文档状态,不传查询所有(“normal” :正常,“waitUpload”:等待上传,“failUpload”:上传失败,"waitConvert":转换PPT中,"failConvert":转换PPT失败)
page int 第几页,默认不传显示第一页
limit int 每页显示几条数据,默认不传显示10条
isShowUrl string 是否展示PPT原文件地址,该参数不传默认不展示,’Y‘:是,’N‘:否

响应成功JSON示例:

// 响应成功
{
    "code": 200,
    "status": "success",
    "message": "",
    "data": {
    "pageSize": 10,
    "pageNumber": 1,
    "totalItems": 1,
    "contents": [{
        "autoId": 111111,
        "fileId": "xxxxxxxxx",
        "fileName": "关于xxxx的通知.pdf",
        "fileUrl": "http://doc-2.polyv.net/sources/20190614/xxxxxxxxxxxxxxxxxxxx.pdf",
        "fileType": ".pdf",
        "totalPage": 1,
        "channelId": "254318",
        "status": "normal",
        "createTime": 1560476703000,
        "convertType": "common",
        "type": "new",
        "previewImage": "http://doc-2.polyv.net/images/2019/06/xxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxx_0000_s.jpeg"
    }],
    "startRow": 1,
    "firstPage": true,
    "lastPage": true,
    "nextPageNumber": 1,
    "prePageNumber": 1,
    "totalPages": 1,
    "endRow": 5,
    "limit": 5,
    "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 响应代码,成功为200,失败为400,签名错误为403,异常错误500
status 成功为success,失败为error
message 错误时为错误提示消息
data 分页的文档列表
data.pageNumber 当前页码
data.totalPages 页面总数
data.pageSize 每页数据量
data.contents 当前页面内容
data.contents[0].autoId 文档ID
data.contents[0].fileId 文件ID
data.contents[0].fileName 文件名
data.contents[0].fileUrl 文件url(isShowUrl为'Y'的时候返回文件地址)
data.contents[0].fileType 文件类型
data.contents[0].totalPage PPT总页数
data.contents[0].channelId 频道ID
data.contents[0].status ppt转换状态(“normal” :正常,“waitUpload”:等待上传,“failUpload”:上传失败,"waitConvert":转换PPT中,"failConvert":转换PPT失败)
data.contents[0].createTime 创建时间
data.contents[0].convertType 转换类型("common":"普通PPT","animate": "动画PPT")
data.contents[0].type 类型,区分旧版PPT还是新版PPT,新版值为“new”,旧版值为“old”
data.contents[0].previewImage ppt预览小图地址

请求示例

<?php

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

//接口URL上变量
$channelId = "123456";
//接口需要的参数(非sign)赋值
$params = array(
    'appId'=>$appId,
    'timestamp'=>$timestamp,
    'channelId'=>$channelId
  );

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

//接口请求url
$url = "http://api.polyv.net/live/v3/channel/document/list2?appId=".$appId."&sign=".$sign."&timestamp=".$timestamp."&channelId=".$channelId;
//输出接口请求结果
echo file_get_contents($url);

?>

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

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

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

分页获取问卷结果

接口URL

https://api.polyv.net/live/v3/channel/questionnaire/list-answer-records

接口说明

1、接口用于分页查询直播问卷的答题结果及统计
2、接口支持https

返回格式

JSON

请求方式

GET

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp long 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,为32位大写的MD5值
channelId int 频道号
page int 页号,默认为1
pageSize int 每页大小,默认为10
startDate string 开始时间,格式:2018-12-10
endDate string 结束时间,格式:2018-12-10

响应成功JSON示例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": {
        "pageNumber": 1,
        "totalItems": 3,
        "contents": [
            {
                "questionnaireId": "f7g2gtgtsd",
                "customQuestionnaireId": "xxxd33333",
                "questionnaireTitle": "ttt",
                "lastModified": 1544147881000,
                "endTime": 1544147981000,
                "questionStats": {
                    "questions": [
                        {
                            "questionId": "f7g2gtgtt9",
                            "score": 10,
                            "totalScore": 10,
                            "total": 2,
                            "correctCount": 1,
                            "d": 0,
                            "e": 0,
                            "f": 0,
                            "h": 0,
                            "i": 0,
                            "j": 0,
                            "c": 0,
                            "a": 1,
                            "b": 1,
                            "g": 0
                        },
                        {
                            "questionId": "f7g2gtgtyg",
                            "score": 10,
                            "totalScore": 10,
                            "total": 2,
                            "correctCount": 1,
                            "d": 0,
                            "e": 0,
                            "f": 0,
                            "h": 0,
                            "i": 0,
                            "j": 0,
                            "c": 0,
                            "a": 1,
                            "b": 1,
                            "g": 0
                        }
                    ],
                    "total": 2
                },
                "users": [
                    {
                        "viewerId": "1544406042082",
                        "nickname": "广州观众/98347",
                        "totalScore": 20,
                        "answers": [
                            {
                                "questionId": "f7g2gtgtt9",
                                "questionName": "a",
                                "answer": "A",
                                "score": 10,
                                "type": "R"
                            },
                            {
                                "questionId": "f7g2gtgtyg",
                                "questionName": "b",
                                "answer": "A",
                                "score": 10,
                                "type": "R"
                            }
                        ]
                    },
                    {
                        "viewerId": "oL0En04rCbHNSNdey_rFMAkLT-Ps",
                        "nickname": "ilyq69",
                        "submitTime": 1564384274000,
                        "totalScore": 0,
                        "answers": [
                            {
                                "questionId": "f7g2gtgtt9",
                                "questionName": "a",
                                "answer": "B",
                                "score": 0,
                                "type": "R"
                            },
                            {
                                "questionId": "f7g2gtgtyg",
                                "questionName": "b",
                                "answer": "B",
                                "score": 0,
                                "type": "R"
                            }
                        ]
                    }
                ]
            }
        ],
        "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": ""
}

频道号格式错误

{
  "code": 400, 
  "status": "error", 
  "message": "param is not digit: dsadasd", 
  "data": ""
}

字段说明

参数名 说明
code 响应代码,成功为200,失败为400,签名错误为401,异常错误500(http状态码也跟code相同)
status 成功为success,失败为error
message 错误时为错误提示消息
data 成功时,返回用户答题结果及各个题目的统计信息的分页信息
pageNumber 当前页数
totalItems 总条数
firstPage 是否为第一页,值为:true/false
lastPage 是否为最后一页,值为:true/false
nextPageNumber 下一页编号
prePageNumber 上一页编号
totalPages 总页数
limit 当前页数据条数
contents 频道的问卷信息和统计结果,是数组格式
questionnaireId 问卷ID,string
customQuestionnaireId 用户自定义问卷ID,string
questionnaireTitle 问卷名称,string
lastModified 问卷最后修改时间,13位毫秒级时间戳
endTime 问卷结束答题时间,13位毫秒级时间戳
questionStats 问卷下各个问题的答题统计
questionStats.total 题目的答题人数,int
questionStats.questions 题目的答题统计信息,数组[]
questionStats.questions[].questionId 题目ID,string
questionStats.questions[].questionName 题目名称,string
questionStats.questions[].score 题目分数,int
questionStats.questions[].totalScore 题目的总得分,int
questionStats.questions[].correctCount 题目的答对人数,int
questionStats.questions[].a-g 选择项a到g分别的答题人数,int
users 观看端提交答题的信息
users[].viewerId 提交问卷的用户ID,string
users[].nickname 提交问卷的用户昵称,string
users[].submitTime 提交问卷的用户答题时间,13位毫秒级时间戳
users[].totalScore 提交问卷的用户的总得分,int
users[].answers[] 用户每道题目的答题情况,数组 []
users[].answers[].questionId 题目ID,string
users[].answers[].questionName 题目名称,string
users[].answers[].answer 提交的题目答案,string
users[].answers[].score 用户答题的得分,string
users[].answers[].type 题目的类型,string,R 单选题 ,C 多项题 ,Q 问答题

php请求示例

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

$params = array(
  'appId' => $appId,
  'timestamp' => $timestamp,
  'channelId' => 195770,
  'startDate' => '2018-12-08',
  'endDate' => '2018-12-10'  
);

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

$url = "http://api.polyv.net/live/v3/channel/questionnaire/list-answer-records?".http_build_query($params);

$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, 1);
$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/channel/record/merge

接口说明

1、接口用于合并直播录制文件
2、该接口为异步处理,如果当前提交的文件如果正在处理,会返回 data: processing
3、接口支持https

请求方式

POST

请求参数

参数名 必选 类型 说明
appId string 管理员的appId
timestamp long 13位当前时间戳
sign string 签名值
channelId string 频道ID
fileIds string 要合并的录制视频文件ID,多个id用英文逗号, 分隔
fileName String 合并后的视频的文件名
callbackUrl string 合并成功或失败回调的url,可以带上自定义参数
autoConvert string 传入Y,自动转存到对应点播分类下(直播回放-频道号-场次)
mergeMp4 string 传Y合并MP4文件,传N或者不传合并m3u8文件

响应成功JSON示例:

//提交的视频正在合并处理中
{
    "code": 200,
    "status": "success",
    "message": "",
    "data": "processing."
}
//合并任务提交成功
{
    "code": 200,
    "status": "success",
    "message": "",
    "data": "submit 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 响应代码,成功为200,失败为400,签名错误为403,异常错误500
status 成功为success,失败为error
message 错误时为错误提示消息
data 成功响应时为相关的信息 "processing." 合并任务正在处理中 "submit success." 合并任务提交成功

php请求示例

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

$params = array(
  'appId' => "填写获取到的appId",
  'timestamp' => "填写13位时间戳",
  'channelId' => "填写频道号",
  'fileIds' => "aaaa,bbb",
  'fileName' => "合并测试",
  'callbackUrl'=> "http://demo.polyv.net/wfy/test.php"
);

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


$url="http://api.polyv.net/live/v3/channel/record/merge";

function post($url, $post_data = '', $timeout = 5){
   $ch = curl_init();
   curl_setopt ($ch, CURLOPT_URL, $url);
   curl_setopt ($ch, CURLOPT_POST, 1);
   if($post_data != ''){
      curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
   }

   curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
   curl_setopt($ch, CURLOPT_HEADER, false);
   $file_contents = curl_exec($ch);
   curl_close($ch);
   return $file_contents;
}

$params["sign"] = $sign;
echo post($url, $params);
?>

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

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

回调说明

该接口为异步处理,如果需要获取合并的结果,可以在请求接口时提交callbackUrl 参数,在程序合并成功后,会对callbackUrl 进行回调通知

回调参数

参数 说明
status 接口处理结果,取值:success(成功),error(出错)
fileId 合并后的文件ID,成功时返回
fileIds 合并前的文件ID
fileUrl 合并后的m3u8的地址,成功时返回
fileName 合并后的文件名称,成功时返回
以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

获取问卷详情

接口URL

https://api.polyv.net/live/v3/channel/questionnaire/detail

接口说明

1、接口用于获取问卷详情
2、问卷ID 可以从获取频道问卷列表中获取
3、接口支持https

返回结果格式

JSON

请求方式

GET

请求参数

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

响应成功JSON示例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": {
        "questionnaireId": "fefg598lfj",
        "customQuestionnaireId": "ddddxxx222",
        "channelId": 108888,
        "userId": "edvf2fpec9",
        "name": "测试问卷_1564105496583",
        "status": "forbidden",
        "createdTime": 1564105498000,
        "lastModified": 1564105498000,
        "endTime": 1564105580000,
        "questions": [
            {
                "questionId": "3839e04e78",
                "channelId": 108888,
                "userId": "edvf2fpec9",
                "name": "您觉得课程怎么样",
                "type": "C",
                "option1": "好",
                "option2": "很好",
                "option3": "非常好",
                "option4": "超级好",
                "option5": "以上都对",
                "createdTime": 1564105498000,
                "lastModified": 1564105498000,
                "answer": "",
                "note": null,
                "templateId": null,
                "status": "draft",
                "times": 0,
                "tips1": null,
                "tips2": null,
                "tips3": null,
                "tips4": null,
                "tips5": null,
                "required": "Y",
                "scoreEnabled": "N",
                "option6": "",
                "option7": "",
                "option8": "",
                "option9": "",
                "option10": "",
                "score": null,
                "itemType": 0
            },
            {
                "questionId": "847cd79c2f",
                "channelId": 108888,
                "userId": "edvf2fpec9",
                "name": "您从哪里获取该课程",
                "type": "C",
                "option1": "自己找到",
                "option2": "好友推荐",
                "option3": "媒体文章",
                "option4": "",
                "option5": "",
                "createdTime": 1564105498000,
                "lastModified": 1564105498000,
                "answer": "",
                "note": null,
                "templateId": null,
                "status": "draft",
                "times": 0,
                "tips1": null,
                "tips2": null,
                "tips3": null,
                "tips4": null,
                "tips5": null,
                "required": "Y",
                "scoreEnabled": "N",
                "option6": "",
                "option7": "",
                "option8": "",
                "option9": "",
                "option10": "",
                "score": null,
                "itemType": 0
            },
            {
                "questionId": "c908c81e80",
                "channelId": 108888,
                "userId": "edvf2fpec9",
                "name": "今后还会不会来",
                "type": "R",
                "option1": "会",
                "option2": "不会",
                "option3": "",
                "option4": "",
                "option5": "",
                "createdTime": 1564105498000,
                "lastModified": 1564105498000,
                "answer": "",
                "note": null,
                "templateId": null,
                "status": "draft",
                "times": 0,
                "tips1": null,
                "tips2": null,
                "tips3": null,
                "tips4": null,
                "tips5": null,
                "required": "Y",
                "scoreEnabled": "N",
                "option6": "",
                "option7": "",
                "option8": "",
                "option9": "",
                "option10": "",
                "score": null,
                "itemType": 0
            },
            {
                "questionId": "6dba1e90da",
                "channelId": 108888,
                "userId": "edvf2fpec9",
                "name": "请问您对课程有不满意的地方吗",
                "type": "Q",
                "option1": "",
                "option2": "",
                "option3": "",
                "option4": "",
                "option5": "",
                "createdTime": 1564105498000,
                "lastModified": 1564105498000,
                "answer": "",
                "note": null,
                "templateId": null,
                "status": "draft",
                "times": 0,
                "tips1": null,
                "tips2": null,
                "tips3": null,
                "tips4": null,
                "tips5": null,
                "required": "Y",
                "scoreEnabled": "N",
                "option6": "",
                "option7": "",
                "option8": "",
                "option9": "",
                "option10": "",
                "score": null,
                "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": ""
}

问卷ID不存在

{
    "code": 400,
    "data": "",
    "message": "questionnaire is not exist",
    "status": "error"
}

字段说明

参数名 说明
code 响应代码,成功为200,失败为400,签名错误为403,异常错误500
status 成功为success,失败为error
message 错误时为错误提示消息
questionnaireId 问卷ID
customQuestionnaireId 用户自定义问卷ID
channelId 频道ID
userId 用户ID
name 问卷名称
status 问卷状态
createdTime 问卷创建时间
endTime 停止问卷时间
questions 问卷问题列表

问卷问题模型类question

参数名 说明
questionId 问题ID
name 问题题目
type 问题类型,取值:R 单选;C 多选;S 评星题;Q 问答
option1~10 选项A~G 的内容
createdTime 创建时间
lastModified 最后修改时间
scoreEnabled 是否计分,取值Y、N
score 题目分值
required 是否必填,取值Y、N
answer 问题答案

php请求示例

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

$params = array(
    'appId' => $appId,
    'timestamp' => $timestamp,
    'channelId' => 108888,
    'questionnaireId' =>'xxxaaa'
);

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

$url = "https://api.polyv.net/live/v3/channel/questionnaire/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/questionnaire/list

接口说明

1、接口用于获取频道的问卷列表
2、接口支持https

支持格式

JSON

请求方式

GET

请求参数

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

注意:要按时间区间查询时,startTime 和 endTime 必须同时传参才能生效

响应成功JSON示例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": {
        "pageSize": 10,
        "pageNumber": 1,
        "totalItems": 2,
        "contents": [
            {
                "questionnaireId": "fefg598lfj",
                "channelId": 108888,
                "userId": "edvf2fpec9",
                "name": "测试问卷_1564105496583",
                "status": "forbidden",
                "createdTime": 1564105498000,
                "lastModified": 1564105498000,
                "endTime": 1564105580000,
                "customQuestionnaireId": "xxxxxx"
            },
            {
                "questionnaireId": "fefg4s724k",
                "channelId": 108888,
                "userId": "edvf2fpec9",
                "name": "测试问卷",
                "status": "forbidden",
                "createdTime": 1564105469000,
                "lastModified": 1564105469000,
                "endTime": 1564105487000,
                "customQuestionnaireId": "xxxxxx"
            }
        ],
        "startRow": 1,
        "firstPage": true,
        "lastPage": true,
        "nextPageNumber": 1,
        "prePageNumber": 1,
        "limit": 2,
        "endRow": 2,
        "totalPages": 1,
        "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 响应的状态码,例如:200
status 响应状态
message 异常错误信息
data 响应结果集
pageNumber 当前的页数
totalItems 总的条数
contents 查询的结果列表
questionnaireId 问卷ID
channelId 频道ID
userId 用户ID
name 问卷名称
status 问卷状态,取值:saved(已保存),published (已发布),forbidden (问卷已完成填写)
createdTime 问卷创建时间
lastModified 问卷最后修改时间
endTime 停止提交问卷时间
customQuestionnaireId 用户自定义问卷ID
firstPage 是否为第一页,值为:true/false
lastPage 是否为最后一页,值为:true/false
nextPageNumber 下一页编号
prePageNumber 上一页编号
totalPages 总页数
startRow 当前页第一个视频在回放视频中的位置
endRow 当前页最后一个视频在回放视频中的位置
limit 当前页视频个数

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/questionnaire/list?".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...