课中数据获取接口

课中数据获取主要包括考勤情况、网络延迟、学生老师是否在线等。

本章接口列表:

数目 接口名称 接口说明
1 获取学生、老师是否在线接口 该接口主要获取学生老师在线列表,通过该列表反应
2 用户进出记录获取接口 该接口主要是提供对学生和老师进出房记录的查询,可用于用户上课时长统计和考勤相关。
3 获取关键事件接口 获取用户(老师/学生) 进入教室、离开教室、上课、下课等关键事件信息。
4 获取网络延迟接口 获取用户(老师/学生) 进入教室、离开教室、上课、下课等关键事件信息。
5 学生签到查询接口 该接口提供大班课老师点名后的每次签名情况
6 SDK获取课程状态接口 获取SDK机构下课程的状态
7 获取教室内求助信息接口 本接口提供获取课中课堂用户提交的求助信息列表。只限于在机构后台配置直播云的求助页的课堂才能获取(一般默认配置)
8 获取用户的设备检测信息 该接口提供某节课堂下某个用户的设备具体信息,比如摄像头、麦克风和扬声器类型信息,另外提供用户的IP等信息。
9 获取讲次上下课时间及学生上课时长 该接口提供某节课上下课时间及学生上课时长

获取学生、老师是否在线接口

接口说明: 该接口主要获取学生老师在线列表,通过该列表反应

接口URl: /institution/get/lesson/onlineinfo

接口域名: http(s)://openapi.weclassroom.com (测试环境:http://test-openapi.weclassroom.com)
验签规则请查看附录下验签代码示例

接口访问方式: POST

接口上传参数:

参数 说明 是否必填 类型
applicationID 下发机构key string
signMsg 加密参数字符串 string

signMsg包含参数:

参数 类型 必填 参数说明
lesson_id INT 课堂ID,用于标识该课节,如1000
institution_id INT 机构ID,直播云下发用于标识对接机构ID,如22

返回参数:

参数 类型 参数说明
status INT 返回状态信息:1.成功 0.失败
msg STRING 对返回的状态信息的补充说明,如调用失败原因等
list JSON数组 JSON数组中每一个元素为在线用户信息,JSON数组格式:{“uid”:””,role:1}uid代表用户id,role为用户角色,1代表老师,2代表学生

成功示例:

{
  "status": 1,
  "msg": "",
  "list": [{
      "uid": 1001,
      "role": 1
    },
    {
      "uid": 1002,
      "role": 2
    }
  ]
}

用户进出记录获取接口

接口说明: 该接口主要是提供对学生和老师进出房记录的查询,可用于用户上课时长统计和考勤相关

注意事项: 该接口数据产生于下课事件触发之后,异步存储到数据库当中,数据入库有一定延时,所以建议在下课后的30分钟之后获取该数据。
接口URl: v2/data/lesson/inout(小班课与一对)
接口 URL: v2/data/big/lesson/inout(大班课)
接口域名: http(s)://openapi.weclassroom.com (测试环境:http://test-openapi.weclassroom.com )
验签规则请查看附录下验签代码示例

接口访问方式: POST

接口上传参数:

参数 说明 是否必填 类型
applicationID 下发机构key string
signMsg 加密参数字符串 string

signMsg包含参数:

参数 说明 是否必填 类型 示例
institutionId 机构ID int 123
lessonId 机构课节ID int 123

返回参数:

参数 类型 参数说明
status INT 返回状态信息:1.成功 0.失败
code INT 返回状态码,详见附录openapi code对照表
msg STRING 响应信息
data 结构体 返回学生和老师数据,详见data主要参数说明

data参数说明:

参数 类型 参数说明
用户ID JSON 具体内容为用户id,例如”123123132”:{
具体的用户进出记录
},用户记录进出为JSON格式,详细参数见用户进出记录主要说明

用户进出记录参数说明:

