Channel Operate

1、创建频道

描述

创建一个直播频道,返回直播频道相关的基础信息。
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/create

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testCreateChannelV2() throws Exception, NoSuchAlgorithmException {
        LiveChannelV2Request liveChannelRequest = new LiveChannelV2Request();
        LiveChannelV2Response liveChannelResponse = null;
        try {
            liveChannelRequest.setName("gateway 从入门到精通")
                    .setNewScene(LiveConstant.NewSceneType.SEMINAR.getCode())
                    .setTemplate("seminar")
                    .setCategoryId(391352)
                    .setSeminarAttendeePassword(super.getRandomString(6))
                    .setSeminarHostPassword(super.getRandomString(7))
                    .setEndTime(super.getDate(2034,11,11));
            liveChannelResponse = new LiveChannelOperateServiceImpl().createChannelV2(liveChannelRequest);
            Assert.assertNotNull(liveChannelResponse);
            if (liveChannelResponse != null) {
                //to do something ......
                log.debug("频道创建成功{}", JSON.toJSONString(liveChannelResponse));
                log.debug("网页开播地址:https://live.polyv.net/web-start/login?channelId={}",
                        liveChannelResponse.getChannelId());
                log.debug("网页观看地址:https://live.polyv.cn/watch/{} ", liveChannelResponse.getChannelId());
                //TODO 此处创建完成后删除了频道,正式使用需删除该语句
                super.deleteChannel(liveChannelResponse.getChannelId());
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveChannelV2Response对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

name

true

String

直播名称,最大长度100

newScene

true

String

直播场景 (topclass-大班课 、 double-双师课(该场景需开通) 、 train-企业培训 、 seminar-研讨会 、 alone-活动营销)

template

true

String

直播模板 (ppt-三分屏(横屏) 、 portrait_ppt-三分屏(竖屏) 、 alone-纯视频(横屏) 、portrait_alone-纯视频(竖屏) 、 topclass-纯视频-极速(横屏) 、 portrait_topclass-纯视频-极速(竖屏) 、 seminar-研讨会、guide(导播,该场景需开通)) 直播场景为topclass时,该字段支持ppt、portrait_ppt、alone、portrait_alone、topclass、portrait_topclass 直播场景为train、guide或alone时,该字段支持ppt、portrait_ppt、alone、portrait_alone 直播场景为double时,该字段支持ppt、alone 直播场景为seminar时,该字段支持seminar

channelPasswd

false

String

讲师登录密码,直播场景不是研讨会时有效,长度6-16位,不传则由系统随机生成

seminarHostPassword

false

String

研讨会主持人密码,仅直播场景是研讨会时有效,长度6-16位,不传则由系统随机生成。研讨会主持人密码和参会人密码不能相同。

seminarAttendeePassword

false

String

研讨会参会人密码,仅直播场景是研讨会时有效,长度6-16位,不传则由系统随机生成。研讨会主持人密码和参会人密码不能相同。

pureRtcEnabled

false

String

直播延迟 Y无延时 N普通延迟

type

false

String

转播类型 normal不开启、transmit发起转播、receive接收转播(该功能需要开通)

doubleTeacherType

false

String

线上双师 transmit大房间、receive小房间

cnAndEnLiveEnabled

false

String

中英双语直播开关 Y开、N关

splashImg

false

String

引导页图片地址,非保利威域名下的图片需先调用上传图片资源上传

linkMicLimit

false

Integer

连麦人数限制,最多16人

categoryId

false

Integer

分类ID,可通过“查询直播分类”接口获取

startTime

false

Date

开始时间,格式:yyyy-MM-dd HH:mm:ss【注:仅做直播前倒计时显示,不对讲师开播操作产生影响】

endTime

false

Date

结束时间,格式:yyyy-MM-dd HH:mm:ss【注:仅做未开播时直播状态判断显示,不对讲师开播操作产生影响】

subAccount

false

String

子账号邮箱,填写时频道会创建在该子账号下(子账号不能被删除或者禁用),暂无法通过接口获取

返回对象描述

参数名类型说明

channelId

String

频道ID

userId

String

POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置)

channelPasswd

String

讲师登录密码,直播场景不是研讨会时不为null,长度6-16位

seminarHostPassword

String

研讨会主持人密码,仅直播场景是研讨会时不为null,长度6-16位

seminarAttendeePassword

String

研讨会参会人密码,仅直播场景是研讨会时不为null,长度6-16位


2、批量创建频道

描述

批量创建频道
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/create-batch

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testCreateChannelListV2() throws IOException, NoSuchAlgorithmException {
        LiveCreateChannelListV2Request liveCreateChannelListV2Request = new LiveCreateChannelListV2Request();
        List<LiveCreateChannelListV2Response> liveCreateChannelListV2Response;
        try {
            List<LiveCreateChannelListV2Request.ChannelV2CreateBatch> channelV2CreateBatch = new ArrayList<>();
            channelV2CreateBatch.add(LiveCreateChannelListV2Request.ChannelV2CreateBatch.builder()
                    .name("测试批量创建频道1(可删)")
                    .newScene(LiveConstant.NewSceneType.ALONE.getCode())
                    .template(LiveConstant.Template.ALONE.getCode())
                    .channelPasswd(super.getRandomString(8))
                    .pureRtcEnabled(LiveConstant.Flag.YES.getFlag())
                    .categoryId(391352)
                    .linkMicLimit(2)
                    .startTime(super.getDate(System.currentTimeMillis() + 600 * 1000))
                    .build());
            channelV2CreateBatch.add(LiveCreateChannelListV2Request.ChannelV2CreateBatch.builder()
                    .name("测试批量创建频道2(可删)")
                    .newScene(LiveConstant.NewSceneType.SEMINAR.getCode())
                    .template(LiveConstant.Template.SEMINAR.getCode())
                    .seminarHostPassword(super.getRandomString(8))
                    .seminarAttendeePassword(super.getRandomString(8))
                    .categoryId(391352)
                    .subAccount("test-dev@qq.com")
                    .build());
            liveCreateChannelListV2Request.setChannels(channelV2CreateBatch);
            liveCreateChannelListV2Response = new LiveChannelOperateServiceImpl().createBatchV2(
                    liveCreateChannelListV2Request);
            Assert.assertNotNull(liveCreateChannelListV2Response);
            if (liveCreateChannelListV2Response != null) {
                //to do something ......
                log.debug("测试批量创建频道成功{}", JSON.toJSONString(liveCreateChannelListV2Response));
                //TODO 此处创建完成后删除了频道,正式使用需删除该语句
                liveCreateChannelListV2Response.stream()
                        .forEach(channel -> super.tryDeleteChannel(channel.getChannelId()));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveCreateChannelListV2Response对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channels

true

Array

批量创建频道请求体【详见ChannelV2CreateBatch参数描述

ChannelV2CreateBatch参数描述

参数名必选类型说明

name

true

String

直播名称,最大长度100

newScene

true

String

直播场景 (topclass-大班课 、 double-双师课(该场景需开通) 、 train-企业培训 、 seminar-研讨会 、 alone-活动营销)

template

true

String

直播模板 (ppt-三分屏(横屏) 、 portrait_ppt-三分屏(竖屏) 、 alone-纯视频(横屏) 、portrait_alone-纯视频(竖屏) 、 topclass-纯视频-极速(横屏) 、 portrait_topclass-纯视频-极速(竖屏) 、 seminar-研讨会) 直播场景为topclass时,该字段支持ppt、portrait_ppt、alone、portrait_alone、topclass、portrait_topclass 直播场景为train或alone时,该字段支持ppt、portrait_ppt、alone、portrait_alone 直播场景为double时,该字段支持ppt、alone 直播场景为seminar时,该字段支持seminar

channelPasswd

false

String

讲师登录密码,直播场景不是研讨会时有效,长度6-16位,不传则由系统随机生成

seminarHostPassword

false

String

研讨会主持人密码,仅直播场景是研讨会时有效,长度6-16位,不传则由系统随机生成。研讨会主持人密码和参会人密码不能相同。

seminarAttendeePassword

false

String

研讨会参会人密码,仅直播场景是研讨会时有效,长度6-16位,不传则由系统随机生成。研讨会主持人密码和参会人密码不能相同。

pureRtcEnabled

false

String

直播延迟 Y无延时 N普通延迟

type

false

String

转播类型 normal不开启、transmit发起转播、receive接收转播(该功能需要开通),部分直播场景不支持转播设置,具体请阅读接口约束

doubleTeacherType

false

String

线上双师 transmit大房间、receive小房间

cnAndEnLiveEnabled

false

String

中英双语直播开关 Y开、N关

splashImg

false

String

引导页图片地址,非保利威域名下的图片需先调用上传图片资源上传

linkMicLimit

false

Integer

连麦人数限制,最多16人

categoryId

false

Integer

分类ID,可通过“查询直播分类”接口获取

startTime

false

Date

开始时间

subAccount

false

String

子账号邮箱,填写时频道会创建在该子账号下(子账号不能被删除或者禁用),暂无法通过接口获取

返回对象描述

返回对象是List<LiveCreateChannelListV2Response>,LiveCreateChannelListV2Response具体元素内容如下:

参数名类型说明

channelId

String

频道ID

userId

String

校验信息

scene

String

直播场景

channelPasswd

String

讲师登录密码,非研讨会场景使用,长度6-16位

seminarHostPassword

String

研讨会主持人密码,仅直播场景是研讨会时返回,长度6-16位

seminarAttendeePassword

String

研讨会参会人密码,仅直播场景是研讨会时返回,长度6-16位


3、创建并初始化频道

描述

根据请求参数与默认模板创建频道
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/create-init

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testCreateChannelInitV2() throws IOException, NoSuchAlgorithmException {
        LiveChannelInitV2Request liveChannelInitV2Request = new LiveChannelInitV2Request();
        LiveChannelInitV2Response liveChannelInitV2Response;
        try {
            //基础信息
            LiveChannelInitV2Request.BasicSetting basicSetting = new LiveChannelInitV2Request.BasicSetting().setName(
                            "创建并初始化新版后台频道-验证码观看")
                    .setChannelPasswd(getRandomString(6))
                    .setNewScene(LiveConstant.NewSceneType.TOPCLASS.getCode())
                    .setTemplate(LiveConstant.Template.PPT.getCode())
                    .setCategoryId(391352)
                    .setDescription("这是一个描述")
                    .setLinkMicLimit(1)
                    .setSubAccount("test-dev@qq.com");
            liveChannelInitV2Request.setBasicSetting(basicSetting);
            //主要观看条件 验证码观看
            LiveChannelInitV2Request.MasterAuthSetting masterAuthSetting =
                    new LiveChannelInitV2Request.MasterAuthSetting().setAuthType(
                            LiveConstant.AuthType.CODE.getDesc())
                    .setEnabled("Y")
                    .setAuthCode("123456")
                    .setQCodeTips("提示文案")
                    .setQCodeImg("https://live.polyv.net/static/images/live-header-logo.png");
            liveChannelInitV2Request.setMasterAuthSetting(masterAuthSetting);
            //设置角色
            LiveChannelInitV2Request.Roles assistantRole = new LiveChannelInitV2Request.Roles();
            assistantRole.setNickName("孙助教").setActor("助教").setPasswd(getRandomString(6)).setRole("Assistant");
            LiveChannelInitV2Request.Roles guestRole = new LiveChannelInitV2Request.Roles();
            guestRole.setNickName("赵嘉宾").setActor("嘉宾").setPasswd(getRandomString(6)).setRole("Guest");
            List<LiveChannelInitV2Request.Roles> roles = new ArrayList<>();
            roles.add(assistantRole);
            roles.add(guestRole);
            liveChannelInitV2Request.setRoles(roles);
            liveChannelInitV2Response = new LiveChannelOperateServiceImpl().createChannelInitV2(
                    liveChannelInitV2Request);
            Assert.assertNotNull(liveChannelInitV2Response);
            if (liveChannelInitV2Response != null) {
                //to do something ......
                log.debug("测试创建并初始化频道(新版后台)成功 {}", JSON.toJSONString(liveChannelInitV2Response));
                //TODO 此处创建完成后删除了频道,正式使用需删除该语句
                super.tryDeleteChannel(liveChannelInitV2Response.getChannelId());
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveChannelInitV2Response对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

basicSetting

true

BasicSetting

基础设置【详见BasicSetting参数描述

masterAuthSetting

false

MasterAuthSetting

主要观看条件【详见MasterAuthSetting参数描述

roles

false

Array

角色设置,包括讲师、助教、嘉宾。 不传该字段,将按照默认模板设置角色信息。 传入该字段,不设置讲师,将按照默认模板设置讲师信息。 传入该字段,不设置助教、嘉宾将不创建。最多设置10个角色【详见Roles参数描述

BasicSetting参数描述

参数名必选类型说明

name

true

String

直播名称,最大长度50

newScene

true

String

直播场景 (topclass-大班课 、 double-双师课(该场景需开通) 、 train-企业培训 、 seminar-研讨会 、 alone-活动营销)

template

false

String

直播模板 (ppt-三分屏(横屏) 、 portrait_ppt-三分屏(竖屏) 、 alone-纯视频(横屏) 、portrait_alone-纯视频(竖屏) 、 topclass-纯视频-极速(横屏) 、 portrait_topclass-纯视频-极速(竖屏) 、 seminar-研讨会) 直播场景为topclass时,该字段支持ppt、portrait_ppt、alone、portrait_alone、topclass、portrait_topclass 直播场景为train或alone时,该字段支持ppt、portrait_ppt、alone、portrait_alone 直播场景为double时,该字段支持ppt、alone 直播场景为seminar时,该字段支持seminar

channelPasswd

false

String

讲师登录密码,直播场景不是研讨会时有效,长度6-16位,不传则由系统随机生成

seminarHostPassword

false

String

研讨会主持人密码,仅直播场景是研讨会时有效,长度6-16位,不传则由系统随机生成

seminarAttendeePassword

false

String

研讨会参会人密码,仅直播场景是研讨会时有效,长度6-16位,不传则由系统随机生成

categoryId

false

Integer

分类ID

startTime

false

Date

直播开始时间

pureRtcEnabled

false

String

无延迟直播开关,Y:开启,N:关闭

type

false

String

频道类型 发起转播:transmit 接收转播:receive 普通频道:normal

doubleTeacherType

false

String

线上双师房间类型 transmit大房间、receive小房间

cnAndEnLiveEnabled

false

String

中英双语直播开关Y开、N关

linkMicLimit

false

Integer

连麦人数限制,最多16人

description

false

String

直播介绍,最多1024字符长度

logoImg

false

String

直播logo图片

splashImg

false

String

引导页图片地址,非保利威域名下的图片需先调用上传图片资源上传

coverImg

false

String

播放器封面图片,没有直播和回放的时候显示

subAccount

false

String

子账号邮箱,填写时频道会创建在该子账号下(子账号不能被删除或者禁用),暂无法通过接口获取

MasterAuthSetting参数描述

参数名必选类型说明

enabled

true

String

是否开启观看条件 Y:开启 N:关闭

authType

false

String

观看条件类型 code:验证码观看 pay:付费观看 custom:自定义授权观看 external:外部授权观看 direct:独立授权观看

authCode

false

String

authType为code时,设置参数,必填。观看验证码,长度不超过8位

codeAuthTips

false

String

authType为code时,设置参数,非必填。欢迎标题,长度不超过20位,默认:欢迎观看本次直播

qCodeTips

false

String

authType为code时,设置参数,非必填。验证码提示文案,长度不超过30位,默认:扫描二维码获得验证码

qCodeImg

false

String

authType为code时,设置参数,非必填。二维码图片地址

payAuthTips

true

String

当authType为pay时,设置参数,必填。欢迎语标题,长度不超过20位

price

true

Float

当authType为pay时,设置参数,必填。价格,单位为元

watchEndTime

false

Date

当authType为pay时,设置参数,非必填。付费有效截止日期

validTimePeriod

false

Integer

当authType为pay时,设置参数,非必填。付费有效时长,单位天。当watchEndTime和validTimePeriod都为空时,表示付费永久有效

customKey

true

String

当authType为custom时,设置参数,必填。SecretKey,长度不超过10位

customUri

true

String

当authType为custom时,设置参数,必填。自定义url

externalKey

true

String

当authType为external时,设置参数,必填。SecretKey,长度不超过10位

externalUri

true

String

当authType为external时,设置参数,必填。自定义url

externalRedirectUri

false

String

当authType为external时,设置参数,非必填。失败跳转地址

externalEntryText

false

String

当authType为external时,设置参数,非必填。入口文本,默认为:登录观看

directKey

true

String

当authType为direct时,设置参数,必填。独立授权SecretKey,长度不超过10位

Roles参数描述

参数名必选类型说明

role

true

String

角色类型 Teacher:讲师 Assistant:助教 Guest:嘉宾

nickName

false

String

角色昵称

actor

false

String

角色头衔

passwd

false

String

角色密码,密码长度6-16位,必须包含数字和英文

avatar

false

String

角色头像图片地址,需包含协议

返回对象描述

参数名类型说明

channelId

String

频道ID

name

String

频道名称

userId

String

POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置)

channelPasswd

String

讲师登录密码,非研讨会场景使用,长度6-16位

seminarHostPassword

String

研讨会主持人密码,仅直播场景是研讨会时返回,长度6-16位

seminarAttendeePassword

String

研讨会参会人密码,仅直播场景是研讨会时返回,长度6-16位

publisher

String

主持人名称

description

String

直播介绍

newScene

String

直播场景 (topclass-大班课 、 double-双师课(该场景需开通) 、 train-企业培训 、 seminar-研讨会 、 alone-活动营销)

template

String

直播模板 (ppt-三分屏(横屏) 、 portrait_ppt-三分屏(竖屏) 、 alone-纯视频(横屏) 、portrait_alone-纯视频(竖屏) 、 topclass-纯视频-极速(横屏) 、 portrait_topclass-纯视频-极速(竖屏) 、 seminar-研讨会) 直播场景为topclass时,该字段支持ppt、portrait_ppt、alone、portrait_alone、topclass、portrait_topclass 直播场景为train或alone时,该字段支持ppt、portrait_ppt、alone、portrait_alone 直播场景为double时,该字段支持ppt、alone 直播场景为seminar时,该字段支持seminar

linkMicLimit

Integer

连麦人数

pureRtcEnabled

String

直播延迟 Y:无延时迟 N:普通延迟

type

String

频道类型 发起转播:transmit 接收转播:receive 普通频道:normal

currentTimeMillis

Date

当前13位毫秒级时间戳


4、创建MR频道

描述

创建MR频道
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/mr/create

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testCreateMrChannel() throws IOException, NoSuchAlgorithmException {
        LiveCreateMrChannelRequest liveCreateMrChannelRequest = new LiveCreateMrChannelRequest();
        LiveCreateMrChannelResponse liveCreateMrChannelResponse;
        try {
            liveCreateMrChannelRequest.setName("SDK测试创建MR频道")
                    .setStartTime(getXDay(new Date(), 10))
                    .setChannelPasswd(getRandomString(16));
            liveCreateMrChannelResponse = new LiveChannelOperateServiceImpl().createMrChannel(
                    liveCreateMrChannelRequest);
            Assert.assertNotNull(liveCreateMrChannelResponse);
            if (liveCreateMrChannelResponse != null) {
                //to do something ......
                log.debug("测试创建MR频道成功 {}", JSON.toJSONString(liveCreateMrChannelResponse));
                //TODO 此处创建完成后删除了频道,正式使用需删除该语句
                super.tryDeleteChannel(liveCreateMrChannelResponse.getChannelId());
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveCreateMrChannelResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

name

true

String

直播名称,最大长度100

categoryId

false

Integer

分类ID

startTime

false

Date

开始时间,13位毫秒级时间戳

channelPasswd

false

String

MR控制台密码,长度6-16位,不传则由系统随机生成

assistantPasswd

false

String

MR直播助理角色密码,长度6-16位,不传则由系统随机生成

splashImg

false

String

引导页图片地址,非保利威域名下的图片需先调用上传图片资源上传

subAccount

false

String

子帐号邮箱,提交后,该频道帐号在后台拥有的权限会跟随该子帐号的频道权限

返回对象描述

参数名类型说明

channelId

String

频道ID

name

String

频道名称

userId

String

直播账号userId

channelPasswd

String

MR直播-控制台登录密码

assistantAccount

String

MR直播-直播助理账号

assistantPasswd

String

MR直播-直播助理登录密码


5、查询频道信息

描述

查询频道信息
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/%s/get

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testGetChannelInfo() throws Exception, NoSuchAlgorithmException {
        LiveChannelInfoRequest liveChannelInfoRequest = new LiveChannelInfoRequest();
        LiveChannelInfoResponse liveChannelInfoResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveChannelInfoRequest.setChannelId(channelId);
            liveChannelInfoResponse = new LiveChannelOperateServiceImpl().getChannelInfo(liveChannelInfoRequest);
            Assert.assertNotNull(liveChannelInfoResponse);
            if (liveChannelInfoResponse != null) {
                //to do something ......
                log.debug("查询频道信息成功{}", JSON.toJSONString(liveChannelInfoResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveChannelInfoResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

返回对象描述

参数名类型说明

channelId

String

频道号

userId

String

POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置)

name

String

直播频道名称

description

String

直播频道描述

url

String

直播推流地址

stream

String

直播流名称

logoImage

String

播放器logo

logoOpacity

Float

Logo不透明度, 取值【0-1】, 1表示完全不透明

logoPosition

String

Logo位置

logoHref

String

Logo的跳转链接

coverImage

String

播放前显示的封面图

coverHref

String

封面图的跳转链接

waitImage

String

等待推流时的显示图片

waitHref

String

等待推流时显示图片的跳转链接

cutoffImage

String

切断流时的显示图片

cutoffHref

String

切断流时显示图片的跳转链接

advertType

String

广告类型

advertDuration

String

广告时长,单位:秒

advertWidth

String

广告区域宽度

advertHeight

String

广告区域高度

advertImage

String

图片广告

advertHref

String

广告的跳转链接

advertFlvVid

String

视频广告ID

advertFlvUrl

String

视频广告链接

playerColor

String

播放器控制栏颜色

autoPlay

Boolean

自动播放

warmUpFlv

String

一开始的暖场视频

passwdRestrict

Boolean

观看密码限制,需要输入观看密码才能播放流

passwdEncrypted

String

观看密码加密后的密文

isOnlyAudio

String

仅推音频流

isLowLatency

String

低延迟

m3u8Url

String

直播拉流(播放)m3u8地址

m3u8Url1

String

直播拉流(播放)m3u8地址1

m3u8Url2

String

直播拉流(播放)m3u8地址2

m3u8Url3

String

直播拉流(播放)m3u8地址3

currentTimeMillis

Long

服务器返回的时间戳(毫秒)

channelLogoImage

String

频道的图标

publisher

String

主持人姓名

scene

String

直播场景:alone 活动直播, topclass 大班课, ppt 三分屏, seminar:研讨会

categoryId

String

所属分类Id

categoryName

String

所属分类名称

channelPasswd

String

频道密码

channelViewerPasswd

String

参与者密码

streamType

String

client:客户端推流,pull:拉流,thirdpull:第三方拉流,disk:硬盘推流,audio:音频直播

pureRtcEnabled

String

无延迟直播开关,Y:开启,N:关闭

type

String

transmit:发起转播,normal:普通的频道,receive:接收转播

cnAndEnLiveEnabled

String

中英文直播间开关,Y:开启,N:关闭

pushEnUrl

String

英文推流地址

closeDanmu

String

N:没有关闭弹幕,Y:关闭弹幕

linkMicLimit

Integer

-1:使用账号连麦人数,0-16:代表连麦人数


6、查询频道基本信息

描述

查询频道基本信息,观看页状态与新版后台一致
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/basic/get

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testGetChannelDetail() throws IOException, NoSuchAlgorithmException {
        LiveChannelBasicInfoV2Request liveChannelBasicInfoV2Request = new LiveChannelBasicInfoV2Request();
        LiveChannelBasicInfoV2Response liveChannelBasicInfoV2Response;
        try {
            String channelId = super.createChannel();
            liveChannelBasicInfoV2Request.setChannelId(channelId);
            liveChannelBasicInfoV2Response = new LiveChannelOperateServiceImpl().getChannelDetail(
                    liveChannelBasicInfoV2Request);
            Assert.assertNotNull(liveChannelBasicInfoV2Response);
            if (liveChannelBasicInfoV2Response != null) {
                //to do something ......
                log.debug("测试查询频道信息成功 {}", JSON.toJSONString(liveChannelBasicInfoV2Response));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveChannelBasicInfoV2Response对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

返回对象描述

参数名类型说明

channelId

String

频道号

name

String

频道名称

scene

String

直播场景:alone 活动拍摄;ppt 三分屏;topclass 大班课;seminar:研讨会

newScene

String

新版后台直播场景,若未定义则取scene undefined:未定义 topclass:大班课 double:双师课(需开通权限) train:企业培训 seminar:研讨会 alone:活动营销

template

String

新版后台直播模板,若老版频道,该字段为未定义 undefined:未定义 ppt:文档+视频 alone:纯视频(专业) topclass:纯视频(极速) seminar:研讨会 portrait_ppt:文档+视频(竖屏) portrait_alone:视频(竖屏)

channelPasswd

String

频道密码

publisher

String

主持人名称

startTime

Date

直播开始时间,关闭时为null

endTime

Date

直播结束时间

pageView

Integer

页面累计观看数

likes

Integer

观看页点赞数

coverImg

String

频道图标url

splashImg

String

引导页图片地址

splashEnabled

String

引导页开关(取值为Y/N)

desc

String

直播介绍

consultingMenuEnabled

String

咨询提问开关(取值为Y/N)

maxViewerRestrict

String

限制最大在线观看人数开关(取值为Y/N)

maxViewer

Integer

最大在线观看人数

watchStatus

String

观看页状态 live:直播中 playback:回放中 end:已结束 waiting:等待中 unStart:未开始

watchStatusText

String

观看页状态描述

userCategory

UserCategory

频道所属分类的信息【详见UserCategory参数描述

authSettings

Array

直播观看条件列表【详见AuthSetting参数描述

linkMicLimit

Integer

频道连麦人数限制

createdAccountId

String

创建者账号id,为主账号创建时,返回主账号userId

createdAccountEmail

String

创建者账号邮箱

createdTime

Date

创建时间

clientAloneTemplateBackgroundUrl

String

客户端模版背景图URL

liveCdnBackgroundUrl

String

视频混流背景图URL

labelData

Array

标签id数组

UserCategory参数描述

参数名类型说明

categoryId

Integer

分类ID

categoryName

String

分类名称

userId

String

POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置)

rank

Integer

分类的排序值

AuthSetting参数描述

参数名类型说明

channelId

String

频道号

userId

String

POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置)

rank

Integer

用于实现一个频道设置两个观看条件,为1或2(1为主要条件,2为次要条件)

globalSettingEnabled

String

是否开启全局设置(Y/N)

enabled

String

是否开启观看条件(Y/N)

authType

String

观看条件类型(1. 无限制 none 2. 验证码观看 code 3. 付费观看 pay 4. 白名单观看 phone 5. 登记观看 info 6. 分享观看 wxshare 7. 自定义授权观看 custom 8. 外部授权观看 external)

authTips

String

白名单观看提示信息

payAuthTips

String

付费观看提示信息

authCode

String

验证码观看方式的验证码

qCodeTips

String

验证码观看方式的二维码提示【对应api文档的qcodeTips字段】

qCodeImg

String

验证码观看方式的二维码图片【对应api文档的qcodeImg字段】

price

Float

付费观看的价格

watchEndTime

Date

付费观看,截止时间,为null表示:一次付费,永久有效

validTimePeriod

Integer

付费观看的截止时长(天)

customKey

String

自定义授权观看的key

customUri

String

自定义授权观看的接口地址

externalKey

String

外部授权观看的key

externalUri

String

外部授权观看的接口地址

externalRedirectUri

String

外部授权观看,用户直接访问观看页时的跳转地址

directKey

String

独立授权key

trialWatchEnabled

String

试看开关,Y:开启试看,N:关闭试看

trialWatchTime

Integer

试看时间,单位为分钟

trialWatchEndTime

Date

试看截止日期,为null 表示对该频道永久有效

whiteListInputTips

String

白名单输入提示

whiteListEntryText

String

白名单入口文案

infoDesc

String

登记观看描述字段

customTeacherId

String

自定义讲师ID


7、查询授权和连麦的token

描述

查询授权和连麦的token
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/common/get-chat-token

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testGetChannelAuthToken() throws Exception, NoSuchAlgorithmException {
        LiveChannelAuthTokenRequest liveChannelAuthTokenRequest = new LiveChannelAuthTokenRequest();
        LiveChannelAuthTokenResponse liveChannelAuthTokenResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveChannelAuthTokenRequest.setUserId(getRandomString(32))
                    .setChannelId(channelId)
                    .setRole(LiveConstant.Role.ADMIN.getDesc())
                    .setOrigin(null);
            liveChannelAuthTokenResponse = new LiveChannelOperateServiceImpl().getChannelAuthToken(
                    liveChannelAuthTokenRequest);
            Assert.assertNotNull(liveChannelAuthTokenResponse);
            if (liveChannelAuthTokenResponse != null) {
                //to do something ......
                log.debug("查询授权和连麦的token成功{}", JSON.toJSONString(liveChannelAuthTokenResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveChannelAuthTokenResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

userId

true

String

C端观众ID

channelId

true

String

频道号

role

true

String

角色,值有:teacher admin guest assistant viewer等

origin

false

String

观看来源,可以有web,client,app等

返回对象描述

参数名类型说明

token

String

链接接口需要的token值,有效期6小时

mediaChannelKey

String

连麦需要的key


8、修改频道的相关设置

描述

修改频道的相关设置
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/update

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testUpdateChannelSetting() throws Exception, NoSuchAlgorithmException {
        LiveChannelSettingRequest liveChannelSettingRequest = new LiveChannelSettingRequest();
        Boolean liveChannelSettingResponse;
        try {
            //准备测试数据
            String channelId = getAloneChannelId();
            LiveChannelSettingRequest.BasicSetting basicSetting = new LiveChannelSettingRequest.BasicSetting().setName(
                    "Junit测试(勿删)888")
                    .setChannelPasswd(getRandomString(7))
                    .setCategoryId(340019)
                    .setMaxViewer(0)
                    .setPageView(1000)
                    .setLikes(2000)
                    .setCoverImg("https://www.polyv.net/")
                    .setStartTime(0l)
                    .setDesc("这是一个描述")
                    .setPublisher("sadboy主讲")
                    .setLinkMicLimit(-1)
                    .setReceiveChannelIds(null);
            LiveChannelSettingRequest.AuthSetting authSetting = new LiveChannelSettingRequest.AuthSetting().setAuthType(
                    LiveConstant.AuthType.CODE.getDesc())
                    .setRank(1)
                    .setEnabled("Y")
                    .setAuthCode("123456")
                    .setQcodeTips("提示文案")
                    .setQcodeImg("https://live.polyv.net/static/images/live-header-logo.png");
            List<LiveChannelSettingRequest.AuthSetting> authSettings =
                    new ArrayList<LiveChannelSettingRequest.AuthSetting>();
            authSettings.add(authSetting);
            liveChannelSettingRequest.setChannelId(channelId)
                    .setBasicSetting(basicSetting)
                    .setAuthSettings(authSettings);
            liveChannelSettingResponse = new LiveChannelOperateServiceImpl().updateChannelSetting(
                    liveChannelSettingRequest);
            Assert.assertTrue(liveChannelSettingResponse);
            if (liveChannelSettingResponse) {
                //to do something ......
                log.debug("测试修改频道的相关设置成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

需要设置频道详情的频道号,例如:1938028

basicSetting

false

BasicSetting

基础设置【详见BasicSetting参数描述

authSettings

false

Array

观看条件设置【详见AuthSetting参数描述

BasicSetting参数描述

参数名必选类型说明

name

false

String

频道名称

channelPasswd

false

String

频道密码,长度不能超过16位,必须同时包含字母和数字

publisher

false

String

主持人名称

startTime

false

Long

直播开始时间,13位时间戳,设置为0 表示关闭直播开始时间显示

pageView

false

Integer

累积观看数

likes

false

Integer

点赞数

coverImg

false

String

封面图片地址

splashImg

false

String

引导页图片地址,非保利威域名下的图片需先调用上传图片资源上传

splashEnabled

false

String

引导页开关(Y、N)

desc

false

String

直播介绍

consultingMenuEnabled

false

String

咨询提问开关(Y、N)

maxViewerRestrict

false

String

是否限制最大观看人数(Y、N)

maxViewer

false

Integer

最大在线人数

categoryId

false

Integer

频道的所属分类(分类ID可通过“获取直播分类”接口得到)

linkMicLimit

false

Integer

-1<=连麦人数<=账号的连麦人数,-1:使用账号的连麦人数,最大16人

operation

false

String

是否增加转播关联,Y:表示增加关联,N:表示取消关联 (注:需要开启频道转播功能该参数才生效)(Y、N)

receiveChannelIds

false

String

接收转播频道号,多个频道号用半角逗号,隔开(注:需要开启频道转播功能该参数才生效)

closeBarrage

false

String

是否关闭弹幕功能的开关,N:表示不关闭,Y:表示关闭;【对应api文档的closeDanmu字段】

showBarrageInfoEnabled

false

String

默认是否显示弹幕信息开关,Y:表示显示,N:表示不显示;【对应api文档的showDanmuInfoEnabled字段】

pureRtcEnabled

false

String

是否开启无延时直播开关,为空时不对字段进行修改,直播中不能对该字段进行修改,Y:表示是,N:表示否;

customTeacherId

false

String

自定义讲师ID,32个以内ASCII码可见字符

labelData

false

Array

标签id数组,传null不修改

AuthSetting参数描述

参数名必选类型说明

rank

true

Integer

通用参数:主要观看条件为1,次要观看条件为2

enabled

true

String

通用参数:是否开启,Y为开启,N为关闭

authType

false

String

通用参数:付费观看-pay,验证码观看-code,白名单观看-phone,登记观看-info,自定义授权观看-custom,外部授权-external,直接授权-direct

payAuthTips

false

String

付费观看参数:欢迎语标题

price

false

Float

付费观看参数:价格,单位为元

watchEndTime

false

Date

付费观看参数:付费有效截止日期。当watchEndTime和validTimePeriod都为空时,表示付费永久有效

validTimePeriod

false

Integer

付费观看参数:付费有效时长,单位天。当watchEndTime和validTimePeriod都为空时,表示付费永久有效

authCode

false

String

验证码观看参数:验证码

qcodeTips

false

String

验证码观看参数:提示文案

qcodeImg

false

String

验证码观看参数:公众号二维码地址

authTips

false

String

当authType为phone时,设置参数,非必填。提示文案

whiteListEntryText

false

String

当authType为phone时,设置参数,非必填。白名单入口文案

whiteListInputTips

false

String

当authType为phone时,设置参数,非必填。白名单输入提示

infoFields

false

Array

登记观看参数,上限为5个【详见InfoField参数描述

infoAuthTips

false

String

当authType为info时,设置参数,非必填。欢迎标题

infoDesc

false

String

当authType为info时,设置参数,非必填。提示信息

infoEntryText

false

String

当authType为info时,设置参数,非必填。入口文本

externalKey

false

String

外部授权参数:SecretKey

externalUri

false

String

外部授权参数:自定义url

externalRedirectUri

false

String

外部授权参数:跳转地址

customKey

false

String

自定义授权参数:SecretKey

customUri

false

String

自定义授权参数:自定义url

directKey

false

String

直接授权参数:直接授权SecretKey

InfoField参数描述

参数名必选类型说明

name

false

String

登记信息名,最多为8字符

type

true

String

登记类型,姓名-name,文本-text,手机号码-mobile,数字-number,下拉选项-option,登记观看时该字段必填

options

false

String

下拉选项时,下拉的选项值,以英文逗号分割。选项个数上限为8个;选项内容最多为8字符

placeholder

false

String

文本框输入提示,最多为8字符

sms

false

String

短信验证开关,Y 开启,N 关闭

返回对象描述

true为设置成功,false为设置失败


9、修改频道设置

描述

修改频道设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/update

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testUpdateChannel() throws IOException, NoSuchAlgorithmException {
        LiveUpdateChannelRequest liveUpdateChannelRequest = new LiveUpdateChannelRequest();
        Boolean liveUpdateChannelResponse;
        try {
            String channelId = super.createChannel();
            liveUpdateChannelRequest.setChannelId(channelId)
                    .setPassword(getRandomString(8))
                    .setPublisher("主持人sadboy");
            liveUpdateChannelResponse = new LiveChannelOperateServiceImpl().updateChannel(liveUpdateChannelRequest);
            Assert.assertTrue(liveUpdateChannelResponse);
            if (liveUpdateChannelResponse) {
                //to do something ......
                log.debug("测试修改频道设置成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

name

false

String

直播名称,最大长度100

password

false

String

密码,长度6-16位,需同时包含数字与字母

seminarHostPassword

false

String

主持人密码,频道场景为研讨会有效,长度6-16位,需同时包含数字与字母

seminarAttendeePassword

false

String

参会人密码,频道场景为研讨会有效,长度6-16位,需同时包含数字与字母

publisher

false

String

主持人,最大长度100

template

false

String

直播观看模板 三分屏-横屏:ppt 三分屏-竖屏:portrait_ppt 纯视频-横屏:alone 纯视频-竖屏:portrait_alone 纯视频-极速-横屏:topclass 纯视频-极速-竖屏:portrait_topclass 旧版后台频道(场景为未定义 newScene:undefined)不支持修改 研讨会(seminar)场景不支持修改 场景为三分屏(scene:ppt)可修改值:ppt、portrait_ppt 场景为纯视频(scene:alone)可修改值:alone、portrait_alone 场景为大班课(scene:topclass)可修改值:topclass、portrait_topclass

pureRtcEnabled

false

String

无延时直播开关 Y:开启 N:关闭

linkMicLimit

false

Integer

连麦人数,范围:0-16

maxViewer

false

Integer

最大同时在线人数

startTime

false

Date

直播开始时间,需大于当前时间

endTime

false

Date

直播结束时间,需大于直播开始时间

splashImg

false

String

引导页图片地址,非保利威域名下的图片需先调用上传图片资源上传

返回对象描述

修改频道设置返回实体


10、设置频道详情

描述

设置频道详情
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/detail/update

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testUpdateChannelDetail() throws Exception, NoSuchAlgorithmException {
        LiveChannelDetailRequest liveChannelDetailRequest = new LiveChannelDetailRequest();
        Boolean liveChannelDetailResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            String newPassword = getRandomString(16);
            liveChannelDetailRequest.setChannelId(channelId).setField("channelPasswd").setValue(newPassword);
            liveChannelDetailResponse = new LiveChannelOperateServiceImpl().updateChannelDetail(
                    liveChannelDetailRequest);
            Assert.assertNotNull(liveChannelDetailResponse);
            if (liveChannelDetailResponse) {
                //to do something ......
                log.debug("频道{}修改密码为{}成功", channelId, newPassword);
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

需要设置频道详情的频道号,例如:1938028

field

true

String

要更新的字段名称:channelPasswd-频道密码;maxViewer-最大同时观看人数;

value

false

String

要更新的字段值,除设置无限制最大观看人数时可不提交,其他情况都为必填;field字段为channelPasswd时,value长度为1-16位,必填,必须同时带英文和数字;field字段为maxViewer时,value取值为(0-2147483647),其中0和不传为不限制同时观看人数,非必填

返回对象描述

true为修改成功,false为修改失败


11、设置频道密码

描述

设置频道密码
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/%s/passwdSetting

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testUpdateChannelPassword() throws Exception, NoSuchAlgorithmException {
        LiveChannelPasswordSettingRequest liveChannelPasswordSettingRequest = new LiveChannelPasswordSettingRequest();
        Boolean liveChannelPasswordSettingResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveChannelPasswordSettingRequest.setChannelId(channelId).setPasswd(getRandomString(6));
            liveChannelPasswordSettingResponse = new LiveChannelOperateServiceImpl().updateChannelPassword(
                    liveChannelPasswordSettingRequest);
            Assert.assertNotNull(liveChannelPasswordSettingResponse);
            if (liveChannelPasswordSettingResponse) {
                //to do something ......
                log.debug("设置频道密码成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

false

String

频道号,请留意,如果该参数为空,会对该用户所有的频道进行修改

passwd

true

String

修改的密码,必须同时包含字母和数字

返回对象描述

true为设置密码成功,false为设置失败


12、设置频道单点登录token

描述

设置频道单点登录token
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/%s/set-token

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testCreateChannelToken() throws Exception, NoSuchAlgorithmException {
        LiveCreateChannelTokenRequest liveCreateChannelTokenRequest = new LiveCreateChannelTokenRequest();
        Boolean liveCreateChannelTokenResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveCreateChannelTokenRequest.setChannelId(channelId).setToken(LiveSignUtil.generateUUID());
            liveCreateChannelTokenResponse = new LiveChannelOperateServiceImpl().createChannelToken(
                    liveCreateChannelTokenRequest);
            Assert.assertNotNull(liveCreateChannelTokenResponse);
            if (liveCreateChannelTokenResponse) {
                //to do something ......
                log.debug("设置频道单点登录token成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

token

true

String

唯一的字符串

返回对象描述

true为设置token成功,false为设置失败


13、删除直播频道

描述

删除直播频道
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/%s/delete

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testDeleteChannel() throws Exception, NoSuchAlgorithmException {
        LiveDeleteChannelRequest liveDeleteChannelRequest = new LiveDeleteChannelRequest();
        Boolean liveDeleteChannelResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveDeleteChannelRequest.setChannelId(channelId);
            liveDeleteChannelResponse = new LiveChannelOperateServiceImpl().deleteChannel(liveDeleteChannelRequest);
            Assert.assertNotNull(liveDeleteChannelResponse);
            if (liveDeleteChannelResponse) {
                //to do something ......
                log.debug("删除直播频道成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

返回对象描述

true为删除成功,false为删除失败


14、批量删除频道

描述

批量删除频道
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/batch-delete

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testDeleteChannelList() throws Exception, NoSuchAlgorithmException {
        LiveDeleteChannelListRequest liveDeleteChannelListRequest = new LiveDeleteChannelListRequest();
        Boolean liveDeleteChannelListResponse;
        try {
            //准备测试数据
            String[] channelIds = new String[]{super.createChannel(), super.createChannel(), super.createChannel()};
            liveDeleteChannelListRequest.setChannelIds(channelIds);
            liveDeleteChannelListResponse = new LiveChannelOperateServiceImpl().deleteChannelList(
                    liveDeleteChannelListRequest);
            Assert.assertNotNull(liveDeleteChannelListResponse);
            if (liveDeleteChannelListResponse) {
                //to do something ......
                log.debug("批量删除频道成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelIds

true

String[]

频道号列表,每次最多删除100个频道,必须放在请求体中

返回对象描述

true为批量删除成功,false为批量删除失败,不存在部分成功


15、创建角色

描述

创建频道的助教或嘉宾角色
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/account/create

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testCreateAccount() throws Exception {
        LiveCreateAccountRequest liveCreateAccountRequest = new LiveCreateAccountRequest();
        LiveCreateAccountResponse liveCreateAccountResponse;
        try {
            String channelId = super.createChannel();
            liveCreateAccountRequest.setChannelId(channelId)
                    .setRole("Assistant")
                    .setActor("助教boy")
                    .setNickName("王助教")
                    .setPasswd(super.getRandomString(6))
                    .setPurviewList(Arrays.asList(new LiveCreateAccountRequest.Purview().setCode(
                                    LiveConstant.RolePurview.CHAT_LIST_ENABLED.getCode())
                            .setEnabled(LiveConstant.Flag.YES.getFlag())));
            liveCreateAccountResponse = new LiveChannelOperateServiceImpl().createAccount(liveCreateAccountRequest);
            Assert.assertNotNull(liveCreateAccountResponse);
            if (liveCreateAccountResponse != null) {
                //to do something ......
                log.debug("测试创建角色成功 {}", JSON.toJSONString(liveCreateAccountResponse));
                //TODO 此处创建完成后删除了角色,正式使用需删除该语句
                super.deleteSonChannel(liveCreateAccountResponse.getAccount());
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveCreateAccountResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道ID

role

true

String

角色 Assistant:助教 Guest:嘉宾

actor

false

String

头衔,助教默认为助教,头衔长度必须1到10位

nickName

false

String

昵称,默认随机生成昵称,昵称长度必须1到15位

avatar

false

String

头像,默认初始头像(JPG、PNG格式图片),需要携带 http:// 或 https://

passwd

false

String

角色密码,默认随机生成密码,密码长度必须6到16位

purviewList

false

Array

权限【详见Purview参数描述

Purview参数描述

参数名必选类型说明

code

true

String

权限 chatListEnabled:在线列表(仅支持助教) pageTurnEnabled:翻页(仅支持助教,且仅能设置一个助教有翻页权限) monitorEnabled:监播(仅支持助教,且仅能设置一个助教有监播权限) chatAuditEnabled:聊天审核(仅支持助教)

enabled

true

String

开关 Y:开启 N:关闭

返回对象描述

参数名类型说明

account

String

助教/嘉宾账号

userId

String

用户ID

channelId

String

频道号

passwd

String

角色密码

nickname

String

角色名称

stream

String

角色流名,单独使用无效

status

String

角色状态 Y:开启 N:关闭

createdTime

Date

创建角色时间,13位毫秒级时间戳

lastModified

Date

角色最后修改时间,13位毫秒级时间戳

sort

Integer

频道角色序号

avatar

String

角色头像

actor

String

角色头衔

role

String

角色 Assistant:助教 Guest:嘉宾

monitorEnabled

String

监播权限 Y:开启 N:关闭

pageTurnEnabled

String

翻页权限 Y:开启 N:关闭

chatListEnabled

String

在线列表权限 Y:开启 N:关闭


16、查询角色

描述

查询角色
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelAccount/%s/account

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testGetSonChannelInfo() throws Exception, NoSuchAlgorithmException {
        LiveSonChannelInfoRequest liveSonChannelInfoRequest = new LiveSonChannelInfoRequest();
        LiveSonChannelInfoResponse liveSonChannelInfoResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            String sonChannelId = createSonChannel(channelId);
            liveSonChannelInfoRequest.setAccount(sonChannelId).setChannelId(channelId);
            liveSonChannelInfoResponse = new LiveChannelOperateServiceImpl().getSonChannelInfo(
                    liveSonChannelInfoRequest);
            Assert.assertNotNull(liveSonChannelInfoResponse);
            if (liveSonChannelInfoResponse != null) {
                //to do something ......
                log.debug("测试查询角色信息成功{}", JSON.toJSONString(liveSonChannelInfoResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveSonChannelInfoResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

account

true

String

助教/嘉宾账号

返回对象描述

参数名类型说明

account

String

助教/嘉宾账号

userId

String

POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置)

channelId

String

频道号

passwd

String

角色密码

nickname

String

角色名称

stream

String

角色流名(单独使用无效)

status

String

角色状态

createdTime

Date

创建角色时间

lastModified

Date

角色最后修改时间

sort

Integer

频道中所有角色序号

avatar

String

角色头像

pageTurnEnabled

String

助教翻页权限(只能一个角色有)

notifyEnabled

String

发布公告权限(Y/N)

checkinEnabled

String

开启签到权限(Y/N)

voteEnabled

String

发起投票(Y/N)

role

String

角色 Assistant:助教 Guest:嘉宾

chatListEnabled

String

助教页在线列表显示开关 Y:开启 N:关闭

chatAuditEnabled

String

助教聊天审核 Y:开启 N:关闭

monitorEnabled

String

助教监播开关 Y:开启 N:关闭

roundTourEnabled

String

助教轮巡开关 Y:开启 N:关闭

watchLockEnabled

String

锁定直播间功能开关 Y:开启 N:关闭

pushUrl

String

子频道推流地址(子频道推流请参考后台导播台使用)


17、查询频道号下所有角色信息

描述

查询频道号下所有角色信息
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelAccount/%s/accounts

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testGetSonChannelInfoList() throws Exception, NoSuchAlgorithmException {
        LiveSonChannelInfoListRequest liveSonChannelInfoListRequest = new LiveSonChannelInfoListRequest();
        LiveSonChannelInfoListResponse liveSonChannelInfoResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveSonChannelInfoListRequest.setChannelId(channelId);
            liveSonChannelInfoResponse = new LiveChannelOperateServiceImpl().getSonChannelInfoList(
                    liveSonChannelInfoListRequest);
            Assert.assertNotNull(liveSonChannelInfoResponse);
            if (liveSonChannelInfoResponse != null) {
                //to do something ......
                log.debug("查询频道号下所有角色信息成功{}", JSON.toJSONString(liveSonChannelInfoResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveSonChannelInfoListResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

返回对象描述

参数名类型说明

sonChannelInfos

Array

LiveSonChannelInfoResponse参数描述

参数名类型说明

account

String

助教/嘉宾账号

userId

String

POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置)

channelId

String

频道号

passwd

String

角色密码

nickname

String

角色名称

stream

String

角色流名(单独使用无效)

status

String

角色状态

createdTime

Date

创建角色时间

lastModified

Date

角色最后修改时间

sort

Integer

频道中所有角色序号

avatar

String

角色头像

pageTurnEnabled

String

助教翻页权限(只能一个角色有)

notifyEnabled

String

发布公告权限(Y/N)

checkinEnabled

String

开启签到权限(Y/N)

voteEnabled

String

发起投票(Y/N)

role

String

角色 Assistant:助教 Guest:嘉宾

chatListEnabled

String

助教页在线列表显示开关 Y:开启 N:关闭

chatAuditEnabled

String

助教聊天审核 Y:开启 N:关闭

monitorEnabled

String

助教监播开关 Y:开启 N:关闭

roundTourEnabled

String

助教轮巡开关 Y:开启 N:关闭

watchLockEnabled

String

锁定直播间功能开关 Y:开启 N:关闭

pushUrl

String

子频道推流地址(子频道推流请参考后台导播台使用)


18、修改角色信息

描述

修改助教或嘉宾的信息
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/account/update

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testUpdateAccount() throws Exception {
        LiveUpdateAccountRequest liveUpdateAccountRequest = new LiveUpdateAccountRequest();
        LiveUpdateAccountResponse liveUpdateAccountResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            String accountId = createSonChannel(channelId);
            liveUpdateAccountRequest.setChannelId(channelId)
                    .setAccount(accountId)
                    .setNickName("张三")
                    .setActor("嘉宾A")
                    .setPasswd(super.getRandomString(6));
            liveUpdateAccountResponse = new LiveChannelOperateServiceImpl().updateAccount(liveUpdateAccountRequest);
            Assert.assertNotNull(liveUpdateAccountResponse);
            if (liveUpdateAccountResponse != null) {
                //to do something ......
                log.debug("测试修改角色信息成功 {}", JSON.toJSONString(liveUpdateAccountResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveUpdateAccountResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道ID

account

true

String

助教/嘉宾账号

actor

false

String

头衔,助教默认为助教

nickName

false

String

昵称,默认随机生成昵称

avatar

false

String

头像,默认初始头像(JPG、PNG格式图片,需要携带 http:// 或 https://)

passwd

false

String

角色密码

purviewList

false

Array

权限【详见Purview参数描述

Purview参数描述

参数名必选类型说明

code

true

String

权限 chatListEnabled:在线列表(仅支持助教) pageTurnEnabled:翻页(仅支持助教,且仅能设置一个助教有翻页权限) monitorEnabled:监播(仅支持助教,且仅能设置一个助教有监播权限) chatAuditEnabled:聊天审核(仅支持助教)

enabled

true

String

开关 Y:开启 N:关闭

返回对象描述

参数名类型说明

account

String

助教/嘉宾账号

userId

String

用户ID

channelId

String

频道号

passwd

String

角色密码

nickname

String

角色名称

stream

String

角色流名,单独使用无效

status

String

角色状态 Y:开启 N:关闭

createdTime

Date

创建角色时间,13位毫秒级时间戳

lastModified

Date

角色最后修改时间,13位毫秒级时间戳

sort

Integer

频道角色序号

avatar

String

角色头像

actor

String

角色头衔

role

String

角色 Assistant:助教 Guest:嘉宾

monitorEnabled

String

监播权限 Y:开启 N:关闭

pageTurnEnabled

String

翻页权限 Y:开启 N:关闭

chatListEnabled

String

在线列表权限 Y:开启 N:关闭


19、删除角色

描述

删除角色
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelAccount/%s/delete

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testDeleteSonChannel() throws Exception, NoSuchAlgorithmException {
        LiveDeleteSonChannelRequest liveDeleteSonChannelRequest = new LiveDeleteSonChannelRequest();
        Boolean liveDeleteSonChannelResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            String sonChannelId = createSonChannel(channelId);
            liveDeleteSonChannelRequest.setChannelId(channelId).setAccount(sonChannelId);
            liveDeleteSonChannelResponse = new LiveChannelOperateServiceImpl().deleteSonChannel(
                    liveDeleteSonChannelRequest);
            Assert.assertNotNull(liveDeleteSonChannelResponse);
            if (liveDeleteSonChannelResponse) {
                //to do something ......
                log.debug("测试删除角色成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

account

true

String

助教/嘉宾账号

返回对象描述

true为删除成功,false为删除失败


20、批量删除角色

描述

批量删除角色
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/account/delete-batch

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testDeleteAccount() throws Exception {
        LiveDeleteAccountRequest liveDeleteAccountRequest = new LiveDeleteAccountRequest();
        Boolean liveDeleteAccountResponse;
        try {
            String channelId = super.getAloneNewChannelId();
            LiveCreateSonChannelRequest sonChannelRequest = new LiveCreateSonChannelRequest();
            sonChannelRequest.setChannelId(channelId);
            liveDeleteAccountRequest.setChannelId(channelId);
            liveDeleteAccountRequest.setAccounts(createSonChannel(sonChannelRequest));
            liveDeleteAccountResponse = new LiveChannelOperateServiceImpl().deleteAccount(liveDeleteAccountRequest);
            Assert.assertTrue(liveDeleteAccountResponse);
            if (liveDeleteAccountResponse) {
                //to do something ......
                log.debug("测试批量删除角色成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

accounts

true

String

助教/嘉宾账号,多个用英文逗号分割,最大150个

返回对象描述

批量删除角色返回实体


21、设置子频道单点登录token

描述

设置子频道单点登录token
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/%s/set-account-token

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testCreateSonChannelToken() throws Exception, NoSuchAlgorithmException {
        LiveCreateSonChannelTokenRequest liveCreateSonChannelTokenRequest = new LiveCreateSonChannelTokenRequest();
        Boolean liveCreateSonChannelTokenResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            String sonChannelId = createSonChannel(channelId);
            liveCreateSonChannelTokenRequest.setAccount(sonChannelId).setToken(LiveSignUtil.generateUUID());
            liveCreateSonChannelTokenResponse = new LiveChannelOperateServiceImpl().createSonChannelToken(
                    liveCreateSonChannelTokenRequest);
            Assert.assertNotNull(liveCreateSonChannelTokenResponse);
            if (liveCreateSonChannelTokenResponse) {
                //to do something ......
                log.debug("设置子频道单点登录token成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

account

true

String

子频道号(不能以数字类型提交,否则可能去掉ID前的00)

token

true

String

唯一的字符串

返回对象描述

true为设置子频道token成功,false为设置失败


22、创建重制课件任务

描述

创建重制课件任务
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/pptRecord/addRecordTask

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testCreateChannelPPTRecordTask() throws Exception, NoSuchAlgorithmException {
        LiveCreateChannelPPTRecordRequest liveCreateChannelPPTRecordRequest = new LiveCreateChannelPPTRecordRequest();
        Boolean liveCreateChannelPPTRecordResponse;
        try {
            String channel = super.createChannel();
            List<String> videoIds = listChannelVideoIds(channel);
            liveCreateChannelPPTRecordRequest.setChannelId(channel).setVideoId(videoIds.get(1));
            liveCreateChannelPPTRecordResponse = new LiveChannelOperateServiceImpl().createChannelPPTRecordTask(
                    liveCreateChannelPPTRecordRequest);
            Assert.assertTrue(liveCreateChannelPPTRecordResponse);
            if (liveCreateChannelPPTRecordResponse) {
                //to do something ......
                log.debug("测试创建重制课件任务成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

videoId

true

String

回放视频id,从查询视频库列表获取

返回对象描述

true为创建成功,false为创建失败


23、查询课件重制任务列表

描述

查询课件重制任务列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/pptRecord/list

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testListPPTRecord() throws Exception, NoSuchAlgorithmException {
        LiveListChannelPPTRecordRequest liveListChannelPPTRecordRequest = new LiveListChannelPPTRecordRequest();
        LiveListChannelPPTRecordResponse liveListChannelPPTRecordResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveListChannelPPTRecordRequest.setChannelId(channelId)
                    .setStartTime(getDate(2020, 1, 1))
                    .setEndTime(getDate(2020, 11, 11))
                    .setCurrentPage(1);
            liveListChannelPPTRecordResponse = new LiveChannelOperateServiceImpl().listPPTRecord(
                    liveListChannelPPTRecordRequest);
            Assert.assertNotNull(liveListChannelPPTRecordResponse);
            if (liveListChannelPPTRecordResponse != null) {
                //to do something ......
                log.debug("查询课件重制任务列表信息成功{}", JSON.toJSONString(liveListChannelPPTRecordResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveListChannelPPTRecordResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

sessionId

false

String

场次id,new LiveChannelPlaybackServiceImpl().listChannelSessionInfo()方法获取场次信息

status

false

String

课件重制状态值,waiting-等待处理;process-处理中;success-重制成功;fail-重制失败;uploaded-上传点播成功;uploadFailed-上传点播失败;

startTime

false

Date

直播开始时间开始区间

endTime

false

Date

直播开始时间结束区间

currentPage

false

Integer

页数,默认为1【对应api文档的page字段】

pageSize

false

Integer

每页显示的数据条数,默认每页显示20条数据

返回对象描述

参数名类型说明

contents

Array

课件重制任务列表【详见LivePPTRecord参数描述

pageSize

Integer

每页显示的数据条数,默认每页显示20条数据

currentPage

Integer

当前页【对应api文档的pageNumber字段】

totalItems

Integer

记录总条数

totalPage

Integer

总页数【对应api文档的totalPages字段】

LivePPTRecord参数描述

参数名类型说明

channelId

String

直播频道号

title

String

对应回放的名称

url

String

重制mp4下载地址,有24小时的防盗链超时时间

sessionId

String

场次id

startTime

Date

对应回放的直播开始时间,格式为yyyy-MM-dd HH:mm:ss

status

String

状态值,waiting-等待处理;process-处理中;success-重制成功;fail-重制失败;uploaded-上传点播成功;uploadFailed-上传点播失败;

remainDay

Integer

重制剩余的过期时间,过期后将无法访问和下载,单位:天

duration

Integer

重制的视频时长,单位秒

videoId

String

直播系统视频ID,如:992d36fa40

vid

String

重制课件上传到点播的点播视频VID


24、查询频道重制课件参数设置信息

描述

查询频道重制课件参数设置信息
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/pptRecord/get-setting

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testGetRecordSetting() throws Exception {
        LiveChannelGetRecordSettingRequest liveChannelGetRecordSettingRequest =
                new LiveChannelGetRecordSettingRequest();
        LiveChannelGetRecordSettingResponse liveChannelGetRecordSettingResponse;
        try {
            String channelId = super.createChannel();
            liveChannelGetRecordSettingRequest.setChannelId(channelId);
            liveChannelGetRecordSettingResponse = new LiveChannelOperateServiceImpl().liveChannelGetRecordSetting(
                    liveChannelGetRecordSettingRequest);
            Assert.assertNotNull(liveChannelGetRecordSettingResponse);
            if (liveChannelGetRecordSettingResponse != null) {
                //to do something ......
                log.debug("测试查询频道重制课件参数设置信息成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveChannelGetRecordSettingResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

返回对象描述

参数名类型说明

channelId

String

频道号

userId

String

POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置)

type

Integer

视频布局方式 0:三分屏 1:纯文档 2:画中画

globalSettingEnabled

String

是否使用通用设置 Y:是 N:否

videoRatio

String

摄像头画面比例 0:画面比例16:9 1:画面比例4:3

brandImgFile

String

展示图片

backgroundImgFile

String

背景图片

actionPosition

String

重制课件摄像头位置 left:左侧 right:右侧


25、设置频道重制课件配置信息

描述

设置频道重制课件配置信息
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/pptRecord/setting

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

2、新版频道无法设置

单元测试

	@Test
	public void testSetChannelRecord() throws IOException, NoSuchAlgorithmException {
        LiveChannelRecordSettingRequest liveChannelRecordSettingRequest = new LiveChannelRecordSettingRequest();
        Boolean liveChannelRecordSettingResponse;
        try {
            String channelId = super.createChannel();
            liveChannelRecordSettingRequest.setChannelId(channelId)
                    .setGlobalSettingEnabled(LiveConstant.Flag.NO.getFlag())
                    .setType(LiveConstant.PPTRecordType.PICTURE.getValue())
                    .setVideoRatio(LiveConstant.PPTRecordRatio.RATIO_16_9.getValue());
            liveChannelRecordSettingResponse = new LiveChannelOperateServiceImpl().setChannelRecord(
                    liveChannelRecordSettingRequest);
            Assert.assertTrue(liveChannelRecordSettingResponse);
            if (liveChannelRecordSettingResponse) {
                //to do something ......
                log.debug("测试设置频道重制课件配置信息成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

globalSettingEnabled

true

String

是否使用通用设置 Y:是 N:否

type

true

Integer

视频布局方式 0:三分屏 1:纯文档 2:画中画

videoRatio

false

String

摄像头画面比例,新版重制有效 0:画面比例16:9 1:画面比例4:3

brandImgFile

false

File

展示图片,新版重制有效,支持jpg和png格式 摄像头画面比例为16:9时尺寸为480X810 摄像头画面比例为4:3时尺寸为480X720

backgroundImgFile

false

File

背景图片,旧版重制有效,尺寸为1280X720,支持jpg和png格式

返回对象描述

频道重制课件配置信息返回


26、删除重制课件任务

描述

删除重制课件任务, 可批量删除
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/pptRecord/batch-delete

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testDeleteChannelPPTRecord() throws IOException, NoSuchAlgorithmException {
        LiveDeleteChannelPPTRecordRequest liveDeleteChannelPPTRecordRequest = new LiveDeleteChannelPPTRecordRequest();
        Boolean liveDeleteChannelPPTRecordResponse;
        try {
            String channelId = super.createChannel();
            liveDeleteChannelPPTRecordRequest.setChannelId(channelId);
            liveDeleteChannelPPTRecordRequest.setTaskIds("12345,12346");
            liveDeleteChannelPPTRecordResponse = new LiveChannelOperateServiceImpl().deleteChannelPPTRecord(
                    liveDeleteChannelPPTRecordRequest);
            Assert.assertNotNull(liveDeleteChannelPPTRecordResponse);
            if (liveDeleteChannelPPTRecordResponse != null) {
                //to do something ......
                log.debug("测试删除重制课件任务成功 {}", JSON.toJSONString(liveDeleteChannelPPTRecordResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道ID

taskIds

true

String

任务ID列表,多个任务ID使用”,”进行分隔

返回对象描述

true为删除成功,false为删除失败


27、查询频道回调设置接口

描述

查询频道回调设置接口
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/callback/get-setting

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testGetChannelCallbackSetting() throws Exception {
        LiveChannelCallbackSettingRequest liveChannelCallbackSettingRequest = new LiveChannelCallbackSettingRequest();
        LiveChannelCallbackSettingResponse liveChannelCallbackSettingResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveChannelCallbackSettingRequest.setChannelId(channelId);
            liveChannelCallbackSettingResponse = new LiveChannelOperateServiceImpl().getChannelCallbackSetting(
                    liveChannelCallbackSettingRequest);
            Assert.assertNotNull(liveChannelCallbackSettingResponse);
            if (liveChannelCallbackSettingResponse != null) {
                //to do something ......
                log.debug("测试查询频道回调设置接口成功,{}", JSON.toJSONString(liveChannelCallbackSettingResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveChannelCallbackSettingResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

返回对象描述

参数名类型说明

recordCallbackUrl

String

录制生成回调URL

playbackCallbackUrl

String

录制视频转存成功回调URL

streamCallbackUrl

String

流状态回调URL

liveScanCallbackUrl

String

直播内容审核回调URL

recordCallbackVideoType

String

录制回调的视频类型,多个视频类型用,分隔

playbackCacheCallbackUrl

String

回放缓存生成成功的回调URL

pptRecordCallbackUrl

String

课件重制成功回调URL

globalSettingEnabled

String

是否应用全局设置开关,Y走用户回调设置,N走频道设置


28、设置频道回调设置

描述

设置频道回调设置
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/callback/update-setting

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

2、如频道需要跟随用户设置,可以调用设置频道默认项开关接口

单元测试

	@Test
	public void testUpdateChannelCallbackSetting() throws Exception {
        LiveUpdateChannelCallbackSettingRequest liveUpdateChannelCallbackSettingRequest =
                new LiveUpdateChannelCallbackSettingRequest();
        Boolean liveUpdateChannelCallbackSettingResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveUpdateChannelCallbackSettingRequest.setChannelId(channelId);
            liveUpdateChannelCallbackSettingResponse = new LiveChannelOperateServiceImpl().updateChannelCallbackSetting(
                    liveUpdateChannelCallbackSettingRequest);
            Assert.assertTrue(liveUpdateChannelCallbackSettingResponse);
            if (liveUpdateChannelCallbackSettingResponse) {
                //to do something ......
                log.debug("测试设置频道回调设置成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

recordCallbackVideoType

false

String

录制回调文件类型,可选值m3u8或mp4或m3u8,mp4

recordCallbackUrl

false

String

录制回调http(s)地址,需要url编码,如果要清空设置传入空串

playbackCallbackUrl

false

String

转存成功回调http(s)地址,需要url编码,如果要清空设置传入空串

streamCallbackUrl

false

String

流状态回调http(s)地址,需要url编码,如果要清空设置传入空串

pptRecordCallbackUrl

false

String

课件重制成功回调http(s)地址,需要url编码,如果要清空设置传入空串

liveScanCallbackUrl

false

String

直播内容鉴别回调http(s)地址,需要url编码,如果要清空设置传入空串

playbackCacheCallbackUrl

false

String

回放转存回调http(s)地址,需要url编码,如果要清空设置传入空串

返回对象描述

null


29、批量创建角色

描述

批量创建角色
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/account/batch-create

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

2、批量创建角色,角色支持guest(嘉宾)、assistant(助教)

单元测试

	@Test
	public void testCreateSonChannelList() throws Exception {
        LiveCreateSonChannelListRequest liveCreateSonChannelListRequest = new LiveCreateSonChannelListRequest();
        LiveCreateSonChannelListResponse liveCreateSonChannelListResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            List<LiveCreateSonChannelListRequest.SonChannel> sonChannels =
                    new ArrayList<LiveCreateSonChannelListRequest.SonChannel>();
            LiveCreateSonChannelListRequest.SonChannel sonChannel1 = new LiveCreateSonChannelListRequest.SonChannel();
            sonChannel1.setRole("Guest")
                    .setNickname("嘉宾甲")
                    .setPasswd(getRandomString(10))
                    .setActor("博士")
                    .setAvatar("https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3002379740," +
                            "3965499425&fm=26&gp=0.jpg");
            sonChannels.add(sonChannel1);
            sonChannel1 = new LiveCreateSonChannelListRequest.SonChannel();
            sonChannel1.setRole(null)
                    .setNickname("助教甲")
                    .setPasswd(getRandomString(10))
                    .setActor("助教")
                    .setAvatar("https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3002379740," +
                            "3965499425&fm=26&gp=0.jpg");
            sonChannels.add(sonChannel1);
            liveCreateSonChannelListRequest.setChannelId(channelId).setSonChannels(sonChannels);
            liveCreateSonChannelListResponse = new LiveChannelOperateServiceImpl().createSonChannelList(
                    liveCreateSonChannelListRequest);
            Assert.assertNotNull(liveCreateSonChannelListResponse);
            if (liveCreateSonChannelListResponse != null) {
                //to do something ......
                log.debug("测试批量创建角色成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveCreateSonChannelListResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

sonChannels

true

Array

角色信息【详见SonChannel参数描述

SonChannel参数描述

参数名必选类型说明

role

false

String

默认不传为助教,传Guest为嘉宾

nickname

false

String

创建的助教或嘉宾昵称

passwd

true

String

角色密码

actor

true

String

创建的助教或嘉宾头衔

avatar

true

String

创建的助教或嘉宾头像

返回对象描述

参数名类型说明

sonChannelInfos

Array

角色返回信息【详见SonChannelInfo参数描述

SonChannelInfo参数描述

参数名类型说明

account

String

助教ID

userId

String

POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置)

channelId

String

频道号

passwd

String

助教密码

nickname

String

助教名称

stream

String

助教流名(单独使用无效)

status

String

助教状态(Y/N)

createdTime

Date

创建助教时间

lastModified

Date

助教最后修改时间

sort

Integer

频道中所有助教序号

avatar

String

助教头像

pageTurnEnabled

String

助教翻页权限(只能一个助教有) Y:开启 N:关闭

notifyEnabled

String

发布公告权限(Y/N)

checkinEnabled

String

开启签到权限(Y/N)

voteEnabled

String

发起投票(Y/N)

role

String

角色 assistant:助教 guest:嘉宾

loginUrl

String

子账号(嘉宾)登录地址


30、获取账号或频道转播列表信息

描述

获取账号或频道转播列表信息
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/transmit/get-associations

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testGetChannelTransmitList() throws Exception {
        LiveChannelTransmitListRequest liveChannelTransmitListRequest = new LiveChannelTransmitListRequest();
        LiveChannelTransmitListResponse liveChannelTransmitListResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveChannelTransmitListRequest.setChannelId(channelId);
            liveChannelTransmitListResponse = new LiveChannelOperateServiceImpl().getChannelTransmitList(
                    liveChannelTransmitListRequest);
            Assert.assertNotNull(liveChannelTransmitListResponse);
            if (liveChannelTransmitListResponse != null) {
                //to do something ......
                log.debug("测试获取账号或频道转播列表信息成功,{}", JSON.toJSONString(liveChannelTransmitListResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveChannelTransmitListResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

false

String

频道号,如果不传,则查询appId对应的账号下所有转播频道关联关系

返回对象描述

参数名类型说明

channelTransmits

Array

账号或频道转播信息【详见ChannelTransmit参数描述

ChannelTransmit参数描述

参数名类型说明

channelId

String

发起转播频道号,如果一个接收转播频道没有关联主频道,则该值为null

receiveChannelId

String

接收转播频道号


31、设置频道最大在线人数

描述

设置频道最大在线人数
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelRestrict/%s/set-max-viewer

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testUpdateChannelMaxViewer() throws Exception {
        LiveUpdateChannelMaxViewerRequest liveUpdateChannelMaxViewerRequest = new LiveUpdateChannelMaxViewerRequest();
        Boolean liveUpdateChannelMaxViewerResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveUpdateChannelMaxViewerRequest.setChannelId(channelId).setMaxViewer(Integer.MAX_VALUE);
            liveUpdateChannelMaxViewerResponse = new LiveChannelOperateServiceImpl().updateChannelMaxViewer(
                    liveUpdateChannelMaxViewerRequest);
            Assert.assertTrue(liveUpdateChannelMaxViewerResponse);
            if (liveUpdateChannelMaxViewerResponse) {
                //to do something ......
                log.debug("测试设置频道最大在线人数成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

maxViewer

true

Integer

最大观看在线人数,等于0时表示关闭在线人数观看限制,最大为2147483647

返回对象描述

true为设置成功,false为设置失败


32、查询频道广告列表

描述

查询频道广告列表
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/advert/list

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

2、提供查询频道轮播广告列表信息,频道广告为空时,获取全局广告

单元测试

	@Test
	public void testGetChannelAdvertList() throws Exception {
        LiveChannelAdvertListRequest liveChannelAdvertListRequest = new LiveChannelAdvertListRequest();
        LiveChannelAdvertListResponse liveChannelAdvertListResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveChannelAdvertListRequest.setChannelId(channelId);
            liveChannelAdvertListResponse = new LiveChannelOperateServiceImpl().getChannelAdvertList(
                    liveChannelAdvertListRequest);
            Assert.assertNotNull(liveChannelAdvertListResponse);
            if (liveChannelAdvertListResponse != null) {
                //to do something ......
                log.debug("测试查询频道广告列表成功,{}", JSON.toJSONString(liveChannelAdvertListResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveChannelAdvertListResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

返回对象描述

参数名类型说明

channelAdverts

Array

频道广告【详见ChannelAdvert参数描述

ChannelAdvert参数描述

参数名类型说明

text

String

文本广告内容

img

String

图片广告链接

href

String

跳转链接


33、查询频道直播截图

描述

查询频道直播截图
接口地址(仅做说明使用):https://api.polyv.net/live/v2/stream/%s/capture

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

2、如果直播未开启,将抛出"channel is not live."异常

单元测试

	@Test
	public void testGetChannelCapture() throws Exception {
        LiveChannelCaptureRequest liveChannelCaptureRequest = new LiveChannelCaptureRequest();
        String liveChannelCaptureResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveChannelCaptureRequest.setChannelId(channelId);
            liveChannelCaptureResponse = new LiveChannelOperateServiceImpl().getChannelCapture(
                    liveChannelCaptureRequest);
            Assert.assertNotNull(liveChannelCaptureResponse);
            if (liveChannelCaptureResponse != null) {
                //to do something ......
                log.debug("测试查询频道直播截图成功,{}", JSON.toJSONString(liveChannelCaptureResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回String对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

返回对象描述

返回图片http地址,


34、修改直播推流方式

描述

修改直播推流方式
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/stream/update

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

2、直播过程中不允许修改直播方式

单元测试

	@Test
	public void testUpdateChannelStream() throws Exception {
        LiveUpdateChannelStreamRequest liveUpdateChannelStreamRequest = new LiveUpdateChannelStreamRequest();
        Boolean liveUpdateChannelStreamResponse;
        try {
            //准备测试数据
            String channelId = super.createChannel();
            liveUpdateChannelStreamRequest.setStreamType("disk").setChannelId(channelId);
            liveUpdateChannelStreamResponse = new LiveChannelOperateServiceImpl().updateChannelStream(
                    liveUpdateChannelStreamRequest);
            Assert.assertTrue(liveUpdateChannelStreamResponse);
            if (liveUpdateChannelStreamResponse) {
                //to do something ......
                log.debug("测试修改直播推流方式成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

直播频道号

streamType

true

String

直播方式,client:客户端推流;disk:硬盘推流;audio:音频直播;pull:拉流直播

pullUrl

false

String

拉流地址

返回对象描述

true为修改推流方式成功,false为修改失败


35、设置硬盘推流直播

描述

设置硬盘推流直播
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/stream/add-disk-videos

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

2、调用接口后,如果当前频道未在直播中,会自动设置直播方式为“硬盘推流”。如果当前使用其他直播推流方式直播中,则需要在直播结束后,调用《修改直播推流方式》修改为硬盘推流,才会在所设置的开始时间进行直播

3、无延迟频道不可修改为硬盘推流

4、仅纯视频模式支持硬盘推流

5、不支持设置加密视频为硬盘推流

单元测试

	@Test
	public void testCreateDiskVideosStream() throws Exception {
        LiveCreateDiskVideosStreamRequest liveCreateDiskVideosStreamRequest = new LiveCreateDiskVideosStreamRequest();
        Boolean liveCreateDiskVideosStreamResponse;
        try {
            //准备测试数据
            String channelId = super.getAloneChannelId();
            //保利威云点播视频列表的VID,需导入保利威点播SDK,调用new VodQueryServiceImpl().searchVideoList()获取VideoId
            String videoId = "1b448be323d7eaee38dcead42f053911_1";
            liveCreateDiskVideosStreamRequest.setVideoIds(videoId)
                    .setStartTimes(super.getDate(System.currentTimeMillis() + 60 * 1000))
                    .setChannelId(channelId);
            liveCreateDiskVideosStreamResponse = new LiveChannelOperateServiceImpl().createDiskVideosStream(
                    liveCreateDiskVideosStreamRequest);
            Assert.assertTrue(liveCreateDiskVideosStreamResponse);
            if (liveCreateDiskVideosStreamResponse) {
                //to do something ......
                log.debug("测试设置硬盘推流直播成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

videoIds

true

String

要设置硬盘推流的点播视频ID【对应api文档的vids字段】

startTimes

true

Date

硬盘推流开始时间

返回对象描述

true为设置硬盘推流直播成功,false为修改失败


36、删除硬盘推流的视频

描述

删除硬盘推流的视频
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/stream/delete-disk-videos

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

2、删除伪直播中的视频,不允许删除正在伪直播中的视频

单元测试

	@Test
	public void testDeleteDiskVideosStream() throws Exception {
        LiveDeleteDiskVideosStreamRequest liveDeleteDiskVideosStreamRequest = new LiveDeleteDiskVideosStreamRequest();
        Boolean liveDeleteDiskVideosStreamResponse;
        try {
            //准备测试数据
            String channelId = super.getAloneChannelId();
            liveDeleteDiskVideosStreamRequest.setVideoIds("1b448be323d7eaee38dcead42f053911_1").setChannelId(channelId);
            liveDeleteDiskVideosStreamResponse = new LiveChannelOperateServiceImpl().deleteDiskVideosStream(
                    liveDeleteDiskVideosStreamRequest);
            Assert.assertTrue(liveDeleteDiskVideosStreamResponse);
            if (liveDeleteDiskVideosStreamResponse) {
                //to do something ......
                log.debug("测试删除硬盘推流的视频成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

videoIds

true

String

要删除的硬盘推流视频id【对应api文档的vids字段】

返回对象描述

true为删除硬盘推流直播成功,false为删除失败


37、批量修改频道弹幕开关

描述

调用后频道会关闭掉通用设置
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/batchUpdateDanmu

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testBatchUpdateBarrage() throws Exception {
        LiveBatchUpdateBarrageRequest liveBatchUpdateBarrageRequest = new LiveBatchUpdateBarrageRequest();
        Boolean liveBatchUpdateBarrageResponse;
        try {
            //准备测试数据
            String channelIds = String.format("%s,%s", super.getAloneChannelId(), super.createChannel());
            liveBatchUpdateBarrageRequest.setChannelIds(channelIds).setCloseBarrage("Y").setShowBarrageInfoEnabled("Y");
            liveBatchUpdateBarrageResponse = new LiveChannelOperateServiceImpl().batchUpdateBarrage(
                    liveBatchUpdateBarrageRequest);
            Assert.assertTrue(liveBatchUpdateBarrageResponse);
            if (liveBatchUpdateBarrageResponse) {
                //to do something ......
                log.debug("测试批量修改频道弹幕开关成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage(),B
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

closeBarrage

true

String

是否关闭弹幕功能 Y:表示关闭 N:表示开启【对应api文档的closeDanmu字段】

showBarrageInfoEnabled

true

String

是否显示弹幕信息开关, Y:表示显示 N:表示不显示【对应api文档的showDanmuInfoEnabled字段】

channelIds

true

String

需要修改弹幕开关的频道号,多个频道号用半角逗号 , 隔开

返回对象描述

true为批量修改频道弹幕开关成功,false为批量修改失败


38、查询报名观看记录

描述

查询频道报名观看记录
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/enroll/list

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testGetLiveEnrollList() throws IOException, NoSuchAlgorithmException {
        LiveGetEnrollListRequest liveGetEnrollListRequest = new LiveGetEnrollListRequest();
        LiveGetEnrollListResponse liveGetEnrollListResponse;
        try {
            String channelId = super.createChannel();
            liveGetEnrollListRequest.setChannelId(channelId);
            liveGetEnrollListResponse = new LiveChannelOperateServiceImpl().getLiveEnrollList(liveGetEnrollListRequest);
            Assert.assertNotNull(liveGetEnrollListResponse);
            if (liveGetEnrollListResponse != null) {
                //to do something ......
                log.debug("测试查询报名观看记录成功{}", JSON.toJSONString(liveGetEnrollListResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveGetEnrollListResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

返回对象描述

参数名类型说明

auditEnabled

String

频道报名审核开关 Y:开启 N:关闭

list

Array

报名观看记录【详见LiveEnrollList参数描述

LiveEnrollList参数描述

参数名类型说明

viewerId

String

观众ID

mobile

String

手机号

createTime

Date

报名时间

hasWatched

String

是否已观看 Y:是 N:否

promoteId

String

推广渠道ID

promoteName

String

推广渠道名称

auditStatus

String

审核结果 W:未审核 P:已通过 F:已拒绝

fields

Array

报名信息【详见LiveEnrollFields参数描述

LiveEnrollFields参数描述

参数名类型说明

name

String

报名信息名称

value

String

报名信息值


39、查询频道页面装修

描述

查询频道的页面装修设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/decorate/get

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testGetChannelDecorate() throws IOException, NoSuchAlgorithmException {
        LiveGetChannelDecorateRequest liveGetChannelDecorateRequest = new LiveGetChannelDecorateRequest();
        LiveGetChannelDecorateResponse liveGetChannelDecorateResponse;
        try {
            String channelId = super.createChannel();
            liveGetChannelDecorateRequest.setChannelId(channelId);
            liveGetChannelDecorateResponse = new LiveChannelOperateServiceImpl().getChannelDecorate(
                    liveGetChannelDecorateRequest);
            Assert.assertNotNull(liveGetChannelDecorateResponse);
            if (liveGetChannelDecorateResponse != null) {
                //to do something ......
                log.debug("测试查询频道页面装修成功{}", JSON.toJSONString(liveGetChannelDecorateResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveGetChannelDecorateResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

返回对象描述

参数名类型说明

skin

String

皮肤,black:时尚黑,red:喜庆红,blue:科技蓝,white:经典白,green:薄荷绿,golden:富贵金

aloneWatchLayout

String

普通直播观看页布局配置(普通:normal,竖屏:portrait)

chat

DecorateChat

装修里聊天对象【详见DecorateChat参数描述

desc

DecorateDesc

装修中文直播介绍页对象【详见DecorateDesc参数描述

menus

Array

中文菜单列表对象【详见DecorateMenus参数描述

player

DecoratePlayer

装修播放器对象【详见DecoratePlayer参数描述

pptMobileWatchLayout

String

三分屏移动端观看布局,normal:常规直播,portrait:直播带货

splash

DecorateSplash

装修引导页对象【详见DecorateSplash参数描述

splashEnabled

String

引导页开关,Y:开启,N:关闭

englishSettingEnabled

String

双语直播间开关,Y:开启,N:关闭

enMenus

Array

英文菜单列表对象【详见DecorateMenus参数描述

descEn

DecorateDescEn

模板-装修英文直播介绍页对象【详见DecorateDescEn参数描述

DecorateChat参数描述

参数名类型说明

baseLikes

Integer

累计点赞人数 (点赞基数)

chatOnlineNumberEnable

String

在线人数开关,Y:开启,N:关闭

emotionEnabled

String

情绪直播间开关,情绪开关和点赞开关同时只能开启一个,Y:开启,N:关闭

redPackEnabled

String

红包开关,Y:开启,N:关闭

sendFlowersEnabled

String

点赞开关,Y:开启,N:关闭

viewerSendImgEnabled

String

发送图片开关,Y:开启,N:关闭

welcomeEnabled

String

欢迎语开关,Y:开启,N:关闭

withdrawEnabled

String

提现开关,Y:开启,N:关闭

DecorateDesc参数描述

参数名类型说明

coverImageUrl

String

暖场图片 -> 封面图片

iconUrl

String

图标URL

publisher

String

主持人名称,最大长度50

title

String

标题 -> 直播名称,最大长度100

DecorateMenus参数描述

参数名类型说明

content

String

菜单内容

menuId

String

菜单ID

name

String

菜单名称

type

String

菜单类型 desc:直播介绍 chat:互动聊天 quiz:提问 qa:问答 invite:邀请海报 text:图文菜单

DecoratePlayer参数描述

参数名类型说明

actualPV

Integer

实际累计观看次数 (真实次数)

backgroundUrl

String

PC背景图片

basePV

Integer

基础观看次数

coverJumpUrl

String

封面(暖场)跳转链接

iconLink

String

水印链接

iconPosition

String

图标位置 (水印位置)

iconUrl

String

水印图片URL

logoOpacity

Float

水印不透明度,0:完全透明,1:完全不透明

warmUpEnabled

String

暖场开关,Y:开启,N:关闭

warmUpImageUrl

String

暖场图片地址 (直播封面图)

watermarkEnabled

String

水印开关,Y:开启,N:关闭

DecorateSplash参数描述

参数名类型说明

splashImageUrl

String

引导页图片地址

DecorateMenus参数描述

参数名类型说明

content

String

菜单内容

menuId

String

菜单ID

name

String

菜单名称

type

String

菜单类型 desc:直播介绍 chat:互动聊天 quiz:提问 qa:问答 invite:邀请海报 text:图文菜单

DecorateDescEn参数描述

参数名类型说明

publisher

String

主持人英文名称,最大长度50

title

String

直播英文名称,最大长度100


40、修改频道装修设置

描述

修改频道的页面装修设置
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/decorate/update

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testUpdateChannelDecorate() throws IOException, NoSuchAlgorithmException {
        LiveUpdateChannelDecorateRequest liveUpdateChannelDecorateRequest = new LiveUpdateChannelDecorateRequest();
        Boolean liveUpdateChannelDecorateResponse;
        try {
            String channelId = super.createChannel();
            liveUpdateChannelDecorateRequest.setChannelId(channelId);
            LiveUpdateChannelDecorateRequest.DecorateChat chat = new LiveUpdateChannelDecorateRequest.DecorateChat();
            chat.setBaseLikes(2000)
                    .setChatOnlineNumberEnable(LiveConstant.Flag.YES.getFlag())
                    .setRedPackEnabled(LiveConstant.Flag.YES.getFlag());
            List<LiveUpdateChannelDecorateRequest.DecorateMenus> menus = new ArrayList<>();
            LiveUpdateChannelDecorateRequest.DecorateMenus menu1 = new LiveUpdateChannelDecorateRequest.DecorateMenus();
            LiveUpdateChannelDecorateRequest.DecorateMenus menu2 = new LiveUpdateChannelDecorateRequest.DecorateMenus();
            menu1.setType(LiveConstant.MenuType.DESC.getType()).setName("直播介绍");
            menu2.setType(LiveConstant.MenuType.TEXT.getType()).setName("图文菜单");
            menus.add(menu1);
            menus.add(menu2);
            liveUpdateChannelDecorateRequest.setChat(chat)
                    .setEnglishSettingEnabled(LiveConstant.Flag.NO.getFlag())
                    .setSkin(LiveConstant.Skin.GOLDEN.getValue())
                    .setSplashEnabled(LiveConstant.Flag.YES.getFlag())
                    .setMenus(menus);
            liveUpdateChannelDecorateResponse = new LiveChannelOperateServiceImpl().updateChannelDecorate(
                    liveUpdateChannelDecorateRequest);
            Assert.assertTrue(liveUpdateChannelDecorateResponse);
            if (liveUpdateChannelDecorateResponse) {
                //to do something ......
                log.debug("测试修改频道装修设置成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

skin

false

String

皮肤,black:时尚黑,red:喜庆红,blue:科技蓝,white:经典白,green:薄荷绿,golden:富贵金

chat

false

DecorateChat

装修里聊天对象【详见DecorateChat参数描述

desc

false

DecorateDesc

装修中文直播介绍页对象【详见DecorateDesc参数描述

menus

false

Array

中文菜单列表对象【详见DecorateMenus参数描述

player

false

DecoratePlayer

装修播放器对象【详见DecoratePlayer参数描述

splash

false

DecorateSplash

装修引导页对象【详见DecorateSplash参数描述

splashEnabled

false

String

引导页开关,Y:开启,N:关闭

englishSettingEnabled

false

String

双语直播间开关,Y:开启,N:关闭

enMenus

false

Array

英文菜单列表对象【详见DecorateMenus参数描述

descEn

false

DecorateDescEn

模板-装修英文直播介绍页对象【详见DecorateDescEn参数描述

DecorateChat参数描述

参数名必选类型说明

baseLikes

false

Integer

累计点赞人数 (点赞基数)

chatOnlineNumberEnable

false

String

在线人数开关,Y:开启,N:关闭

emotionEnabled

false

String

情绪直播间开关,情绪开关和点赞开关同时只能开启一个,Y:开启,N:关闭

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:关闭

DecorateDesc参数描述

参数名必选类型说明

iconUrl

false

String

图标URL

publisher

false

String

主持人名称,最大长度50

title

false

String

标题 -> 直播名称,最大长度100

DecorateMenus参数描述

参数名必选类型说明

content

false

String

菜单内容

menuId

false

String

菜单ID

name

true

String

菜单名称

type

true

String

菜单类型 desc:直播介绍 chat:互动聊天 quiz:提问 qa:问答 invite:邀请海报 text:图文菜单

DecoratePlayer参数描述

参数名必选类型说明

actualPV

false

Integer

实际累计观看次数 (真实次数)

backgroundUrl

false

String

PC背景图片

basePV

false

Integer

基础观看次数

coverJumpUrl

false

String

封面(暖场)跳转链接

iconLink

false

String

水印链接

iconPosition

false

String

图标位置 (水印位置)

iconUrl

false

String

水印图片URL

logoOpacity

false

Float

水印不透明度,0:完全透明,1:完全不透明

warmUpEnabled

false

String

暖场开关,Y:开启,N:关闭

warmUpImageUrl

false

String

暖场图片地址 (直播封面图)

watermarkEnabled

false

String

水印开关,Y:开启,N:关闭

DecorateSplash参数描述

参数名必选类型说明

splashImageUrl

false

String

引导页图片地址

DecorateMenus参数描述

参数名必选类型说明

content

false

String

菜单内容

menuId

false

String

菜单ID

name

true

String

菜单名称

type

true

String

菜单类型 desc:直播介绍 chat:互动聊天 quiz:提问 qa:问答 invite:邀请海报 text:图文菜单

DecorateDescEn参数描述

参数名必选类型说明

publisher

false

String

主持人英文名称,最大长度50

title

false

String

直播英文名称,最大长度100

返回对象描述

修改频道装修设置返回实体


41、复制频道

描述

通过一个频道复制出一个新的频道
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/basic/copy

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testCopyChannel() throws Exception {
        LiveChannelCopyRequest liveChannelCopyRequest = new LiveChannelCopyRequest();
        LiveChannelCopyResponse liveChannelCopyResponse;
        try {
            String channelId = super.getAloneNewChannelId();
            liveChannelCopyRequest.setChannelId(channelId).setName("sdk测试复制频道");
            liveChannelCopyResponse = new LiveChannelOperateServiceImpl().copyChannel(liveChannelCopyRequest);
            Assert.assertNotNull(liveChannelCopyResponse);
            if (liveChannelCopyResponse != null) {
                //to do something ......
                log.debug("测试复制频道成功 {}", JSON.toJSONString(liveChannelCopyResponse));
                //TODO 此处创建完成后删除了频道,正式使用需删除该语句
                super.deleteChannel(liveChannelCopyResponse.getChannelId());
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveChannelCopyResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

需要复制频道的频道号

name

false

String

新的频道名称,默认为复制频道的频道名称

categoryId

false

Integer

新的频道所属分类ID,默认为默认分类

startTime

false

String

频道开始时间,格式:yyyy-MM-DD HH:mm:ss,默认为复制频道的开始时间

返回对象描述

参数名类型说明

channelId

String

频道号


42、批量修改频道皮肤

描述

批量修改频道装修皮肤
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/decorate/skin/update-batch

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testUpdateChannelSkin() throws IOException, NoSuchAlgorithmException {
        LiveUpdateChannelSkinRequest liveUpdateChannelSkinRequest = new LiveUpdateChannelSkinRequest();
        Boolean liveUpdateChannelSkinResponse;
        try {
            String channelIds = String.format("%s,%s", super.getAloneChannelId(), super.createChannel());
            liveUpdateChannelSkinRequest.setChannelIds(channelIds).setSkin("red");
            liveUpdateChannelSkinResponse = new LiveChannelOperateServiceImpl().updateChannelSkin(
                    liveUpdateChannelSkinRequest);
            Assert.assertTrue(liveUpdateChannelSkinResponse);
            if (liveUpdateChannelSkinResponse) {
                //to do something ......
                log.debug("测试批量修改频道皮肤成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelIds

true

String

用英文逗号隔开的频道号,如:10000,100001 最多10000个

skin

true

String

皮肤 black:时尚黑 red:喜庆红 blue:科技蓝 white:经典白 green:薄荷绿 golden:富贵金

返回对象描述

批量修改频道皮肤返回实体


43、获取频道关注公众号设置信息

描述

查询关注公众号设置接口
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/promotion/list-channels-follow

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testListChannelsFollow() throws IOException, NoSuchAlgorithmException {
        LiveListChannelsFollowRequest liveListChannelsFollowRequest = new LiveListChannelsFollowRequest();
        LiveListChannelsFollowResponse liveListChannelsFollowResponse;
        try {
            String channelId = super.createChannel();
            liveListChannelsFollowRequest.setChannelIds(channelId);
            liveListChannelsFollowResponse = new LiveChannelOperateServiceImpl().listChannelsFollow(
                    liveListChannelsFollowRequest);
            Assert.assertNotNull(liveListChannelsFollowResponse);
            if (liveListChannelsFollowResponse != null) {
                //to do something ......
                log.debug("测试获取频道关注公众号设置信息成功 {}", JSON.toJSONString(liveListChannelsFollowResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回LiveListChannelsFollowResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelIds

true

String

频道号,多个频道用“,”分隔

返回对象描述

参数名类型说明

list

Array

关注公众号设置列表【详见ChannelsFollow参数描述

ChannelsFollow参数描述

参数名类型说明

channelId

String

频道号

enabled

String

关注公众号功能开关,开启Y、关闭N

autoShowEnabled

String

主动弹窗开关,开启Y、关闭N

qrCodeUrl

String

二维码图片链接地址

entranceText

String

入口文案

tips

String

弹窗提示文案


44、修改频道关注公众号设置信息

描述

更新关注公众号设置接口
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/promotion/update-channels-follow

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testUpdateChannelsFollow() throws IOException, NoSuchAlgorithmException {
        LiveUpdateChannelsFollowRequest liveUpdateChannelsFollowRequest = new LiveUpdateChannelsFollowRequest();
        Boolean liveUpdateChannelsFollowResponse;
        try {
            String channelId = super.createChannel();
            liveUpdateChannelsFollowRequest.setChannelIds(channelId);
            liveUpdateChannelsFollowRequest.setEnabled("Y");
            liveUpdateChannelsFollowRequest.setAutoShowEnabled("Y");
            liveUpdateChannelsFollowRequest.setEntranceText("welcome");
            liveUpdateChannelsFollowRequest.setTips("tips");
            liveUpdateChannelsFollowRequest.setQrCodeUrl(
                    "https://wwwimg.polyv.net/assets/dist/images/web3.0/c-footer/ft-wechat-qrcode.png");
            liveUpdateChannelsFollowResponse = new LiveChannelOperateServiceImpl().updateChannelsFollow(
                    liveUpdateChannelsFollowRequest);
            Assert.assertNotNull(liveUpdateChannelsFollowResponse);
            if (liveUpdateChannelsFollowResponse != null) {
                //to do something ......
                log.debug("测试修改频道关注公众号设置信息成功 {}", JSON.toJSONString(liveUpdateChannelsFollowResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelIds

true

String

频道号,多个频道用“,”分隔

qrCodeUrl

true

String

图片链接地址

enabled

false

String

关注公众号功能开关,为空不进行修改 Y:开启 N:关闭

autoShowEnabled

false

String

主动弹窗开关,为空不进行修改 Y:开启 N:关闭

entranceText

false

String

入口文案,最大8个字符、为空是不进行修改

tips

false

String

弹窗提示文案,最大30个字符、为空是不进行修改

返回对象描述

true为修改成功,false为返回失败


45、批量删除频道多条聊天记录

描述

根据聊天的id删除对应聊天记录
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/chat/remove-contents

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

	@Test
	public void testRemoveChatContents() throws IOException, NoSuchAlgorithmException {
        LiveRemoveChatContentsRequest liveRemoveChatContentsRequest = new LiveRemoveChatContentsRequest();
        Boolean liveRemoveChatContentsResponse;
        try {
            String channelId = super.createChannel();
            liveRemoveChatContentsRequest.setChannelId(channelId);
            liveRemoveChatContentsRequest.setIds("c71c7240-86cd-11eb-a963-e9bab7dc4d86");
            liveRemoveChatContentsResponse = new LiveChannelOperateServiceImpl().removeChatContents(
                    liveRemoveChatContentsRequest);
            Assert.assertNotNull(liveRemoveChatContentsResponse);
            if (liveRemoveChatContentsResponse != null) {
                //to do something ......
                log.debug("测试批量删除频道多条聊天记录成功 {}", JSON.toJSONString(liveRemoveChatContentsResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

单元测试说明

1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明

channelId

true

String

频道号

ids

true

String

聊天记录对应的id(多个id使用英文逗号隔开),该参数获取自【查询频道聊天记录】

返回对象描述

true为删除成功,false为删除失败

Last updated