修改频道装修设置

接口描述

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
}

Last updated