参数 类型 参数说明
identity INT 标识用户角色:0: 学生;1: 老师
online INT 判断用户是否在线:0: 离线;1: 在线
inout STRING数组 主要为用户进出记录如: [主要为用户进出记录如: ["i\|1541484720\|/control#c--ocjbnsGuqx2FsAP1o", "o\|1541484840\|/control#c--ocjbnsGuqx2FsAP1o"],格式代码信息如下:进出类型(i:进房,o:离开房间)\|进出时间(Unix时间戳格式)\|连接ID(用来标识不同的连接),如i\|1541484720\|/control#c--ocjbnsGuqx2FsAP1o,则为该用户在UnixTime 时间戳为1541484720,即北京时间2018/11/6 14:12:00时间进入,此时连接ID为/control#c--ocjbnsGuqx2FsAP1o,可用于标识用户不同的进出记录

成功示例:

{
  "status": 1, // 返回状态, 0表示失败,1表示成功
  "code": 10000, // 返回错误码,10000表示成功
  "msg": "",
  "data": {
    "20160329": { // 用户ID
      "identity": 0, // 标识学生还是老师,学生是0,老师是1
      "online": 0, // 判断是否在线,1是在线,0是离线
      "inout": [
        // i 表示进入教室,o表示离开教室
        // 1541484720表示进入教室的时间戳
        // control#c--ocjbnsGuqx2FsAP1o用来标识同一次进出
        "i|1541484720|/control#c--ocjbnsGuqx2FsAP1o",
        "o|1541484840|/control#c--ocjbnsGuqx2FsAP1o"
      ]
    },
    "20160401": { // 用户ID
      "identity": 1,
      "online": 0,
      "inout": [
        "i|1541484780|/control#WRO0GajZ3W4ih2cBAP1r",
        "o|1541484840|/control#WRO0GajZ3W4ih2cBAP1r"
      ]
    }
  },
  "ltime": {
          "actualStartTime": 1607938698,
          "actualEndTime": 1607941026
      }
}

获取关键事件接口

接口说明: 获取用户(老师/学生) 进入教室、离开教室、上课、下课等关键事件信息。 接口URl: v2/data/critical
接口域名: http(s)://openapi.weclassroom.com (测试环境:http://test-openapi.weclassroom.com) 验签规则请查看附录下验签代码示例

请求方法: POST
限制说明: 该接口分页,每页数据2000条; 频次限制为20次/s;仅支持获取最近三天的数据

接口上传参数:

参数 说明 是否必填 类型
applicationID 下发机构key string
signMsg 加密参数字符串 string

signMsg包含参数:

参数 说明 是否必填 类型 示例
institutionId 机构ID int 123
lessonId 机构课堂ID int 123
page 分页页数 int "xxx"

data参数说明:

参数 类型 参数说明
numperpage INT 分页每条数据
page INT 当前数据条数
sumpage INT 总页数
count INT 数据总条数
list JSON数组 数组每个元素都存储一个发生的关键事件具体信息
关键事件的JSON格式示例加说明为:
{
"time": "2018-10-28 11:48:34",// 事件发生时间
"uid": "11383", // 用户ID
"critical_code": 1011,
"critical_name": "进入教室成功"//关键事件名称
},

成功示例:

{
  "status": 1, // 返回状态, 0表示失败,1表示成功
  "code": 10000, // 返回错误码,10000表示成功
  "msg": "",
  "data": {
    "numperpage": 2000, //分页,每页数据条数
    "page": 1, //分页,当前数据条数
    "sumpage": 1, //分页,总页数
    "count": 2, //分页,数据总条数
    "list": [{
        "time": "2018-10-28 11:48:34", // 事件发生时间
        "uid": "11383", // 用户ID
        "critical_code": 1011,
        "critical_name": "进入教室成功" //关键事件名称
      },
      {
        "time": "2018-10-28 11:49:46",
        "uid": "5095734",
        "critical_code": 1011,
        "critical_name": "进入教室成功"
      }
    ]
  }
}

获取网络延迟接口

接口说明: 获取用户(老师/学生) 进入教室、离开教室、上课、下课等关键事件信息。
接口URl: v2/data/net/delay
接口域名: http(s)://openapi.weclassroom.com (测试环境:http://test-openapi.weclassroom.com)验签规则请查看附录下验签代码示例
请求方法: POST
限制说明: 该接口分页,每页数据2000条; 频次限制为20次/s;仅支持获取最近三天的数据
接口上传参数:

参数 说明 是否必填 类型
applicationID 下发机构key string
signMsg 加密参数字符串 string

signMsg包含参数:

参数 说明 是否必填 类型 示例
institutionId 机构ID int 123
lessonId 课堂ID int 123
numperpage 每页数 int
page 分页页数 int

返回参数:

参数 类型 参数说明
status INT 返回状态信息:1. 成功 0. 失败
code INT 返回状态码,详见附录openapi code对照表
msg STRING 响应信息
count INT 数据总条数
data JSON 返回学生和老师数据,详见data主要参数说明

data参数说明:

参数 类型 参数说明
numperpage INT 分页每条数据
page INT 当前数据条数
sumpage INT 总页数
count INT 数据总条数
list JSON数组 数组每个元素都存储一个发生的上报网络延迟的具体信息
关键事件的JSON格式示例加说明为:
{
"time": "2018-10-28 11:50:14", //数据上报时间
"uid": "5095734", //用户ID
"delay_max": "19", //最大网络延时
"delay_avg": "14" //平均网络延时
}

成功示例:

{
  "status": 1, // 返回状态, 0表示失败,1表示成功
  "code": 10000, // 返回错误码,10000表示成功
  "msg": "",
  "data": {
    "count": 2, //数据总条数
      "list": [
        {
        "id": 1,
        "pic_url": "http://www.baidu.com", //真实图片地址
        "created_at": "2018-10-30 17:29:57"
        },
        {
        "id": 2,
        "pic_url": "http://www.baidu.com",
        "created_at": "2018-10-30 17:29:57"
        }
      ]
  }
}

学生签到查询接口

接口说明: 该接口提供大班课老师点名后的每次签名情况。

接口URl: /institution/users/checkin

接口域名: http(s)://api.weclassroom.com (测试环境:http://test-api.weclassroom.com ) (老域名,可以使用但不再更新维护)
接口域名: http(s)://openapi.weclassroom.com (测试环境:http://test-openapi.weclassroom.com) 验签规则请查看附录下验签代码示例

api接口和openapi接口统一请求方法: GET

api接口上传参数:

参数 类型 必填 参数说明 备注
institution_id INT 机构ID
lesson_id INT 课程ID
third_token STRING 对接机构用于验签的TOKEN 通用验签token

openapi接口上传参数:

参数 说明 是否必填 类型
applicationID 下发机构key string
signMsg 加密参数字符串 string

signMsg包含参数:

参数 说明 是否必填 类型 示例
institution_id 机构ID int 123
lesson_id 课堂ID int 123

data参数:

参数 类型 名称 备注
593_13_593_1556019383 STRING tkey 单次签到的tkey
106297 STRING 学生ID 数组的值是签到时间

成功返回:

"status": 1,
    "time": 1563348360,
    "msg": "",
    "data": {
        "593_13_593_1556019383": { //单次签到的tkey
                "106297": "2019-07-17 15:13:28", //学生id: 签到时间
                "200231": "2019-07-17 15:13:35"
        },
        "593_13_593_1556019384": {
                "200232": "2019-07-17 15:13:37",
                "200233": "2019-07-17 15:13:32"
        }
    }
}

