1.api接口说明
- 考试星api接口采用jwt规范。Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519)。JWT调用示例代码
2.api参数配置
- appId : 客户唯一标识符,由考试星提供,例如:14343。
- appKey : 用于加密jwt,由考试星提供,例如:xf5ha3h67h4Ger34wh35p345h4。
- 获取方式:【管理员后台:系统设置->更多设置->开发者信息管理】
3.api统一接口地址
- 地址: https://api.kaoshixing.com/api/company/data/:appId/?jwt=:jwtInfo
- **jwtInfo:**jwt_info是用户根据jwt规范,用app_key将过期时间、action_id加密,生成的加密字符串
4.生成加密jwtInfo(java示例)
(1).安装依赖
<dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.7.0</version>
(2).生成加密字符串
生成jwtInfo加密字符串
import io.jsonwebtoken.Jwts; String appKey = “xf5ha3h67h4Ger34wh35p345h4” String jwtInfo = Jwts.builder() .claim("exp", System. currentTimeMillis() + 1000*10) .claim("action_id", "201") .signWith(SignatureAlgorithm.HS256,app_key.getBytes("UTF-8")).compact();
(3).加密参数解释
appKey:加密的私钥,由考试星提供。 exp:过期时间。 action_id:表示请求的数据类型(注意是下划线)。
5.action_id参数解释
不同的action_id代表不同的请求行为,目前开放的请求行为如下:
6.当前开放的请求接口
(1)考试信息列表接口:
请求地址:https://api.kaoshixing.com/api/company/data/:appId/?jwt=:jwtInfo
请求方法:post
请求参数:
参数编号 | 参数名称 | 参数值示例 | 参数描述 |
---|---|---|---|
1 | page | 3 | 页码,每页10个 |
2 | examStartTime | 2021-12-27 00:00:00 | String类型,筛选出考试开始时间大于等于examStartTime的考试,非必传项 |
3 | examEndTime | 2021-12-27 00:00:00 | String类型,筛选出考试结束时间小于等于examEndTime的考试,非必传项 |
4 | createTime | 2021-12-27 00:00:00 | String类型,筛选出考试创建时间大于等于createTime的考试,非必传项 |
5 | examIds | 1179422,1171758 | String类型,筛选出考试id为examIds的几场考试,非必传项 |
返回结果:
(2)考生分数列表接口:
请求地址:https://api.kaoshixing.com/api/company/data/:appId/?jwt=:jwtInfo
请求方法:post
请求参数:
返回结果:
(3)试卷试题列表接口:
请求地址:https://api.kaoshixing.com/api/company/data/:appId/?jwt=:jwtInfo
请求方法:post
请求参数:
返回结果:
(4)考生答案列表接口:
请求地址:https://api.kaoshixing.com/api/company/data/:appId/?jwt=:jwtInfo
请求方法:post
请求参数:
返回结果:
(5)在线学习内容列表接口:
请求地址:https://api.kaoshixing.com/api/company/data/:appId/?jwt=:jwtInfo
请求方法:post
请求参数:
返回结果:
(6)在线学习时长列表接口:
请求地址:https://api.kaoshixing.com/api/company/data/:appId/?jwt=:jwtInfo
请求方法:post
请求参数:
返回结果:
参数名称 | 参数描述 | 类型 | 备注 |
---|---|---|---|
userId | 用户ID | String | |
studyTime | 学习时长 | String | |
finishStatus | 完成进度 | String |
(7)获取考生可见考试和考试结果整合列表
请求地址:https://api.kaoshixing.com/api/company/data/:appId/?jwt=:jwtInfo
请求方法:post
请求参数:
返回结果:
参数名称 | 参数描述 | 类型 | 备注 |
---|---|---|---|
examInfoId | 考试id | int | |
examStyleName | 考试类型 | String | |
examName | 考试名称 | String | |
examStartTime | 考试开始时间 | String | |
examEndTime | 考试结束时间 | String | |
examTimeRestrict | 是否限制每题时长 | String | |
examTime | 考试时长(分钟) | int | |
examResultsId | 考试结果id | int | |
results | 分数 | double | |
isPass | 是否通过 | int | |
examLink | 考试链接 | String | |
inquireLink | 查询结果链接 | String | |
practiceMode | 是否联系模式 | int | |
status | 考试状态 | String | examing:答题中、checked:已批改可查看、 checking:批改中不可查看、new:未作答、 notReleased:暂不公布不可查看 |