# 直播新增

# 接口说明

URL /openapi/v1/live/add.json
描述 直播新增
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
title string 直播标题(不超过20个字符或汉字)
liveType integer 直播类型 1:常规直播 2:推流直播 3: 伪直播 4.点播视频
startTime date 直播开始时间,unix时间戳(毫秒)
duration integer 直播时长(单位为秒)
createBy string 直播创建人,不传的话短训宝后台直播列表无权限查看
shareMemberBizInfo Object 对直播有查看权限的部门、用户或角色。
assistantBizInfo Object 助教权限的部门、用户
insertVideoId string 伪直播或点播视频的视频id【伪直播或点播视频必填】
liveMode integer 直播模式 0:单节直播 1:系列直播,默认单节
circleTimes integer 点播循环次数,默认为1【伪直播使用】
templateType integer 模版类型 1 三分频 2 纯视频 3 PPT模版 4 PPT三分屏模版 5PPT横屏 6视频横屏, 默认三分屏
nickName string 直播备注名(不超过100个字符或汉字)
liveDeliverySwitch integer 直播带货开关 1:开 0:关 默认为开启 【常规直播/推流直播/伪直播使用】
playbackDtos List 回放列表【常规直播-插播视频】
videoDtos List 点播列表【1.常规直播-插播视频 2.伪直播-点播视频 3.点播视频-点播视频】
bindFids List 新增课件id列表
syncChatMsgSwitch integer 是否同步回放聊天消息 0:不同步 1:同步【伪直播使用】
isRecord integer 是否自动录制 1:是 0:否【常规直播默认关闭,其他类型默认开启】
enableRoomChatCheck integer 消息审核 0:关 1:开
enableMockSyncChatArt integer 同步回放虚拟话术, 0:关 1:开【伪直播使用】
isVideoMain integer 指定PC端是否以视频为主 1:以视频为主 2:以PPT为主 【默认是以ppt为主,该选项只针对三分屏有效)0或不传使用默认值】
misVideoMain integer 指定手机H5页面是否以视频为主 1:以视频为主 2:以PPT为主 【默认是以视频为主)0或不传使用默认值】
viewPassword string 观看密码【1-20位数字或字母组合】
playbackViewPassword string 回放观看密码【1-20位数字或字母组合】
playbackValidType integer 回放有效期设置 1:按天设置 2:按到期时间设置
playbackValidDays integer 回放有效期按"天"设置【回放有效期设置为“天”时必传】
playbackExpireTime date 回放有效期"按日期设置",unix时间戳(毫秒)【回放有效期设置为“按日期设置”时必传】
roomBgImgUrl string 直播间背景图
webBgImgUrl string web直播窗口占位图url
h5BgImgUrl string h5直播窗口占位图url
studentMicrophoneSwitch integer 有无学生上麦,0:无,1:有(默认值: 0) 【常规直播使用】
playbackSwitch integer 回放链接设置 1:开启 0:关闭,默认开启(0:直播邀约链接还是跳转到直播间,不跳转回放链接;1:直播邀约链接直接跳转到回放)
enableMockLiveGoods integer 伪直播同步回放商品功能显示开关 1:开启,0:关闭,默认关闭
enableMockLiveCoupon integer 伪直播同步回放优惠券功能显示开关 1:开启,0:关闭,默认关闭
assistList List 微信助教列表
enablePlaybackChat integer 回放支持发消息 0:关 1:开,默认关闭
enablePlaybackChatCheck integer 回放消息审核开关 0:关 1:开,默认关闭
manualPlaybackUrl string 手动指定的回放地址url
manualPlaybackInfo string 手动指定的回放视频信息,用于前端回显
presetChatArtTitle string 预设话术名称,50个字符以内【伪直播使用】
presetChatArtUrl string 预设话术url,250个字符以内,模板请参考短训宝后台。【伪直播使用】

# 直播分享人shareMemberBizInfo

字段名 字段类型 说明 是否必传
userIds List 用户id列表
orgIds List 部门id列表
roleIds List 角色id列表

请求参数

{
  "userIds": [
      "tvaRcC6RC5",
      "mPZcizqYXh",
      "Z8CdmGqkCC"
    ],
    "orgIds": [
      "LWrnEsKpZT",
      "Hm3P85txFB"
    ]
}

# 助教assistantBizInfo

字段名 字段类型 说明 是否必传
userIds List 用户id列表
orgIds List 部门id列表

请求参数

{
  "userIds": [
      "tvaRcC6RC5",
      "mPZcizqYXh",
      "Z8CdmGqkCC"
    ],
    "orgIds": [
      "LWrnEsKpZT",
      "Hm3P85txFB"
    ],
  	"roleIds": [
      441,
      455,
      454,
      445,
      2,
      9
    ]
}

# 回放列表playbackDtos和点播列表videoDtos

  • 直播回放列表参数获取接口:/openapi/v1/live/playbackList.json
  • 直播点播视频列表参数获取接口:/openapi/v1/live/videoList.json
字段名 字段类型 说明 是否必传
videoId string 视频id
name string 视频名称
status integer 视频状态
length integer 视频时长,单位为秒
prefaceUrl String 视频封面url
playUrl String 播放url

请求参数

{
      "videoId": "500142173",
      "name": "1202新增营期伪直播",
      "status": 100,
      "length": 251,
      "prefaceUrl": "http://xxxx",
      "playUrl": "https://xxxx"
}

# 微信助教列表