失败返回:

{
    "status": 0,
    "time": 1558948243,
    "msg": [
        "The lesson_id field is required."  //lesson_id字段必填
    ]
}

SDK获取课程状态接口

接口说明: 获取SDK机构下课程的状态.

接口URl: /institution/lesson/status

接口域名: http(s)://api.weclassroom.com (测试环境:http://test-api.weclassroom.com) (老域名,可以使用但不再更新维护)
接口域名: http(s)://openapi.weclassroom.com (测试环境:http://test-openapi.weclassroom.com )(新域名,推荐使用)
验签规则请查看附录下验签代码示例

api接口和openapi接口请求方法: GET

api接口上传参数:

参数 类型 必填 参数说明
institution_id INT 机构ID
lesson_id INT 课程ID
third_token STRING 对接机构用于验签的TOKEN

openapi接口上传参数:

参数 说明 是否必填 类型
applicationID 下发机构key string
signMsg 加密参数字符串 string

signMsg包含参数:

参数 说明 是否必填 类型 示例
institution_id 机构ID int 123
lesson_id 课堂ID int 123

data参数:

参数 名称 类型 备注
status 课程状态 Int 课程状态:0正常(上课前) 1上课 2下课

成功返回:

{
    "status": 1,
    "time": 1563430693,
    "msg": "",
    "data": {
        "status": 1  //课程状态 0正常(上课前) 1上课 2下课
    }
}

