获取唤醒客户端并进入教室链接
获取唤醒客户端并进入教室链接,需要 SID、safekey、timeStamp、提供手机号、有效时长、课程 ID、课节 ID,平台识别标志,返回可以在 PC 端或者移动端唤起 机构自己的客户端
的链接。
注: 以下示例中classin://xxx只是作为例子, 机构在使用的时候, 请将链接中"classin"修改为机构自己的客户端名称
URL
https://root_url/partner/api/course.api.php?action=getLoginLinked
HTTP Request Methods
- POST
编码格式
- UTF-8
请求参数
key | 必填 | 更多限制 | 说明 | 规则说明 |
---|---|---|---|---|
SID | 是 | 无 | 机构认证 ID | 通过 sdk管理后台 申请机构认证可获得 |
safeKey | 是 | 固定 32 位全小写字符 | 机构认证安全密钥 | safeKey=MD5(SECRET+timeStamp) |
timeStamp | 是 | 无 | 当前调用接口20分钟以内的 Unix Epoch 时间戳 | Unix Epoch 时间戳是 1970年1月1日 00:00:00 (世界标准时间) 起经过的秒数 |
uid | 是 | 无 | 用户 UID | 注册用户返回的用户 UID |
lifeTime | 否 | 默认为86400秒 | 密钥有效时长(单位:秒) | 无 |
courseId | 是 | 无 | 课程 ID | 创建课程后的返回值 |
classId | 是 | 无 | 课节 ID | 创建课节后的返回值 |
deviceType | 否 | 默认为1,代表 PC 端 | 平台标志 | 1代表 Windows/Mac OS 端;2代表 iOS 移动端;3代表 Android |
响应参数
key | 类型 | 示例值 | 含义 |
---|---|---|---|
data | string | classin://www.classin-sdk.com/enterclass?telephone=23692341020& authTicket=04sxvif1bczi6lzs& classId=1424463&courseId=444451&schoolId=1009478 |
可在网页登录机构自己的客户端 的链接 |
error_info | object | 返回信息对象 | |
└ errno | number | 1 | 错误代码 |
└ error | string | "程序正常执行" | 错误详情 |
注: 这里的classin://xxx只是作为例子, 机构在使用的时候, 请将链接中"classin"修改为机构自己的客户端名称
示例
- HTTP 请求
POST /partner/api/course.api.php?action=getLoginLinked HTTP/1.1
Host: www.classin-sdk.com
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache
SID=2339736&safeKey=8d3fb00ceddd29638e2d5dd12d69841d&timeStamp=1492793638&uid=1058467&lifeTime=&courseId=332241&classId=1227045&deviceType=1
- Shell cURL 模拟请求指令
curl -H "Content-Type: application/x-www-form-urlencoded" -X "POST" \
-d "SID=1234567" \
-d "safeKey=0f7781b3033527a8cc2b1abbf45a5fd2" \
-d "timeStamp=1484719085" \
-d "uid=1065864" \
-d "lifeTime=" \
-d "courseId=332241" \
-d "classId=1227045" \
-d "deviceType=2" \
"https://root_url/partner/api/course.api.php?action=getLoginLinked"
PC 端网页唤起响应示例(正常时返回的 json
数据包示例)
{
"data": "classin://www.classin-sdk.com/enterclass?telephone=23692341020&authTicket=04sxvif1bczi6lzs&classId=1424463&courseId=444451&schoolId=1009478",
"error_info": {
"errno": 1,
"error": "程序正常执行"
}
}
移动端(iOS)网页唤起响应示例(正常时返回的 json
数据包示例)
{
"data": "https://www.classin-sdk.com/client/mobile/ios/enterclass?telephone=18801391473&authTicket=f64e4rh7ockt1e93&classId=2645255&courseId=805773&schoolId=2516840",
"error_info": {
"errno": 1,
"error": "程序正常执行"
}
}
移动端(Android)网页唤起响应示例(正常时返回的 json
数据包示例)
{
"data": "classin://www.classin-sdk.com/enterclass?telephone=18801391473&authTicket=vaxf57m896vafku7&classId=296516&courseId=124575&schoolId=1002856",
"error_info": {
"errno": 1,
"error": "程序正常执行"
}
}
客户端网页唤醒中间提示页(可选)
主要用途:
使用网页唤醒功能时,会有一个页面提示用户如果未启动,或者启动失败,请重新下载安装客户端,使用方式如下。iOS 移动端返回的链接中已经加入了中间页,无须拼接。 注: 这里的页面只是作为例子, 机构在使用的时候, 请机构自己实现类似逻辑并引导至机构自己的客户端
效果预览:
从网页唤醒 12345678901 ClassIn客户端账号
使用说明:
https://www.eeo.cn/client/invoke/index.html 这个链接是判断用户是否有安装客户端,如果有安装会直接提示打开客户端。适用于 PC 端和 移动端平台。如果需要网页唤起并进入教室,需要将本接口返回链接中的所有参数拼接在该地址后面即可,方式如下方第二行代码所示:
<a href='https://www.eeo.cn/client/invoke/index.html'>打开客户端</a>
<a href="https://www.eeo.cn/client/invoke/index.html?telephone=12345678901&authTicket=g7cx9tj3fs51n7dm&classId=1213545&courseId=394761&schoolId=1009478">从网页唤醒 12345678901 ClassIn客户端账号</a>
错误码说明
错误码 | 说明 |
---|---|
1 | 表示成功执行 |
100 | 表示参数不全或错误 |
102 | 表示无权限(安全验证没通过) |
104 | 表示操作失败(未知错误) |
114 | 表示服务器异常 |
134 | 手机号码格式错误 |
142 | 该课程下无此课节信息 |
143 | 无此课节信息 |
144 | 机构下无此课程 |
145 | 该课节已经结束 |
150 | 没有获取该用户登录密钥的权限(此用户不属于该机构下学生、老师和旁听) |
212 | 该课节已经删除 |
369 | 该课程/课节类型暂不支持该操作 |