字段名 字段类型 说明 是否必传
customerNum string 客户中心的客户id
customerWechatName string 直播助教昵称
customerWechatAvatar string 直播助教头像
label string 标签(不超过10个字符)

请求数据

{
   "customerNum": "LBQyXSCIEa",
   "customerWechatName": "wxy1",
   "customerWechatAvatar": "http://21414",
   "label": "1"    
}

# 课件id

  • 课件上传接口:/openapi/v1/live/docUpload.jsonfid为课件的id。

# 手动指定的回放视频信息manualPlaybackInfo

  • 直播回放列表接口/openapi/v1/live/playbackList.json获取回放视频信息,转成json存储,在查看详情时可以用于回显。

请求数据

"{\"roomId\":\"25120254109837\",\"sessionId\":\"0\",\"videoId\":\"500125214\",\"name\":\"0807伪直播1-关联点播500125213\",\"status\":100,\"createTime\":\"2025-12-02 09:56:27\",\"length\":254,\"prefaceUrl\":\"http://xxxx.jpg\",\"totalTranscodeSize\":\"37194670\",\"playUrl\":\"https://xxx/web/playback/index?classid=25120254109837&token=2311\",\"playTimes\":5,\"publishStatus\":1,\"version\":0,\"playbackId\":\"154000\",\"value\":\"500125214\",\"label\":\"0807伪直播1-关联点播500125213\"}"

# 请求数据

{
  "title": "api-02", //直播标题
  "liveType": 1, //直播类型 1:常规直播 2:推流直播 3: 伪直播 4.点播视频
  "startTime": 1768444020000, //直播开始时间,unix时间戳(毫秒)
  "duration": 3600 //直播时长(单位为秒)
}

# 返回数据

{
  "msg": "",
  "code": 200,
  "data": [
    {
      "live": "123abc", // 直播记录唯一id
      "roomId": "123456789" //直播房间id
    }
  ],
  "pageDto":null
}

# 直播编辑

# 接口说明

URL /openapi/v1/live/mod.json
描述 直播编辑
请求方式 POST
需要登录
注意事项 部分字段覆盖更新,尽量带上原有字段
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
liveId string 直播唯一id
title string 直播标题(不超过20个字符或汉字)
startTime date 直播开始时间,unix时间戳(毫秒)
duration integer 直播时长(单位为秒)
shareMemberBizInfo Object 对直播有查看权限的部门、用户或角色。
assistantBizInfo Object 助教权限的部门、用户
insertVideoId string 伪直播或点播视频的视频id【伪直播或点播视频必填】
circleTimes integer 点播循环次数,默认为1【伪直播使用】
templateType integer 模版类型 1 三分频 2 纯视频 3 PPT模版 4 PPT三分屏模版 5PPT横屏 6视频横屏, 默认三分屏
nickName string 直播备注名(不超过100个字符或汉字)
liveDeliverySwitch integer 直播带货开关 1:开 0:关 默认为开启 【常规直播/推流直播/伪直播使用】
playbackDtos List 回放列表【常规直播-插播视频使用】
videoDtos List 点播列表【1.常规直播-插播视频 2.伪直播-点播视频 3.点播视频-点播视频】
bindFids List 新增课件id列表
delFids List 删除课件id列表
syncChatMsgSwitch integer 是否同步回放聊天消息 0:不同步 1:同步【伪直播使用】
isRecord integer 是否自动录制 1:是 0:否【常规直播默认关闭,其他类型默认开启】
enableRoomChatCheck integer 消息审核 0:关 1:开
enableMockSyncChatArt integer 同步回放虚拟话术, 0:关 1:开【伪直播使用】
isVideoMain integer 指定PC端是否以视频为主 1:以视频为主 2:以PPT为主 【默认是以ppt为主,该选项只针对三分屏有效)0或不传使用默认值】
misVideoMain integer 指定手机H5页面是否以视频为主 1:以视频为主 2:以PPT为主 【默认是以视频为主)0或不传使用默认值】
viewPassword string 观看密码【1-20位数字或字母组合】
playbackViewPassword string 回放观看密码【1-20位数字或字母组合】
playbackValidType integer 回放有效期设置 1:按天设置 2:按到期时间设置
playbackValidDays integer 回放有效期按"天"设置【回放有效期设置为“天”时必传】
playbackExpireTime date 回放有效期"按日期设置",unix时间戳(毫秒)【回放有效期设置为“按日期设置”时必传】
roomBgImgUrl string 直播间背景图
webBgImgUrl string web直播窗口占位图url
h5BgImgUrl string h5直播窗口占位图url
studentMicrophoneSwitch integer 有无学生上麦,0:无,1:有(默认值: 0) 【常规直播使用】
playbackSwitch integer 回放链接设置 1:开启 0:关闭,默认开启(0:直播邀约链接还是跳转到直播间,不跳转回放链接;1:直播邀约链接直接跳转到回放)
enableMockLiveGoods integer 伪直播同步回放商品功能显示开关 1:开启,0:关闭,默认关闭
enableMockLiveCoupon integer 伪直播同步回放优惠券功能显示开关 1:开启,0:关闭,默认关闭
assistList List 微信助教列表
enablePlaybackChat integer 回放支持发消息 0:关 1:开,默认关闭
enablePlaybackChatCheck integer 回放消息审核开关 0:关 1:开,默认关闭
manualPlaybackUrl string 手动指定的回放地址url
manualPlaybackInfo string 手动指定的回放视频信息,用于前端回显

# 直播分享人shareMemberBizInfo

