接口定义
名词定义
- 在线授课必备消息
在线授课必须的公用群名、群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": "L3NoYXJlL3N2bi_nvo7lm73or63mlocyLTEvMDAxLkV2ZW5pbmcgYXQgSG9tZS54bHN4",
"name": "Evening at Home",
"lastModified": 1448379647022,
"type": "全面提高",
"difficulty": "1.5",
"cover": "73dcb39a42bbfd6b3cc83b2569cf4bce"
},
"achievement_info": {
"read_word_count": 0,
"listening_time": 0,
"record_time": 0,
"word_count": 209
},
"course_type_info": {
"course_type_ratio": [
{
"course_type": "Conversation",
"ratio": 0.1
},
{
"course_type": "Passage",
"ratio": 0.05
},
{
"course_type": "Function",
"ratio": 0.15
},
{
"course_type": "Phonics",
"ratio": 0.1
},
{
"course_type": "Examination",
"ratio": 0.1
},
{
"course_type": "Words",
"ratio": 0.1
},
{
"course_type": "Grammar",
"ratio": 0.2
},
{
"course_type": "Textbook",
"ratio": 0.1
},
{
"course_type": "Music",
"ratio": 0.1
}
],
"course_count": 324
}
},
"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"
}
7.获取课程所有资源列表
说明: 学生端调用,从学生端的课程列表可以获取到lesson_id
接口地址:/teaching/resource/lesson
请求方式:GET
Request params:
参数名 | 是否必须 | 说明 | 参数类型 |
---|---|---|---|
lesson_id | 是 | 课程id | String |
Response :
{
"data": [
"0a29673921a26ffb5e5ee81ffed45a9e",
"0c8a151d1b5eb95bd435e2e1af23ea15",
"2156d9b3f571381b3eca40d6e9d6e1cc",
"22af685410291e76df2e0b515179bb93",
"23dc1178bf9b5f813911f4e798949233",
"2505c58ed415594b0962a02cc855ce7b",
"280cb2c169eff53cd04dbc4caed663d7",
"2b52068688fb49310ee65792fa80f23a",
"2c23291d72ee1a458074c6e04a2111da",
"2e09ea4a8505794d349c1b1e7c2279d6",
"2e5bd36f36408a39357b90639705f924",
"2f0869f7c35019d761213ee0d34422a6",
"33abc4332ecbe980a7da3cc1f28e76e9",
"3a42e6bb2eb602690fd51becb2ba6302",
"4f11737d5c7562da8d2893bd64d9f303",
"68e1850fc54e7b8a14eeedb18ce3a972",
"6de6cb2ecaf671d6807ff028597b0706",
"7590904c949e02bca26895905bc5682b",
"7bbf27ff9373428efb30f8e59b0eec4d",
"9e296b09b2a108b0c4dcc4e6a9d84c5b",
"af6574194dffcaeb79b56adecb25d72f",
"b0d670cc3c402f0dc4dfefde993ea4f4",
"b36c3460d331effb69a082cf4314289d",
"bdc788984f1f6aea411d9f143effe67e",
"ca22f58a0149ce9de5a1d8b61995be9b",
"ccc94e9cfa8647cbc01e2bca228811c7",
"d484ebee3ce09c1218786aab008050c8",
"d5152cd996886ee58008f7fc76eef751",
"d99393b6cd1bd8d522f3d98fd46c7bd3",
"e49d614b00d9f474b030e924c3ff05a8",
"e77a984dc4cbf889c081f8a53a36f859"
],
"returnCode": 200,
"returnMsg": "success"
}