伯索开放平台
首页API文档
SDK文档伯索官网
首页API文档
SDK文档伯索官网
  1. 事件推送
  • Open API 主要功能
  • Open API集成常用场景
  • 数据字典
  • 接入须知
    • 调用流程
    • 在线调试
    • 通用错误码
  • 用户管理
    • 添加用户
      POST
    • 修改密码
      POST
    • 删除用户
      POST
    • 更新用户
      POST
    • 用户精确查询
      POST
    • 查询多个用户
      POST
    • 用户访问Token
      POST
    • 验证用户Token有效期
      POST
    • 批量添加用户
      POST
    • 恢复删除的用户
      POST
    • 设置学生属性(是否跟随/是否加联/分配课程顾问)
      POST
    • 学生随机分配课程顾问(V2)
      POST
  • 班级管理
    • 创建班级
      POST
    • 更新班级
      POST
    • 删除班级
      POST
    • 查询班级列表
      POST
    • 向班级中添加学生
      POST
    • 从班级中移除学生
      POST
    • 更换学生所在班级
      POST
    • 老师列表中查询机构分校学科
      POST
    • 根据班级获取获取班级详情和人员信息
      POST
    • 批量绑定老师到班级
      POST
  • 教材包管理
    • 查询机构教材包
    • 查询教材包内教材
    • 向学生分发教材包
  • 实时课堂管理
    • 创建实时课堂
    • 创建实时课堂(班)
    • 更新实时课堂
    • 更新实时课堂(班)
    • 删除实时课堂
    • 查询实时课堂列表
    • 更新实时课堂下听众用户
    • 获取实时课堂监控地址
    • 控制单个学员是否可以回看单次课
    • 获取单个课堂的回看地址
    • 删除单个历史课堂
    • 获取课堂考勤数据
    • 获取历史课堂信息
    • 获取历史课堂观看数据
    • 获取课堂互动信息
    • 获取课堂列表(新)
    • 获取实时课堂旁听链接
    • 获取极速直播推流地址
    • 获取课堂下板书图片
  • 学情数据
    • 获取学生课堂明细数据
    • 获取学生巩固明细数据
    • 获取学生测验明细数据
    • 获取学生辅导明细数据
    • 获取学生积分明细数据
    • 获取学生课程统计数据
    • 获取学生课程详情统计数据
  • 商城管理
    • 获取商品详情
    • 获取商品列表
    • 获取分校自定义商品栏目列表
    • 订单查询
    • 订单详情查询
  • 作业管理
    • 查询学生作业列表
    • 查询老师作业列表
  • 测验管理
    • 查询机构测评列表
    • 获取测评统计
    • 查询机构测验列表
    • 获取测验明细
  • 积分管理
    • 机构积分规则
    • 查下学生当前积分数
    • 查下机构每天的积分明细记录
  • 课程顾问
    • 新建课程顾问
    • 编辑课程顾问
    • 查询课程顾问
    • 停用/启用课程顾问
    • 更新课程顾问密码
  • 事件推送
    • 事件推送机制
    • 事件推送接入指南
  1. 事件推送

事件推送接入指南

事件推送接入指南
用于接收事件消息通知的URL必须为外网可访问的地址,不能携带参数。
开发者在接收到事件通知后,需根据事件类型(eventType)来转换为对应的详细的事件数据。
强烈要求开发者验证消息签名是否一致
开发者接收推送消息
结构体说明
eventInfo 本质上是一个Json字符串。 需要转换为对象后,会有三个固定的结构体。
同时events数组也需要根据不同的eventType定义转成对应的业务数据对象。
eventType: 字符串,事件类型。对应上述事件代码,开发者根据此类型处理对应业务
meetingId: int类型,课堂Id
events: 事件详细内容 (详细说明,见具体事件类型)

一. 课堂报告数据 (eventType = "report")#