字段名 字段类型 说明 是否必传
userIds List 用户id列表
orgIds List 部门id列表
roleIds List 角色id列表

请求参数

{
  "userIds": [
      "tvaRcC6RC5",
      "mPZcizqYXh",
      "Z8CdmGqkCC"
    ],
    "orgIds": [
      "LWrnEsKpZT",
      "Hm3P85txFB"
    ]
}

# 助教assistantBizInfo

字段名 字段类型 说明 是否必传
userIds List 用户id列表
orgIds List 部门id列表

请求参数

{
  "userIds": [
      "tvaRcC6RC5",
      "mPZcizqYXh",
      "Z8CdmGqkCC"
    ],
    "orgIds": [
      "LWrnEsKpZT",
      "Hm3P85txFB"
    ],
  	"roleIds": [
      441,
      455,
      454,
      445,
      2,
      9
    ]
}

# 回放列表playbackDtos和点播列表videoDtos

  • 直播回放列表参数获取接口:/openapi/v1/live/playbackList.json
  • 直播点播视频列表参数获取接口:/openapi/v1/live/videoList.json
字段名 字段类型 说明 是否必传
videoId string 视频id
name string 视频名称
status integer 视频状态
length integer 视频时长,单位为秒
prefaceUrl string 视频封面url
playUrl string 播放url

请求参数

{
      "videoId": "500142173",
      "name": "1202新增营期伪直播",
      "status": 100,
      "length": 251,
      "prefaceUrl": "http://xxxx",
      "playUrl": "https://xxxx"
}

# 微信助教列表assistList

字段名 字段类型 说明 是否必传
id string 唯一id
customerNum string 客户中心的客户id
customerWechatName string 直播助教昵称
customerWechatAvatar string 直播助教头像
length string 标签(不超过10个字符)

请求数据

{
   "id":"231312abc",
   "customerNum": "LBQyXSCIEa",
   "customerWechatName": "wxy1",
   "customerWechatAvatar": "http://21414",
   "label": "1"    
}

# 课件id

  • 课件上传接口:/openapi/v1/live/docUpload.jsonfid为课件的id。

# 手动指定的回放视频信息manualPlaybackInfo

  • 直播回放列表接口/openapi/v1/live/playbackList.json获取回放视频信息,转成json存储,在查看详情时可以用于回显。

请求数据

"{\"roomId\":\"25120254109837\",\"sessionId\":\"0\",\"videoId\":\"500125214\",\"name\":\"0807伪直播1-关联点播500125213\",\"status\":100,\"createTime\":\"2025-12-02 09:56:27\",\"length\":254,\"prefaceUrl\":\"http://xxxx.jpg\",\"totalTranscodeSize\":\"37194670\",\"playUrl\":\"https://xxx/web/playback/index?classid=25120254109837&token=2311\",\"playTimes\":5,\"publishStatus\":1,\"version\":0,\"playbackId\":\"154000\",\"value\":\"500125214\",\"label\":\"0807伪直播1-关联点播500125213\"}"

# 请求数据

{
  "liveId": "123abc", //直播id
  "title": "api-02" //直播标题
}

# 返回数据

{
  "msg": "",
  "code": 200,
  "data": "",
  "pageDto":null
}

# 直播详情

# 接口说明

URL /openapi/v1/live/detail.json
描述 直播详情
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
liveId string 直播id

# 请求数据

{
  "liveId":"123abc"
}

# 返回数据