失败返回:

{
    "status": 0,
    "time": 1558948243,
    "msg": [
        "The lesson_id field is required."
    ]
}
{
    "status": 0,
    "time": 1558948243,
    "msg": "课程不存在"
}

获取教室内求助信息接口

接口说明:本接口提供获取课中课堂用户提交的求助信息列表。只限于在机构后台配置直播云的求助页的课堂才能获取(一般默认配置)

接口URL: help/get/pdata

接口域名: http(s)://api.weclassroom.com (测试环境:http://test-api.weclassroom.com) (老域名,可以使用但不再更新维护)
接口域名: http(s)://openapi.weclassroom.com (测试环境:http://test-openapi.weclassroom.com)(新域名,验签规则请查看附录下验签代码示例)
验签规则请查看附录下验签代码示例

api接口和openapi接口请求方式: POST

api接口上传参数:

参数 类型 是否必填 参数说明
lesson_id INT 课堂ID,用于标识该课节
institution_id INT 机构ID,直播云下发用于标识对接机构
third_token STRING 对接机构用于验签的TOKEN

openapi接口上传参数:

参数 说明 是否必填 类型
applicationID 下发机构key string
signMsg 加密参数字符串 string

signMsg包含参数:

参数 说明 是否必填 类型 示例
institution_id 机构ID int 123
lesson_id 课堂ID int 123

返回格式: JSON

返回参数说明:

参数 类型 参数说明
status INT 返回状态信息:1.成功 0.失败
time STRING 接口返回时间
msg STRING 对返回的状态信息的补充说明,如调用失败原因等
data JSON数组 返回,成功为JSON,具体参数详见下表

data JSON格式说明

参数 类型 参数说明
id INT 求助项ID
lesson_id INT 课节ID
user_id INT y用户ID
user_role INT 用户角色:
1 学生
2 老师
created_at STRING 提交求助时间,时间格式示例:2018-03-26 11:31:47
help_item_name STRING 求助项类别编号,一般为001,002等
help_item_text STRING 具体求助内容
note STRING 求助内容备注
item_info STRING 问题类型中文描述
item_info_eng STRING 问题类型英文描述

成功示例

{
  "status": "1",
  "time": "2019-07-12 17:22:39",
  "data": [
    {
      "id": 10200,
      "lesson_id": 219343926,
      "user_id": 111800,
      "user_role": 2,
      "created_at": "2018-03-26 11:31:47",
      "help_item_name": "002",
      "help_item_text": "",
      "note": "cavcdsv",
      "help_item": "002",
      "item_info": "网络问题",
      "item_info_eng": "Internet problem"
    },
    {
      "id": 10201,
      "lesson_id": 219343926,
      "user_id": 111800,
      "user_role": 2,
      "created_at": "2018-03-26 17:37:41",
      "help_item_name": "006",
      "help_item_text": "",
      "note": "dwfdewf",
      "help_item": "006",
      "item_info": "涂鸦显示/操作异常",
      "item_info_eng": "Graffiti display/operation exception"
    }
  ]
}

获取用户的设备检测信息

接口说明: 该接口提供某节课堂下某个用户的设备具体信息,比如摄像头、麦克风和扬声器类型信息,另外提供用户的IP等信息。

接口URL: client/get/uidInfo

接口域名: http(s)://openapi.weclassroom.com (测试环境:http://test-openapi.weclassroom.com)(新域名,推荐使用)
验签规则请查看附录下验签代码示例

接口请求方式: POST

接口上传参数:

参数 说明 是否必填 类型
applicationID 下发机构key string
signMsg 加密参数字符串 string

signMsg包含参数:

参数 类型 是否必填 参数说明
lesson_id INT 机构课堂ID,
institution_id INT 机构ID,直播云下发用于标识对接机构
user_id INT或者STRING 要查询的用户ID

返回格式: JSON

返回参数说明:

参数 类型 参数说明
status INT 返回状态信息:1.成功 0.失败
time STRING 接口返回时间
msg STRING 对返回的状态信息的补充说明,如调用失败原因等
data JSON数组 返回,成功为JSON,具体参数详见下表

data JSON参数格式说明

