保利威文档中心

帮助中心

修改频道装修设置

更新时间:2024-04-22 19:18:32

接口描述

1、修改频道的页面装修设置,建议将 查询频道的页面装修设置 接口的返回值进行修改作为入参调用该接口
2、(channelId, timestamp, appId)参与sign签名,并和sign一起通过url传递,请求体参数不参与签名,通过post请求体传递【请设置请求头contentType:application/json】
3、接口支持https协议

接口URL

http://api.polyv.net/live/v4/channel/decorate/update

在线API调用

请求方式

POST

接口约束

1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看

2、该接口图片资源域名暂时仅支持保利威图片域名,需通过接口上传频道所有装修图片素材进行转换

请求参数描述

参数名 必选 类型 说明
appId true String 账号appId【详见获取密钥
timestamp true Long 当前13位毫秒级时间戳,3分钟内有效
sign true String 签名,为32位大写的MD5值,生成签名的appSecret密钥作为通信数据安全的关键信息,严禁保存在客户端直接使用,所有API都必须通过客户自己服务器中转调用POLYV服务器获取响应数据【详见签名生成规则
channelId true String 频道号

请求体参数描述

参数名 必选 类型 说明
chat false Object 模板-装修里聊天对象【详见TemplateDecorateChat
desc false Object 模板-装修中文直播介绍页对象【详见TemplateDecorateDesc
descEn false Object 模板-装修英文直播介绍页对象【详见TemplateDecorateDescEn
englishSettingEnabled false String 双语直播间开关,Y:开启,N:关闭
lang false String 语言,EN:英文,zh_CN:中文
menus false Array 中文菜单列表对象,此值为null或者长度为0都不更新中文菜单【详见TemplateDecorateMenu】,注意设置chat菜单,否则将不支持聊天
enMenus false Array 英文菜单列表对象,此值为null或者长度为0都不更新英文菜单【详见TemplateDecorateMenu】,注意设置chat菜单,否则将不支持聊天
player false Object 模板-装修播放器对象【详见TemplateDecoratePlayer
skin false String 皮肤,black:时尚黑,red:喜庆红,blue:科技蓝,white:经典白,green:薄荷绿,golden:富贵金
splash false Object 模板-装修引导页对象【详见TemplateDecorateSplash
splashEnabled false String 模板-装修引导页开关,Y:开启,N:关闭

TemplateDecorateChat参数描述

参数名 必选 类型 说明
chatBackgroundImage false String 聊天室背景图url地址,不传则不改变,传空字符串则为清空(为了保证显示效果,请上传 1125 * 1416 px 大小的图片)
chatBackgroundImageOpacity false Integer 聊天室背景图模糊程度,0-50,数字越大越模糊,不传或者传空则不修改
portraitChatBgImg false String 纯视频竖屏聊天室背景图url地址,不传则不改变,传空字符串则为清空(为了保证显示效果,请上传 1125 * 2436 px 大小的图标)
portraitChatBgImgOpacity false Integer 纯视频竖屏聊天室背景图模糊程度,0-50,数字越大越模糊,不传或者传空则不修改
baseLikes false Integer 累计点赞人数 (点赞基数)
chatOnlineNumberEnable false String 在线人数开关,Y:开启,N:关闭
emotionEnabled false String 情绪直播间开关,情绪开关和点赞开关同时只能开启一个
redPackEnabled false String 红包开关,Y:开启,N:关闭
sendFlowersEnabled false String 点赞开关,Y:开启,N:关闭
viewerSendImgEnabled false String 发送图片开关,Y:开启,N:关闭
welcomeEnabled false String 欢迎语开关,Y:开启,N:关闭
withdrawEnabled false String 提现开关,Y:开启,N:关闭

TemplateDecorateDesc参数描述

参数名 必选 类型 说明
iconUrl false String 图标URL
publisher false String 主持人名称,最大长度50
title false String 标题 -> 直播名称,最大长度100

TemplateDecorateDescEn参数描述

参数名 必选 类型 说明
publisher false String 主持人英文名称,最大长度50
title false String 直播英文名称,最大长度100

TemplateDecorateMenu参数描述

参数名 必选 类型 说明
menuId false String 菜单ID
name true String 菜单名称
type true String 菜单类型
desc:直播介绍
chat:互动聊天
quiz:提问
qa:问答
invite:邀请海报
text:图文菜单
iframe:推广外链
tuwen:图文直播
previous:往期
buy:边看边买
members:成员列表
seat:坐席
multiMeeting:多会场
content false String 菜单内容

