在线授课接口定义.md
5.25 KB
接口定义
名词定义
- 在线授课必备消息
在线授课必须的公用群名、群Id(授课指令用)以及聊天室Room的Id(音视频聊天用)
听课学生基本信息 Id、头像、昵称、目标、学习统计(词汇量、阅读量、听力时长、口语时长)
授课教师基本信息 Id,头像,昵称
获取用户访问Qcloud的identifier和签名
/user/me接口中增加返回值:
...
"qcloud": {
"identifier": "5de6f7a36339ef5bedc3dc8741a1e222",
"sign": "eJxFkN1ugkAQRt*F2zZ12R8Xe4doG9BGjZLaK4K7g6yUFWElYNN3LxJMb8*ZLzPf-Fi75fYlLgolo9hEpJTWq4Ws5x5DU6gSojgxUHbYZoxhhB62hrJSZ90JjGxmY4LQv1QStFGJ6oNMwjjhMRkTMoGEHUAKIoXDqR3bgDEeMpU6dsMf8y-P38xWp0nwbXahDg*e66U34be6qjd1VmdN6gZzAQ5-aszeXI9*6i7eQK3VjE61TZcB359QkKD3URhePqdbslq3eSBu-LLw89Fjmcyivva9GL1fTgljgzQqh54zh3DGKB94LMT5qk1k2gL6P-3*AfZQX20_"
},
...
1.显示学生、课程等信息
说明:授课客户端需要获取在线授课必备消息和听课学生基本信息
显示学生信息,课程信息,饼图,柱状图
返回值里的course_type_ratio(饼图) 信息还未确定,暂返回空
接口地址:/teaching/student/info
请求方式:GET
Request params:
参数名 | 是否必须 | 说明 | 参数类型 |
---|---|---|---|
work_order_id | 是 | 工单id | Long |
腾讯云的用户identifier 为盒子鱼用户id的小写md5值
Response:
{
"data": {
"student_detail": {
"student_info": {
"real_name": "Mmm",
"figure_url": "http://avatars.boxfish.cn/user/12938/figure/1423708364.jpg",
"level": 6,
"level_name": "滔滔6级"
},
"lesson_info": {
"id": "L3NoYXJlL3N2bi8yMDE1MDkxMOa1i-ivleaooeadvy8wMTMu5qih5p2_5ZCI6ZuGLnhsc3g",
"name": "模板合集",
"type": "全面提高",
"difficulty": "4",
"lastModified": 1445001009175,
"cover": "10fb562cdc2b3c184a418c1c18d0d8b8"
},
"achievement_info": {
"read_word_count": 0,
"listening_time": 0,
"record_time": 0,
"word_count": 209
},
"course_type_ratio":
[
{
"course_type": "口语",
"ratio": "30%"
},
{
"course_type": "听力",
"ratio": "50%"
},
{
"course_type": "测验",
"ratio": "10%"
},
{
"course_type": "单词",
"ratio": "10%"
}
]
},
"group_room_info": {
"group_name": "BOXFiSH Online Teaching Group",
"group_id": "@TGS#2SMUBTAER",
"chat_room_id": 359755386104019
}
},
"returnCode": 200,
"returnMsg": "success"
}
2.发推送 - 通知学生开始上课
说明:通知某次课程相应的学生准备上课,通过发送推送信息的方式通知给学生。推送的通知中应该包括在线授课必备消息和授课教师的基本信息
接口地址:/teaching/student/push
请求方式:GET
Request params:
参数名 | 是否必须 | 说明 | 参数类型 |
---|---|---|---|
work_order_id | 是 | 工单id | Long |
推送json:
{
"figure_url": "http://wx.qlogo.cn/mmopen/PiajxSqBRaEJrztQnGAk8X1G2A0AfjvPRBdgLFOjxsM9AoicoOUrH3Yia3qY9uic5ibQO6wMkJ6bPUx15IN4Vrxv8CA/0",
"teacher_name": "喜洋洋老师",
"teacher_id": "5",
"work_order_id": 34,
"group_name": "boxfish-class001",
"group_id": "@TGS#2AA4BQAEN",
"chat_room_id": "100001"
}
Response:
...
3.课程正常结束接口
接口地址:/teaching/student/finish
请求方式: POST
Request params:
参数名 | 是否必须 | 说明 | 参数类型 |
---|---|---|---|
work_order_id | 是 | 工单id | Long |
返回值:
{
"data": {},
"returnCode": 200,
"returnMsg": "success"
}
4.房间进入状态回调接口
说明:老师进入房间、学生进入房间各回调一次
接口地址:/teaching/callback/chat_room
请求方式:POST
Request body:
{
"userId":12938,
"type":"TEACHER",
"workOrderId": 34,
"chatRoomId":12345
}
Response
{
"data": {},
"returnCode": 200,
"returnMsg": "success"
}
5.客户端断线重连获取课程状态
说明:
接口地址:/teaching/course/status
请求方式:GET
Request params:
参数名 | 是否必须 | 说明 | 参数类型 |
---|---|---|---|
work_order_id | 是 | 工单id | Long |
Response:
{
"data": {
"recover": true
},
"returnCode": 200,
"returnMsg": "success"
}
6.学生端未收到上课推送主动发起上课接口
说明:
接口地址:/teaching/student/enter_class
请求方式:GET
Request params:
参数名 | 是否必须 | 说明 | 参数类型 |
---|---|---|---|
work_order_id | 是 | 工单id | Long |
Response:
{
"data": {
"group_id": "@TGS#2SMUBTAER",
"chat_room_id": 359755386104019
},
"returnCode": 200,
"returnMsg": "success"
}