参数 类型 参数说明
camera JSON数组 用户摄像头信息
json参数实例说明:
{
"time": "2019-07-15 17:51:04",//数据上报时间
"device_name": "FaceTime 高清摄像头",//设备名称
"res": "正常",//设备状态简略描述
"res_detail": "摄像头设备可用"//设备状态具体描述
}
mic JSON数组 用户麦克风信息
json参数实例说明
{
"time": "2019-07-15 17:51:04",
"device_name": "内建麦克风",
"res": "正常",
"res_detail": "麦克风设备可用"
}
sk JSON数组 用户扬声器信息
json参数实例说明
{
"time": "2019-07-15 17:45:26",
"device_name": "内建输出",
"res": "正常",
"res_detail": "扬声器或耳机设备可用"
}
camera_status INT 摄像头状态信息
mic_status INT 麦克风状态信息
sk_status INT 扬声器状态信息
device_info JSON 用户设备信息,包含用户的IP,客户端版本号等详见下表

device_info JSON格式说明

参数 类型 参数说明
os STRING 操作系统
osv STRING 操作系统版本号
cpu STRING 用户CPU信息
mem INT 用户内存信息
cv STRING 当前软件版本号
device_type INT 设备类型编号
2 或者 5 - 电脑;
其他 - 手机
mv STRING 移动端机型版本号,仅限使用微信小程序用户获取
net STRING 网络类型,示例:WIFI
ip STRING 用户IP
cam STRING 摄像头信息
mic STRING 麦克风信息
sk STRING 扬声器信息
updated_at STRING 数据最后一次更新时间

成功示例:

{
    "status":"1",
    "time":1563184632,
    "data":{
        "camera":[
            {
                "time":"2019-07-15 17:51:04",
                "device_name":"FaceTime 高清摄像头",
                "res":"正常",
                "res_detail":"摄像头设备可用"
            }

        ],
        "mic":[
            {
                "time":"2019-07-15 17:51:04",
                "device_name":"内建麦克风",
                "res":"正常",
                "res_detail":"麦克风设备可用"
            }

        ],
        "sk":[
            {
                "time":"2019-07-15 17:51:04",
                "device_name":"内建输出",
                "res":"正常",
                "res_detail":"扬声器或耳机设备可用"
            }

        ],
        "camera_status":1,
        "mic_status":1,
        "sk_status":1,
        "device_info":{
            "os":"mac",
            "cpu":"Intel(R) Core(TM) i5-5350U CPU @ 1.80GHz",
            "mem":"8192",
            "osv":"18.2.0darwin_18.2.0_x86_64",
            "cv":"1.6.6.24",
            "mv":"",
            "device_type":2,
            "net":"WIFI",
            "ip":"182.48.103.5",
            "cam":"FaceTime 高清摄像头",
            "mic":"内建麦克风",
            "sk":"内建输出",
            "updated_at":"2019-07-15 17:40:30"
        }
    }
}

获取讲次上下课时间及学生上课时长

接口说明: 该接口提供某节课上下课时间及学生上课时长。

接口URL: data/lesson/time

接口域名: http(s)://openapi.weclassroom.com (测试环境:http://test-openapi.weclassroom.com)(新域名,推荐使用)
验签规则请查看附录下验签代码示例

接口请求方式: POST

接口上传参数:

参数 说明 是否必填 类型
applicationID 下发机构key string
signMsg 加密参数字符串 string

signMsg包含参数:

参数 类型 是否必填 参数说明
lessonId INT 课堂ID,用于标识该课节
institution_id INT 机构ID,直播云下发用于标识对接机构

返回格式: JSON

返回参数说明:

参数 类型 参数说明
status INT 状态
code INT code码 详情见附录
msg STRING 提示语
start_time STRING 上课时间
end_time STRING 下课时间
lesson_id STRING 课节ID
user_id INT 学生ID
listen_time INT 该学生听课时长

成功示例:

    "status": 1,
    "code": 10000,
    "msg": "",
    "data": {
        "start_time": "2018-07-25 15:49:34",
        "end_time": "2018-07-25 23:59:59",
        "lesson_id": "191817114",
        "list": [
            {
                "user_id": 100078,
                "listen_time": 35
            }
        ]
    }
}

results matching ""

    No results matching ""