{
    "msg": "",
    "code": 200,
    "data": {
        "liveId": "123abc", //直播id
        "title": "api-02-02", //直播标题
        "nickName": null,//直播备注
        "liveType": 1, //直播类型 1:常规直播 2:推流直播 3: 伪直播 4.点播视频
        "liveTypeDesc": "常规直播",//直播类型描述
        "insertVideoId": "", //伪直播或点播视频的视频id
        "insertVideoName": null,//伪直播或点播视频的视频名称
        "playbackDtos": null,//常规直播-插播视频使用的回放视频列表
        "videoDtos": null,//1.常规直播-插播视频 2.伪直播-点播视频 3.点播视频-点播视频
        "circleTimes": 0,//伪直播使用的点播循环次数
        "startTime": "2026-01-16 19:45:19",//直播开始时间
        "endTime": "2026-01-16 20:45:19",//直播结束时间
        "duration": 3600,//直播时长
        "liveDeliverySwitch": 1,//直播带货开关 1:开 0:关 默认为开启 【常规直播/推流直播/伪直播使用】
        "status": 2,//直播状态 0:未开始 1:进行中 2:已结束 3:已取消
        "statusDesc": "已结束",//直播状态描述
        "studentMicrophoneSwitch": 0,//有无学生上麦,0:无,1:有(默认值: 0) 【常规直播使用】
        "templateType": 1,//模版类型 1 三分频 2 纯视频 3 PPT模版 4 PPT三分屏模版 5PPT横屏 6视频横屏, 默认三分屏
        "isPrivate": 0,
        "virtualCount": 4,
        "virtualMultiple": 1,
        "virtualSpeechSwitch": 0,
        "syncChatMsgSwitch": 0, //是否同步回放聊天消息 0:不同步 1:同步【伪直播使用】
        "docList": [], //课件详情
        "videoDocList": [],//视频课件详情
        "isRecord": 0, //是否自动录制 1:是 0:否【常规直播默认关闭,其他类型默认开启】
        "enableRoomChatCheck": 0, //消息审核 0 关 1 开
        "enableMockSyncChatArt": 0, //同步回放虚拟话术, 0:关 1:开【伪直播使用】
        "shareMemberBizInfo": null,
        "assistantBizInfo": null,
        "liveMode": 0, //直播模式 0:单节 1:系列,默认单节
        "presetChatArtTitle": null,
        "presetChatArtUrl": null,
        "isVideoMain": 1, //指定PC端是否以视频为主 1:以视频为主 2:以PPT为主 【默认是以ppt为主,该选项只针对三分屏有效)0或不传使用默认值】
        "misVideoMain": 1, //指定手机H5页面是否以视频为主 1:以视频为主 2:以PPT为主 【默认是以视频为主)0或不传使用默认值】
        "playbackValidType": null,//回放有效期设置 1:按天设置 2:按到期时间设置
        "playbackValidDays": null,//回放有效期按"天"设置
        "playbackExpireTime": null,//回放有效期"按日期设置",unix时间戳(毫秒)
        "roomBgImgUrl": null,//直播间背景图url
        "webBgImgUrl": null,//web直播窗口占位图url
        "h5BgImgUrl": null,//h5直播窗口占位图url
        "playbackSwitch": 1,//回放链接设置 1:开启 0:关闭,默认开启
        "enableMockLiveGoods": 0,//伪直播同步回放商品功能显示开关 1:开启,0:关闭,默认关闭
        "enableMockLiveCoupon": 0,//伪直播同步回放优惠券功能显示开关 1:开启,0:关闭,默认关闭
        "assistList": null,//微信助教列表
        "playbackViewPassword": null,// 回放观看密码【1-20位数字或字母组合】
        "enablePlaybackChat": 0,//回放支持发消息  0:关 1:开,默认关闭
        "enablePlaybackChatCheck": 0,//回放消息审核开关  0:关 1:开,默认关闭
        "globalBlackListSwitch": 1,
        "manualPlaybackUrl": "",//手动指定的回放地址url
        "manualPlaybackInfo": null,//手动指定的回放视频信息,用于前端回显
        "roomId": "26011695977767"//房间id
    },
    "pageDto": null
}

# 直播列表

# 接口说明

URL /openapi/v1/live/list.json
描述 直播列表
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
title string 直播主题
roomId string 直播间id
pageDto object 分页对象
bizNum string 子商户number。多商户模式下可指定查询具体子商户下的数据
status integer 直播状态 0:未开始 1:进行中 2:已结束

# 分页对象

字段名 字段类型 说明 是否必传
pageSize number 页大小 是。区间 (0,100]
pageNum number 页码 是。从1开始

# 请求数据

{
  "pageDto":{
    "pageSize": 2,
    "pageNum": 1
  }
}

# 返回数据

{
  "msg": "",
  "code": 200,
  "data": [
    {
      "id": "z2v9ZUHqhL", // 直播记录唯一ID
      "title": "关键词", // 直播主题
      "roomId": "24010370084214", // 房间ID
      "bizNum": "abcdefg", // 商户编号
      "bizName": "商户名",
      "liveType": 1, // 直播类型 1:常规直播 2:推流直播 3:伪直播
      "liveTypeDesc": "常规直播", // 直播类型描述
      "startTime": 1717416742000, // 开始时间
      "status": 2, // 直播状态  0:未开始 1:进行中 2:已结束 3:已取消
      "statusDesc": "已结束", // 直播状态描述
      "currentCount": 0, // 实时人数。在多商户模式下,通过主商户查询时,结果包含子商户的实时人数
      "totalCount": 2, // 累计人数。在多商户模式下,通过主商户查询时,结果包含子商户的累计人数
      "endTime": 1717416742000, // 结束时间
      "wxShareConfig": "{coverUrl: https://duanxunbao-test.oss-cn-beijing.d4.jpg}", // 微信分享配置
      "h5Url": "https://a.test-dxb.baijiayun.com/s/RfpfID8sGl",  // 会议邀请链接
      "appletInviteQrCode": "https://duanxunbao-test.oss-cn-beijing.aliyuncs.com/dxb/1/20250324/i=RfpfI9Y3PU&c=0.jpeg",  // 小程序邀请链接
      "appletShortUrl": "#小程序://千云SCRM/gXedkQ7HrnB4MCm", // 小程序短链接
      "appletPath": "pages/live/enter?scene=i%3DRfpfI9Y3PU%26c%3D0"  // 小程序路径
    }
  ],
  "pageDto": {
    "count": 1890, // 总数
    "pageNum": 1,
    "pageSize": 3
  }
}

# 直播统计-客户数据列表

# 接口说明

URL /openapi/v1/live/customerList.json
描述 直播统计-客户数据列表
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
roomId string 房间ID
pageDto object 分页对象
isJoinLive number 是否观看直播 0:否 1:是
isNewUser number 是否是新用户 0:否 1:是
startViewMinutes number 开始观看时间 分钟为单位
endViewMinutes number 结束观看时间 分钟为单位
bizNum string 子商户number。多商户模式下可指定查询具体子商户下的数据

# 分页对象

字段名 字段类型 说明 是否必传
pageSize number 页大小 是。区间 (0,100]
pageNum number 页码 是。从1开始

# 请求数据

{
  "pageDto":{
    "pageSize": 1,
    "pageNum": 1
  },
  "roomId":"24010370084214"
}

# 返回数据

