批量新增白名单

接口URL

http://api.polyv.net/live/v3/channel/auth/upload-whitelist

接口说明

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

1、接口用于设置频道或全局观看条件中的白名单列表
2、接口支持https
3、为了保证观众正常使用观看页,接口会对您上传的excel 文件进行检查,具体限制为:
    a.会员码不可为空,不可重复,不可为频道号、嘉宾号、助教号,会员码不区分大小写;
    b.昵称不可为空,不可重复,不能包含严禁词。

请求方式

POST

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp long 13位当前时间戳
sign string 签名值
channelId int 频道号,无该参数为全局设置
rank int 主要观看条件为1,次要观看条件为2
file file 白名单文件(白名单模板

响应成功JSON示例:

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

响应失败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,
    "status": "error",
    "message": "param is not digit: %s",
    "data": ""
}

频道不存在

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

频道Id非法错误

{
    "code": 400,
    "status": "error",
    "message": "illegal channel id: %s",
    "data": ""
}

excel 解析错误

{
    "code": 400,
    "status": "error",
    "message": "whitelist excel parse error.",
    "data": ""
}

excel 没有数据

{
    "code": 400,
    "status": "error",
    "message": "whitelist excel no data.",
    "data": ""
}

白名单内容校验错误

{
    "code": 400,
    "status": "error",
    "message": "whitelist validate error",
    "data": {
        "nameEmptyList": [
            "withoutname1",
            "withoutname2"
        ],
        "phoneEmptyList": [
            "withoutcode1",
            "withoutcode2"
        ],
        "nameDuplicateList": [
            {
                "word": "sameName",
                "count": 2
            }
        ],
        "storageNameDuplicateList": [],
        "phoneDuplicateList": [
            {
                "word": "samecode",
                "count": 2
            }
        ],
        "storagePhoneDuplicateList": [
            {
                "word": "storagecode",
                "count": 1
            }
        ],
        "illegalNameList": [
            {
                "word": "contains forbidword",
                "badword": "forbidword"
            }
        ],
        "illegalPhoneList": [
            "1803949"
        ],
        "correct": false
    }
}

字段说明

字段名称 字段类型 说明
code int 状态码,成功为200,签名失败为403,参数错误为400,服务端错误为500
status String 成功为success,错误时为error
message String 成功为"",错误时为错误描述信息
data ParseWhiltlistErrorModel 当错误类型为 白名单内容错误("whitelist validate error")时返回具体错误,成功和其他错误时返回null

ParseWhiltlistErrorModel--解析白名单内容错误
说明:

字段名称 字段类型 说明
nameEmptyList List<String> 名称为空的白名单对应的会员码列表
phoneEmptyList List<String> 会员码为空的白名单对应的名称列表
illegalPhoneList List<String> 非法会员码列表
nameDuplicateList List<DuplicateRecord> 仅在上传文件中名称重复的记录列表
storageNameDuplicateList List<DuplicateRecord> 上传文件中与原有记录的名称重复的记录列表
phoneDuplicateList List<DuplicateRecord> 仅在上传文件中会员码重复的记录列表
storagePhoneDuplicateList List<DuplicateRecord> 上传文件中与原有记录的会员码重复的记录列表
illegalNameList List<IllegalNameRecord> 非法名称列表

DuplicateRecord--重复记录

字段名称 字段类型 说明
word string 重复的名称或会员码
count int 重复次数

IllegalNameRecord--非法名称记录

字段名称 字段类型 说明
word string 非法名称
badword string 触发的严禁词

php请求示例

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

$params = array(
  'appId' => $appId,
  'timestamp' => $timestamp,
  'rank' => 1,
  'channelId' => '204140'
);

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

// 拼接需要签名的参数
$params["sign"] = $sign;
$url="http://api.polyv.net/live/v3/channel/auth/upload-whitelist?".http_build_query($params);

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;
}

// 文件不参与签名
$file['file'] = new CURLFile(realpath("test.xls"));
echo post($url, $file);
?>

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

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

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