批量创建答题卡

接口URL

https://api.polyv.net/live/v3/channel/question/batch-save

接口说明

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

批量创建答题卡,创建一套直播频道答题卡模板与相对应的模板题目。

返回结果支持格式

JSON

请求方式

POST

请求参数

参数名 必选 类型及范围 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp long 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,为32位大写的MD5值
channelId string 频道号
name string 模板名称,不传不会生成答题卡模板数据
status string 模板状态unused:上传成功,used:使用中
questions[].identifyId string 记录题目ID,接口成功后会返回这个id对应系统的questionId
questions[].name string 题目名称
questions[].type string 题目类型R:单选,C:多选,S:评分
questions[].option1 string 选项1,option不能同时为空,有数据必须连续
questions[].option2 string 选项2,option不能同时为空,有数据必须连续
questions[].option3 string 选项3,option不能同时为空,有数据必须连续
questions[].option4 string 选项4,option不能同时为空,有数据必须连续
questions[].option5 string 选项5,option不能同时为空,有数据必须连续
questions[].answer string 当questions[].type 是评分时,非必填,单选,多选答案,比如多选ABC,单选A(单选不能有两个)
questions[].tips1 string 当questions[].type是评分,传入option1相应的值 ,也就是分值提示
questions[].tips2 string 当questions[].type是评分,传入option2相应的值 ,也就是分值提示
questions[].tips3 string 当questions[].type是评分,传入option3相应的值 ,也就是分值提示
questions[].tips4 string 当questions[].type是评分,传入option4相应的值 ,也就是分值提示
questions[].tips5 string 当questions[].type是评分,传入option5相应的值 ,也就是分值提示

注:这里的channelId,appId,timestamp,sign必须通过url传参,json数据通过请求体传参,如:
https://api.polyv.net/live/v3/channel/questionnaire/add-edit-questionnaire?channelId={{channelId}}&appId={{appId}}×tamp={{timestamp}}&sign={{sign}}

body入参示例

{
    "name":"nana",
    "questions": [
        {
            "identifyId": "123",
            "name":"第一题",
            "type":"R",
            "option1": "哈哈",
            "option2": "测试",
            "answer":"A"
        }
    ]
}

返回结果

// 成功结果
{
    "code": 200,
    "status": "success",
    "message": "success",
    "data": {
        "templateId": "xxxxxx",
        "questionKey": {
            "123": "xxxxx",
            "identifyId2": "questionId2"
        }
    }
}

失败返回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 响应码 int32
status 响应状态:success/error/fail string
message 错误信息说明 string
data 响应数据 object
data.templateId 模板templateId string
data.questionKey 模板题目,参数中的identifyId对应系统中的提问主键questionId,是一个对象,key-value形式,如果不需要对应题目与系统题目questionId,可以忽略该参数 Object

响应错误说明

错误代码 message 说明
400 appId is required. 未输入appId
400 application not found. appId不正确
400 invalid timestamp. 时间戳错误
400 invalid signature. 签名错误
400 param is not digit: dsadasd 频道号格式错误
400 type illegal. type T. 题目类型错误
400 xxxx name is blank identifyId的题目标题为空
400 xxxx answer is blank identifyId的题目答案为空
400 xxxx options are all blank identifyId的所有选项为空
400 xxxx options are discontinuous identifyId选项不连续
400 xxxx answer's option is empty identifyId题目对应答案为空
400 xxxx illegal answer identifyId非法答案

PHP请求示例

<?php

$appId="xxxxxxxxxxx";
$timestamp=time()*1000;
$url = 'https://api.polyv.net/live/v3/channel/question/batch-save?';
$header = array('application/json');
$data = array(
    'appId' => $appId,
    'timestamp' => $timestamp,
    'channelId' => 206204
);
$data["sign"]=$hash;
$json = '{
    "name":"nana",
    "questions": [
        {
            "identifyId": "123",
            "name":"第一题",
            "type":"R",
            "option1": "哈哈",
            "option2": "测试",
            "answer":"A"
        }
    ]
}'
// 请求接口
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url.http_build_query($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$sResult = curl_exec($ch);
if($sError=curl_error($ch)){
    die($sError);
}
curl_close($ch);
//打印获得的数据
print_r($sResult);
?>

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

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

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