{
  "msg": "",
  "code": 200,
  "data": [
    {
      "num": "z2nlRJYjQ0", // 记录唯一ID
      "customerNum": "zQ65uf3K9k", // 客户中心-客户ID
      "customerName": "陈家强", // 客户中心-客户名称
      "customerWechatName": "陈家强", // 客户中心-客户微信昵称
      "customerWechatAvatar": "http://wx.qlogo.cn/mmhead/1CHHx9Yq4nEEK8JT0Y7VT2NWANZArh6JFibw5icKgWuzeibp4Fk8NIdiaA/0", // 客户中心-客户微信头像
      "customerMobile": "13554330890", // 客户中心-客户手机号
      "unionId": "odzSQxDKpmL13cKHlyaj0YKj2tJ9", // 客户中心-客户微信unionId
      
      "isJoinLive": 1, // 是否观看直播
      "isJoinLiveStr": "是", // 是否观看直播描述
      "isNewUser": "否", // 是否是新用户
      "inviterName": "Claire", // 邀请人
      "inviterType": "用户", // 邀请人类型 (用户:短训宝系统用户)
      "inviterAvatar": null,
      "goodsClickCount": 0, // 商品点击次数
      "orderCount": 0, // 订单数
      "orderTotalAmount": "0", // 订单总金额
      "couponReceiveCount": 0, // 领取优惠券数量
      "msgCount": 0, // 发消息条数
      "msgHitCount": 0, // 关键词命中数
      "totalViewDurationStr": "0:00:08", // 累计观看时长
      "liveCompleteRate": "0.03%", // 完课率
      "channelName": "",
      "ip": "122.190.49.33",
      "city": "武汉市",
      "bizName": "XXXX科技", // 商户名称
      
      "inviteCustomerNum": "znFGgHQSuO", // 转发客户 客户中心-客户ID
      "inviteCustomerName": "Claire", // 转发客户的名称
      "inviteCustomerMobile": null, // 转发客户的手机号
      "inviteCustomerAvatar": "https://thirdwx.qlogo.cn/mmopen/vi_32/Q3auHgzwzM77BeVasoKI5WanvgRnbVY9KJqVWJHkCAwwbqsTKnoFDGI9YmNRETWP8oDkaBIjJl2WicWHicCicgqiaA/132", // 转发客户的头像
      "inviteCustomerXcxNickName": null, // 转发客户的小程序昵称
      "inviteCustomerXcxAvatar": null, // 转发客户的小程序头像
      "inviteCustomerOfficialNickName": "Claire", // 转发客户的公众号昵称
      "inviteCustomerOfficialAvatar": "https://thirdwx.qlogo.cn/mmopen/vi_32/zpMOcSja25jLwShElkZ8wcoG7icpRTbD0iaJRBKAWr3jvDrqKeCFtrnz4D5ORicG7wyPZawhibmm4EFy5obWAhnVtg/132", // 转发客户的公众号头像
      "inviteCustomerWechatName": "Claire", // 转发客户的微信昵称
      "inviteCustomerWechatAvatar": "http://wx.qlogo.cn/mmhead/XxT9TiaJ1ibf1iaJq6DibPODBR2PR016NLhmibkzKcSVRFicoIW2rkaaBXSw/0", // 转发客户的微信头像
      "inviteCustomerWeworkAvatar": "http://wx.qlogo.cn/mmhead/XxT9TiaJ1ibf1iaJq6DibPODBR2PR016NLhmibkzKcSVRFicoIW2rkaaBXSw/0", // 转发客户的企业微信头像
      "inviteCustomerWeworkMobile": "", // 转发客户的企业微信手机号
      "customerInviteCount": 0, // 转发观看人数

      "name": "陈家强", // 直播间客户名称
      "avatar": "https://thirdwx.qlogo.cn/mmopen/vi_32/ia9cNARHicTDmmefEEia45Am1T4wqYdib4SLkrN4MBicjacawUKvqJOIjKjcZfn7Mb4qyOQHK5YMjR8bPHpF25LHYrA/132", // 直播间客户头像
      "mobile": null, // 直播间客户手机号

      "bjyUserName": "陈家强", // 百家云直播昵称
      "bjyMobile": null, // 百家云直播手机号

      "xcxNickName": null, // 客户小程序昵称
      "xcxAvatar": null, // 客户小程序头像

      "officialNickName": "陈家强", // 客户公众号昵称
      "officialAvatar": "https://thirdwx.qlogo.cn/mmopen/vi_32/Uiah7txL6O8qHA5OKFQZG3bCdADCIj5CffnOjN0YSfM5uxghqV6zWrLx8lxJ5UZ5HO1l0UzcGRicob21hcYvdmSg/132", // 客户公众号头像

      "weworkName": "陈家强", // 企业微信昵称
      "weworkAvatar": "http://wx.qlogo.cn/mmhead/1CHHx9Yq4nEEK8JT0Y7VT2NWANZArh6JFibw5icKgWuzeibp4Fk8NIdiaA/0", // 企业微信头像
      "weworkMobile": null // 企业微信手机号
    }
  ],
  "pageDto": {
    "count": 7,
    "pageNum": 1,
    "pageSize": 1
  }
}

# 直播-邀请链接

# 接口说明

URL /openapi/v1/live/weworkInvite/list.json
描述 直播-邀请链接
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
liveId string 直播ID
userIds List 查询的用户num

# 分页对象

字段名 字段类型 说明 是否必传
pageSize number 页大小 是。区间 (0,100]
pageNum number 页码 是。从1开始

# 请求数据