TemplateDecoratePlayer参数描述

参数名 必选 类型 说明
actualPV false Integer 实际累计观看次数 (真实次数)
backgroundUrl false String PC背景图片
basePV false Integer 基础观看次数
coverJumpUrl false String 封面(暖场)跳转链接
iconLink false String 水印链接
watermarkEnabled false String 水印开关,Y:开启,N:关闭
iconPosition false String 水印位置,tl:左上角,tr:右上角,bl:左下角,br:右下角
iconUrl false String 水印图片URL
logoOpacity false Float 水印不透明度,0:完全透明,1:完全不透明
warmUpEnabled false String 暖场开关
warmUpImageUrl false String 暖场图片地址 (直播封面图)

TemplateDecorateSplash参数描述

参数名 必选 类型 说明
splashImageUrl false String 引导页图片

示例

http://api.polyv.net/live/v4/channel/decorate/update?appId=frlr1zazn3&sign=45DD8012F5392F24018CAAD344DAF090&channelId=2523307&timestamp=1630984838533

请求体json参数:

{
    "player": {
        "backgroundUrl": "http://liveimages.videocc.net/uploadimage/20210312/chat_img_1b448be323_16155164629438.jpeg?x-oss-process=image/resize,mfit,w_1280,h_720,limit_1",
        "basePV": 2000,
        "iconLink": "http://www.polyv.net",
        "iconPosition": "br",
        "warmUpEnabled": "N",
        "iconUrl": "http://liveimages.videocc.net/assets/wimages/pc_images/logo.png",
        "watermarkEnabled": "Y",
        "coverJumpUrl": "",
        "warmUpImageUrl": "",
        "actualPV": 200,
        "logoOpacity": "0.7"
    },
    "englishSettingEnabled": "Y",
    "descEn": {
        "publisher": "Polyv special host",
        "title": "Polyv talk"
    },
    "chat": {
        "emotionEnabled": "N",
        "baseLikes": 800,
        "viewerSendImgEnabled": "N",
        "redPackEnabled": "N",
        "sendFlowersEnabled": "N",
        "welcomeEnabled": "N",
        "chatOnlineNumberEnable": "N",
        "withdrawEnabled": "N"
    },
    "skin": "red",
    "splashEnabled": "Y",
    "menus": [
        {
            "type": "desc"
        },
        {
            "type": "chat"
        }
    ],
    "enMenus": [
        {
            "name": "desc",
            "type": "desc"
        },
        {
            "name": "talk",
            "type": "chat"
        }
    ],
    "lang": "zh_CN",
    "splash": {
        "splashImageUrl": ""
    },
    "desc": {
        "publisher": "polyv专用主持人",
        "iconUrl": "http://liveimages.videocc.net/assets/wimages/pc_images/logo.png",
        "title": "polyv宣讲会"
    }
}

响应参数描述

参数名 类型 说明
code Integer 响应状态码,200为成功返回,非200为失败
status String 响应结果,由业务决定,成功返回success,失败返回error
success Boolean 响应结果,由业务决定,成功返回true,失败返回false
data Object 成功响应时返回频道详细信息
error Object 状态码非200时的错误信息【详见Error字段说明
requestId String 请求ID,每次请求生成的唯一的 UUID,仅可用于排查、调试,不应该和业务挂上钩

Error参数描述

参数名 类型 说明
code Integer 错误代码,用于确定具体的错误原因
desc String 错误描述,与 error.code 对应

Java请求示例

快速接入基础代码请下载相关依赖源码点击下载源代码 ,下载后加入到自己的源码工程中即可。测试用例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下载文件中。