课堂结束后,会触发课堂基本报告数据的回调。
1.
事件报文格式说明 ( events可以转换的结构体)
{
    
    meetingId: 客户自行生成的课堂/会议唯一ID;
    appId: 机构id;
    recordId: 本段历史课堂id,一堂课可能因为各种原因中断,生成多段历史课堂;
    beginTime: 课堂开始的Unix Epoch时间戳,从第一个人进入课堂开始计时,单位毫秒;
    endTime: 课堂结束的Unix Epoch时间戳(毫秒);
    recordBegin: 开始录制的Unix Epoch时间戳(毫秒)
    duration: 本段课堂的实际时长,单位秒;

    userCount: 课堂总共人数;
    listenerCount: 参与的听众数即学生人数;

    userCS: 所有用户在线总秒数(不包括主讲老师);
    teacherCS: 老师助教在线总秒数;(主讲老师在线总秒数)
    signInNum: 课堂发起的签到次数;

    members: [ {
        userId: 课堂参与者id;
        roleType: 角色;
        onlineDuration: 在线时长(秒);
        joinClassTime: 进入课堂时间;
        leaveClassTime: 离开课堂时间;
        scoreAward: 课堂积分;
        duraOnstage: 上台时长(秒);
        numRaise: 举手次数;
        numOpenAudio: 开麦次数;
        rateExamCorrect: 随堂测正确率,-1表示未答;
        numExamCorrect:随堂测答对数;
     }]
}
参考样例:
{
    "appId": "zk",
    "validBegin": 1779796949,
    "validTime": 1200,
    "eventInfo": "{\"eventType\":\"report\",\"meetingId\":\"26226681\",\"events\":{\"appId\":\"zk\",\"meetingId\":\"26226681\",\"recordId\":\"6a156764a5a2d800014add60\",\"orgId\":592,\"beginTime\":1779787620465,\"endTime\":1779787839133,\"recordBegin\":1779787622535,\"duration\":215,\"userCount\":3,\"listenerCount\":2,\"userCS\":0,\"teacherCS\":216,\"members\":[{\"userId\":\"0_19035\",\"roleType\":1,\"attend\":1,\"onlineDuration\":216,\"joinClassTime\":1779787620507,\"leaveClassTime\":1779787836853,\"scoreAward\":0,\"duraOnstage\":218,\"numRaise\":0,\"numOpenAudio\":0,\"rateExamCorrect\":-1,\"numExamCorrect\":-1,\"memberSignCount\":0},{\"userId\":\"0_891705\",\"roleType\":3,\"attend\":0,\"onlineDuration\":0,\"joinClassTime\":0,\"leaveClassTime\":0,\"scoreAward\":0,\"duraOnstage\":0,\"numRaise\":0,\"numOpenAudio\":0,\"rateExamCorrect\":-1,\"numExamCorrect\":0,\"memberSignCount\":0},{\"userId\":\"302_1700543\",\"roleType\":3,\"attend\":0,\"onlineDuration\":0,\"joinClassTime\":0,\"leaveClassTime\":0,\"scoreAward\":0,\"duraOnstage\":0,\"numRaise\":0,\"numOpenAudio\":0,\"rateExamCorrect\":-1,\"numExamCorrect\":0,\"memberSignCount\":0},{\"userId\":\"1_32662548\",\"roleType\":2,\"attend\":1,\"onlineDuration\":198,\"joinClassTime\":1779787638157,\"leaveClassTime\":1779787836853,\"scoreAward\":2,\"duraOnstage\":162,\"numRaise\":1,\"numOpenAudio\":2,\"rateExamCorrect\":50,\"numExamCorrect\":1,\"memberSignCount\":1},{\"userId\":\"1_32670490\",\"roleType\":2,\"attend\":1,\"onlineDuration\":152,\"joinClassTime\":1779787684032,\"leaveClassTime\":1779787836853,\"scoreAward\":4,\"duraOnstage\":88,\"numRaise\":3,\"numOpenAudio\":2,\"rateExamCorrect\":50,\"numExamCorrect\":1,\"memberSignCount\":2}]}}",
    "signature": "E304069B315C855AC44F486656B3880CAEAF9624"
}

二. 课堂出勤上下台 (eventType = "attendance")#

课堂开始后,一旦有成员加入/离开课堂,会触发出勤数据的回调。
1.
事件报文格式说明 ( events可以转换的结构体)
{
    teacherId: 字符串类型,课堂主讲老师的Id
    users: 
    [
      {
          "eventTime": int类型 时间时间戳,
          "eventType": int类型  事件类型 1:进入 2:离开,
          "userId": 字符串类型,学生/老师的用户Id值
      }
    ]
}
参考样例:
{
    "appId": "xz",
    "eventInfo": "{\"eventType\":\"attendance\",\"meetingId\":862810,\"events\":{\"teacherId\":\"0_1026113\",\"users\":[{\"eventTime\":1779797231247,\"eventType\":1,\"userId\":\"0_1026113\"}]}}",
    "signature": "DE9E20BA8E13C345A473BA359FA9B383EBA72E99",
    "validBegin": 1779797233,
    "validTime": 60
}

三. 课堂一键召回 (eventType = "recall")#

课堂中选定部分人员,发起一键召回动作。
事件报文格式说明 ( events可以转换的结构体)
{
    teacherId: 字符串类型,课堂主讲老师的Id
    operatorId: 字符串类型,发起召回的用户Id
    content: 字符串类型,发起召回的内容
    students: 
    [
      {
         "userId": 字符串类型,学生用户Id值
         "attendStatus": int类型, 是否出勤过 1:出勤过 2:未出勤过

      }
    ]
}

四. 课堂缺勤 (eventType = "absence")#

直播开课之后,自动提醒离线学生,督促学生到课。
1.
事件报文格式说明 ( events可以转换的结构体)
{
    teacherId: 字符串类型,课堂主讲老师的Id
    users:  // 多个班级下的缺勤分组数据
    [
      {
          "assistantIds": 数组, 助教用户Id值ids,
          "students": 数组 
          [
              {
                 "userId": 字符串类型,学生的用户Id值
                 "attendStatus": int类型, 是否出勤过 1:出勤过 2:未出勤
              }
            ]
      }
    ]
}
参考样例:
{
    "appId": "xz",
    "eventInfo": "{\"eventType\":\"absence\",\"meetingId\":862810,\"events\":{\"teacherId\":\"0_1026113\",\"users\":[{\"assistantIds\":[\"302_1026114\",\"0_1026192\",\"0_1073735\"],\"students\":[{\"userId\":\"1_1104040\",\"attendStatus\":2},{\"userId\":\"1_1104041\",\"attendStatus\":2},{\"userId\":\"1_1340428\",\"attendStatus\":2}]}]}}",
    "signature": "88A2168BB6F2012806E0BBF10D828284B9FBA44A",
    "validBegin": 1779797311,
    "validTime": 60
}
修改于 2026-05-26 12:16:59
上一页
事件推送机制
Built with