{
  "liveId": "AdKlsdcNUK",
  "userIds": ["Lqnr2ZlAlL"],
  "pageDto": {
    "pageNum": 1,
    "pageSize": 20
  }
}

# 返回数据

{
  "msg": "",
  "code": 200,
  "data": [
    {
      "num": "AdA2gfek4R",     // 链接的ID
      "userId": "Lqnr2ZlAlL",  // 邀请人UserId
      "userName": "雪青",      //  邀请人名称
      "inviteUrl": "https://test-dxb.baijiayun.com/s/AdA2goSd0B",    // 邀请链接
      "appletInviteQrcode": "https://duanxunbao-test.oss-cn-beijing.aliyuncs.com/dxb/1/20241206/i=AdA2gfek4R&c=0.jpeg",   // 小程序邀请二维码
      "appletShortUrl": "#小程序://千云SCRM/dYV36oacsk0bUHG",    // 小程序短链
      "appletPathUrl": "xxxxxx",  // 小程序path路径 
      "bizName": "武汉起云"   // 商名称
    }
  ],
  "pageDto": {
    "count": 0,
    "curPageCount": null,
    "pageNum": 1,
    "pageSize": 20,
    "needCount": true,
    "totalPageNum": 0,
    "offset": 0
  }
}

# 直播-回放链接列表

# 接口说明

URL /openapi/v1/live//weworkInvite/playbackList.json
描述 直播-回放链接列表
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
liveId string 直播ID
userIds List 查询的用户num

# 分页对象

字段名 字段类型 说明 是否必传
pageSize number 页大小 是。区间 (0,100]
pageNum number 页码 是。从1开始

# 请求数据

{
  "liveId": "Ad5wvuZBpo",
  "pageDto": {
    "pageNum": 1,
    "pageSize": 20
  }
}

# 返回数据

{
  "msg": "",
  "code": 200,
  "data": [
    {
      "num": "Ad7XTnmzI0",   // 回放链接ID
      "userId": "-1",      // 用户的num
      "userName": "无员工",   // 用户名称
      "inviteUrl": "https://test-dxb.baijiayun.com/s/Ad7XTBC6Yb",   // 回放邀请链接
      "appletInviteQrcode": "https://duanxunbao-test.oss-cn-beijing.aliyuncs.com/dxb/1/20241206/i=Ad7XTnmzI0&c=1.jpeg",   // 回放小程序二维码
      "appletShortUrl": "#小程序://千云SCRM/9bCOJiCQUb4WZag",   // 回放小程序短链
      "bizName": "新增子商户lqy"   // 商户名称
    }
  ],
  "pageDto": {
    "count": 0,
    "curPageCount": null,
    "pageNum": 1,
    "pageSize": 20,
    "needCount": true,
    "totalPageNum": 0,
    "offset": 0
  }
}

# 直播-直播间评论

# 接口说明

URL /openapi/v1/live/chatMsg.json
描述 直播-直播间评论
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
liveId string 直播ID
id long 评论ID 非必传,传参之后取id 之后的数据(包含id)

# 分页对象

字段名 字段类型 说明 是否必传
pageSize number 页大小 是。区间 (0,100]
pageNum number 页码 是。从1开始

# 请求数据

{
  "liveId": "xxxxx",
  "id": 100,  // long 类型,非必传,传参之后取id 之后的数据
  "pageDto": {
    "pageNum": 1,
    "pageSize": 20
  }
}

# 返回数据

{
  "msg": "",
  "code": 200,
  "data": [
    {
      "userNumber": "485",
      "name": "奶茶猫子",
      "avatar": "https://duanxunbao-test.oss-cn-beijing.aliyuncs.com/dxb/1/20240318/06fb5bea-970b-4508-a5c3-c4dbe03df918.jpg",
      "unionId": "odzSQxEiost0_Zg5OBIEHr-4o2Gg",
      "mobile": "17720554287",
      "sendTime": "2025-01-03 15:43:57",
      "content": "[汗颜][汗颜]",
      "isVirtualChat": 0,
      "createTime": "2025-01-03 15:44:03",
      "id": 22356,
      "customerNum": "LBQyXSCIEa"
    }
  ],
  "pageDto": {
    "count": 0,
    "curPageCount": null,
    "pageNum": 1,
    "pageSize": 20,
    "needCount": true,
    "totalPageNum": 0,
    "offset": 0
  }
}

# 直播-直播间用户观看时长

# 接口说明

URL /openapi/v1/live/customerInfo.json
描述 直播-直播间用户数据
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
liveId string 直播ID
classDate Date 长期房间需要选择日期

# 分页对象

字段名 字段类型 说明 是否必传
pageSize number 页大小 是。区间 (0,100]
pageNum number 页码 是。从1开始

# 请求数据

{
  "liveId": "xxxxx",
  "classDate": 1739894399000, 
  "pageDto": {
    "pageNum": 1,
    "pageSize": 20
  }
}

# 返回数据

{
  "msg": "",
  "code": 200,
  "data": [
    {
      "customerNum": "LBQyXSCIEa",
      "wechatName": "wxy1",
      "avatar": "http://wx.qlogo.cn/mmhead/1CHHx9Yq4nFV8NLcYvFrRu9anxiaxh5icx1fuFMyvwHich6ZdnIicJTiaibw/0",
      "mobile": "15671557393",
      "unionId": "odzSQxAniMWX21nQz_wJWDtNf1YE",
      "joinTime": "2025-01-02 15:58:08",
      "quitTime": "2025-01-02 16:04:20",
      "joinCount": 1,
      "duration": 342
    }
  ],
  "pageDto": {
    "count": 0,
    "curPageCount": null,
    "pageNum": 1,
    "pageSize": 20,
    "needCount": true,
    "totalPageNum": 0,
    "offset": 0
  }
}