强烈建议您使用直播Java SDK完成API的功能对接,直播Java SDK 对API调用逻辑、异常处理、数据签名、HTTP请求线程池进行了统一封装和优化。

    @Test
    public void updateChannelDecorate() throws IOException, NoSuchAlgorithmException {
        String appId = super.appId;
        String appSecret = super.appSecret;
        String timestamp = String.valueOf(System.currentTimeMillis());
        //业务参数
        String url = "http://api.polyv.net/live/v4/channel/decorate/update";
        
        //http 调用逻辑
        Map<String, String> requestMap = new HashMap<>();
        requestMap.put("appId", appId);
        requestMap.put("timestamp", timestamp);
        requestMap.put("channelId", "2523307");
        
        Map<String, Object> chatMap = new HashMap<>();
        chatMap.put("baseLikes",800);
        chatMap.put("chatOnlineNumberEnable","N");
        chatMap.put("emotionEnabled","N");
        chatMap.put("redPackEnabled","N");
        chatMap.put("sendFlowersEnabled","N");
        chatMap.put("viewerSendImgEnabled","N");
        chatMap.put("welcomeEnabled","N");
        chatMap.put("withdrawEnabled","N");
        
        Map<String, Object> descMap = new HashMap<>();
        //图标URL
        descMap.put("iconUrl","http://liveimages.videocc.net/assets/wimages/pc_images/logo.png");
        descMap.put("publisher","polyv专用主持人");
        descMap.put("title","polyv宣讲会");
        
        Map<String, Object> descEnMap = new HashMap<>();
        descEnMap.put("publisher","Polyv special host");
        descEnMap.put("title","Polyv talk");
        
        Map<String, Object> enMenusMap1 = new HashMap<>();
        enMenusMap1.put("name","desc");
        enMenusMap1.put("type","desc");
        Map<String, Object> enMenusMap2 = new HashMap<>();
        enMenusMap2.put("name","talk");
        enMenusMap2.put("type","chat");
        List<Map<String,Object>> enMenusList = new ArrayList<>();
        enMenusList.add(enMenusMap1);enMenusList.add(enMenusMap2);
        
        Map<String, Object> chMenusMap1 = new HashMap<>();
        chMenusMap1.put("name","直播间描述");
        chMenusMap1.put("type","desc");
        Map<String, Object> chMenusMap2 = new HashMap<>();
        chMenusMap2.put("name","聊天");
        chMenusMap2.put("type","chat");
        List<Map<String,Object>> chMenusList = new ArrayList<>();
        chMenusList.add(chMenusMap1);chMenusList.add(chMenusMap2);
        
        Map<String, Object> playMap = new HashMap<>();
        playMap.put("actualPV",200);
        playMap.put("backgroundUrl","http://liveimages.videocc.net/uploadimage/20210312/chat_img_1b448be323_16155164629438.jpeg?x-oss-process=image/resize,mfit,w_1280,h_720,limit_1");
        playMap.put("basePV",2000);
        playMap.put("coverJumpUrl","");
        playMap.put("watermarkEnabled","Y");
        playMap.put("iconLink","http://www.polyv.net");
        playMap.put("iconPosition","br");
        playMap.put("iconUrl","http://liveimages.videocc.net/assets/wimages/pc_images/logo.png");
        playMap.put("logoOpacity","0.7");//水印不透明度
        playMap.put("warmUpEnabled","N");
        playMap.put("warmUpImageUrl","");
        
        Map<String, Object> splashMap = new HashMap<>();
        splashMap.put("splashImageUrl","");
        
        Map<String, Object> bodyMap = new HashMap<>();
        bodyMap.put("chat", chatMap);
        bodyMap.put("desc", descMap);
        bodyMap.put("descEn", descEnMap);
        bodyMap.put("enMenus", enMenusList);
        bodyMap.put("menus", chMenusList);
        bodyMap.put("englishSettingEnabled", "Y");//双语直播间开关
        bodyMap.put("lang", "zh_CN");
        bodyMap.put("player", playMap);
        bodyMap.put("skin", "red");
        bodyMap.put("splash", splashMap);
        bodyMap.put("splashEnabled", "Y");
        
        requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
        
        String body = JSON.toJSONString(bodyMap);
        url = HttpUtil.appendUrl(url, requestMap);
        String response = HttpUtil.postJsonBody(url,body,null);
        
        log.info("测试修改频道装修设置,返回值:{}", response);
    }

响应示例

成功示例

{
    "code": 200,
    "status": "success",
    "requestId": "dc7ae621ef8e4f4a8e4976833f1dbbd4.69.16309852981551185",
    "data": null,
    "success": true
}

异常示例

{
    "code": 400,
    "status": "error",
    "requestId": "4081dbac03e6441e8bdd301d8feee5a2.117.16360829141876029",
    "error": {
        "code": 30004,
        "desc": "找不到频道"
    },
    "success": false
}
联系客服,在线咨询