# 用户观看回放时长

# 接口说明

URL /openapi/v1/live/playbackDuration.json
描述 用户观看回放时长
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
liveId string 直播ID
classDate Date 长期房间需要选择日期

# 分页对象

字段名 字段类型 说明 是否必传
pageSize number 页大小 是。区间 (0,100]
pageNum number 页码 是。从1开始

# 请求数据

{
  "liveId": "xxxxx",
  "classDate": 1739894399000, 
  "pageDto": {
    "pageNum": 1,
    "pageSize": 20
  }
}

# 返回数据

{
  "msg": "",
  "code": 200,
  "data": [
    {
      "customerNum": "LBQyXYbABS",
      "wechatName": "顾问@初夏一抹",
      "avatar": "http://wx.qlogo.cn/mmhead/Tjnia6K0WAwyfzhtJ5DBAnOpMOvmyyPCJ7cbXegJibDiaCnZPYk7ZMp1g/0",
      "mobile": "18986127194",
      "unionId": "odzSQxKVXEN06yWDI3tepDynzzDo",
      "joinTime": "2025-01-08 09:35:55",
      "quitTime": "2025-01-08 09:38:31",
      "joinCount": 1,
      "playbackDuration": 277
    }
  ],
  "pageDto": {
    "count": 0,
    "curPageCount": null,
    "pageNum": 1,
    "pageSize": 20,
    "needCount": true,
    "totalPageNum": 0,
    "offset": 0
  }
}

# 员工邀请数据: 邀请人数,实到人数

# 接口说明

URL /openapi/v1/live/inviteUsers.json
描述 员工邀请数据
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
liveId string 直播ID
classDate Date 长期房间需要选择日期

# 分页对象

字段名 字段类型 说明 是否必传
pageSize number 页大小 是。区间 (0,100]
pageNum number 页码 是。从1开始

# 请求数据

{
  "liveId": "xxxxx",
  "classDate": 1739894399000, 
  "pageDto": {
    "pageNum": 1,
    "pageSize": 20
  }
}

# 返回数据

{
  "msg": "",
  "code": 200,
  "data": [
    {
      "userId": "YC10SMyJfs",
      "userName": "孟程程2",
      "inviteCustomerCount": 1,
      "realArriveCount": 1
    }
  ],
  "pageDto": {
    "count": 0,
    "curPageCount": null,
    "pageNum": 1,
    "pageSize": 20,
    "needCount": true,
    "totalPageNum": 0,
    "offset": 0
  }
}

# 员工邀请客户的列表

# 接口说明

URL /openapi/v1/live/inviteCustomers.json
描述 员工邀请客户的列表
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
liveId string 直播ID
userId string 成员ID
classDate Date 长期房间需要选择日期

# 分页对象

字段名 字段类型 说明 是否必传
pageSize number 页大小 是。区间 (0,100]
pageNum number 页码 是。从1开始

# 请求数据

{
  "liveId": "xxxxx",
  "userId": "AQN6ge5I5L",
  "classDate": 1739894399000, 
  "pageDto": {
    "pageNum": 1,
    "pageSize": 20
  }
}

# 返回数据

{
  "msg": "",
  "code": 200,
  "data": [
    {
      "userId": "YC10SMyJfs",
      "userName": "孟程程2",
      "customerNum": "LBQyXSCIEa",
      "customerName": "wxy1",
      "customerAvatar": "https://duanxunbao-test.oss-cn-beijing.aliyuncs.com/dxb/1/20240807/08d4364e-0f20-4332-b1a8-b9b1dbe88c3d.jpg",
      "customerJoinTime": "2025-01-02 15:58:08",
      "customerQuitTime": "2025-01-02 16:04:20",
      "customerDuration": "0:05:42"
    }
  ],
  "pageDto": {
    "count": 0,
    "curPageCount": null,
    "pageNum": 1,
    "pageSize": 20,
    "needCount": true,
    "totalPageNum": 0,
    "offset": 0
  }
}

# 获取客户进入直播的链接

# 接口说明

URL /openapi/v1/live/getLiveEnterUrl.json
描述 获取客户进入直播的链接
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
customerNum string 客户唯一ID
roomId string 直播间ID
inviteUserId string 邀请员工ID
shareUrl string 分享链接
isPlayback number 是否进回放,1是 0否

# 请求数据

{
  "customerNum": "yvolboO8rc",
  "roomId": "25061864663149"
}

# 返回数据

{
  "msg": "",
  "code": 200,
  "data": {
    "url": "https://exxxxxxx.at.baijiayun.com/web/room/enter?room_id=25061864663149....."
  }
}

说明:通过返回的url链接,可以让客户直接进到直播间内,跳过授权等逻辑。

# 获取助教进入直播间的url

# 接口说明

URL /openapi/v1/live/getAssistUrl.json
描述 获取助教进入直播间的url
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
liveId string 直播id
assistUserId string 助教id

# 请求数据

{
  "liveId": "123abc",
  "assistUserId": "456efg"
}

# 返回数据

{
  "msg": "",
  "code": 200,
  "data": "https://xxxx", //助教进直播的链接
  "pageDto": null
}

# 直播点播视频列表

# 接口说明

URL /openapi/v1/live/videoList.json
描述 直播点播视频列表
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
name string 视频名称
pageDto Object 分页对象

# 分页对象

字段名 字段类型 说明 是否必传
pageSize number 页大小 是。区间 (0,100]
pageNum number 页码 是。从1开始

# 请求数据

{
  "pageDto": {
    "pageNum": 1,
    "pageSize": 20
  }
}

# 返回数据

{
    "msg": "",
    "code": 200,
    "data": [
        {
            "videoId": "123456789", //视频id
            "status": 100, //视频状态
            "totalSize": 7405666, //视频大小
            "length": 255, //视频时长
            "publishStatus": 1,
            "name": "点播视频111", //视频名称
            "createTime": "2025-08-07 09:30:16", //视频创建时间
            "prefaceUrl": "http://xxx.jpg", //视频封面url
            "playUrl": "https://xxx", //播放url
            "category": null,
            "categoryLevel1Id": null,
            "categoryLevel2Id": null,
            "categoryLevel3Id": null,
            "categoryLevel4Id": null,
            "categoryLevel5Id": null
        }
    ],
    "pageDto": {
        "count": 183,
        "curPageCount": 20,
        "pageNum": 1,
        "pageSize": 20,
        "needCount": true,
        "offset": 0,
        "totalPageNum": 10
    }
}

# 直播回放视频列表

# 接口说明

URL /openapi/v1/live/playbackList.json
描述 直播回放视频列表
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
name string 视频名称
roomId string 房间id
pageDto Object 分页对象

# 分页对象

字段名 字段类型 说明 是否必传
pageSize number 页大小 是。区间 (0,100]
pageNum number 页码 是。从1开始

# 请求数据

{
  "pageDto": {
    "pageNum": 1,
    "pageSize": 20
  }
}

# 返回数据

{
    "msg": "",
    "code": 200,
    "data": [
        {
            "roomId": "123467777", //房间id
            "sessionId": "0",
            "videoId": "1231231", //视频id
            "name": "伪直播0115", //视频名称
            "status": 100, //视频状态
            "createTime": "2026-01-15 13:01:56", //创建时间
            "length": 248, //视频长度
            "prefaceUrl": "http://xxx.jpg",//封面url
            "totalTranscodeSize": "35335475", //视频转码后大小
            "playUrl": "https://xxx", //播放url
            "playTimes": 0,
            "publishStatus": 1,
            "version": 0,
            "playbackId": "154846"//回放id(未使用)
        }
    ],
    "pageDto": {
        "count": 1126,
        "curPageCount": 20,
        "pageNum": 1,
        "pageSize": 20,
        "needCount": true,
        "offset": 0,
        "totalPageNum": 57
    }
}

# 直播课件上传

# 接口说明

URL /openapi/v1/live/docUpload.json
描述 直播课件上传
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
file form-data 上传的课件

# 返回数据

{
    "msg": "",
    "code": 200,
    "data": {
        "fid": "1740267", //课件id
        "name": "2025w6dsnPNH1t1763085257.png",//课件名称
        "bindId": null,
        "filePath": null
    },
    "pageDto": null
}

# 直播虚拟人数设置

# 接口说明

URL /openapi/v1/live/virtualMemberConfig.json
描述 直播虚拟人数设置
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
liveId string 直播id
virtualCount integer 虚拟人数
virtualMultiple integer 虚拟倍数

# 请求数据

{
  "liveId": "abc1231",
  "virtualCount": 4,
  "virtualMultiple": 1
}

# 返回数据

{
    "msg": "",
    "code": 200,
    "data": "",
    "pageDto": null
}

# 编辑伪直播预设话术

# 接口说明

URL /openapi/v1/live/modPresetChatArt.json
描述 编辑伪直播预设话术
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
liveId string 直播id
file string 预设话术模板上传后的url
title string 预设话术名称

# 请求数据

{
  "liveId":"111abc",
  "file":"https://xxx",
  "title":"预设话术123"
}

# 返回数据

{
    "msg": "",
    "code": 200,
    "data": "",
    "pageDto": null
}

# 删除伪直播预设话术

# 接口说明

URL /openapi/v1/live/deletePresetChatArt.json
描述 删除伪直播预设话术
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
liveId string 直播id

# 请求数据

{
  "liveId":"111abc"
}

# 返回数据

{
    "msg": "",
    "code": 200,
    "data": "",
    "pageDto": null
}

# 校验伪直播预设话术模板是否可以导入

# 接口说明

URL /openapi/v1/live/checkMockPresetChatArt.json
描述 校验伪直播预设话术模板是否可以导入
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
file string 预设话术模板上传后的url

# 请求数据

{
  "file":"https://"
}

# 返回数据

{
    "msg": "",
    "code": 200,
    "data": "",
    "pageDto": null
}

# 设置直播间的参与中奖的用户

# 接口说明

URL /openapi/v1/live/setReserveJoinAwardUsers.json
描述 设置直播间的参与中奖的用户
请求方式 POST
需要登录
注意事项
其他

# 请求参数说明

字段名 字段类型 说明 是否必传
roomId string 房间ID
customerNums string 数组 参与中奖的客户ID数组 是。

# 请求数据

{
  "roomId": "12345678901234",
  "customerNums": [ "VcSYTxECWO", "VcFPtDkL9s", "VczcWJZQh9" ]
}

# 返回数据

{
    "msg": "",
    "code": 200,
    "data": "",
    "pageDto": null
}