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代表不同的请求行为,目前开放的请求行为如下:

请求行为编码行为解释
601考试信息列表
602考生分数列表
603试卷试题列表
604考生答案列表
605在线学习内容表
606在线学习时长
609学员列表
702获取考试和考试结果



6.当前开放的请求接口


(1)考试信息列表接口:


请求地址:https://api.kaoshixing.com/api/company/data/:appId/?jwt=:jwtInfo


请求方法:post


请求参数:

参数编号参数名称参数值示例参数描述
1page3页码,每页10个
2examStartTime2021-12-27 00:00:00String类型,筛选出考试开始时间大于等于examStartTime的考试,非必传项
3examEndTime2021-12-27 00:00:00String类型,筛选出考试结束时间小于等于examEndTime的考试,非必传项
4createTime2021-12-27 00:00:00 String类型,筛选出考试创建时间大于等于createTime的考试,非必传项
5examIds1179422,1171758String类型,筛选出考试id为examIds的几场考试,非必传项


返回结果:

参数名称 参数描述 类型 备注
examInfold 考试ID String,下同
examName 考试名称
examTotalScore 考试总分
passMark 及格分
examTime 答题时长
examStartTime 考试开始时间
examEndTime 考试结束时间
examineeNums 应考人数
maxScore 最高分
avgScore 平均分
minScore 最低分
testNums 试题数
userExamedCount 已考人数
userCommitCount 已交卷人数
examLink考试链接
examCreatTime    创建考试时间




(2)考生分数列表接口:


请求地址:https://api.kaoshixing.com/api/company/data/:appId/?jwt=:jwtInfo


请求方法:post


请求参数:


返回结果:

参数名称参数描述参数类型备注
userId考生账号String
userName考生姓名String
depName部门名称String
position职位String
ansTime答题时长String
startTime开始时间String
commitTime交卷时间String
score成绩String
rank排名String
isPass是否通过String
result考试情况String,取值枚举:
及格,不及格,漏考
isForce是否强制交卷Integer,取值枚举

0--否
2--是(切屏防作弊 )
3--是(x秒无操作自动交卷 )
4--是(闯关失败 )
6--是(管理员强制交卷)
7--是(人脸识别失败次数超限)
- 未参与学员

note备注String
field1自定义字段1String
field2自定义字段2String
field3自定义字段3String
field4自定义字段4String
field5自定义字段5String


(3)试卷试题列表接口:


请求地址:https://api.kaoshixing.com/api/company/data/:appId/?jwt=:jwtInfo


请求方法:post


请求参数:

返回结果:


(4)考生答案列表接口:


请求地址:https://api.kaoshixing.com/api/company/data/:appId/?jwt=:jwtInfo


请求方法:post


请求参数:

参数名称参数描述类型备注
examInfoId考试idint119511


返回结果:

参数名称参数描述类型备注
userId账号String
ansAndScore考生答案和得分JsonString


(5)在线学习内容列表接口:


请求地址:https://api.kaoshixing.com/api/company/data/:appId/?jwt=:jwtInfo


请求方法:post


请求参数:


返回结果:

参数名称   参数描述类型备注
courseID课程IDstring
courseName课程名称string
courseCreateTime课程创建时间string
courseUpdateTime课程最后一次修改时间string
courseTime学习课程所需最短时间int单位秒
courseStuNum应参与该课程的人数int


(6)在线学习时长列表接口:


请求地址:https://api.kaoshixing.com/api/company/data/:appId/?jwt=:jwtInfo


请求方法:post


请求参数:

返回结果:

参数名称参数描述类型备注
userId账号String
studyTime学习时长String
finishStatus完成进度String
courseTime学习课程所需最短时间int单位 秒


(7)获取考生可见考试和考试结果整合列表

请求地址:https://api.kaoshixing.com/api/company/data/:appId/?jwt=:jwtInfo

请求方法:post

请求参数:


返回结果:

参数名称参数描述类型备注
examInfoId考试idint
examStyleName考试类型String
examName考试名称String
examStartTime考试开始时间String
examEndTime考试结束时间String
examTimeRestrict是否限制每题时长String
examTime考试时长(分钟)int
examResultsId考试结果idint
results分数double
isPass是否通过int
examLink考试链接String
inquireLink查询结果链接String
practiceMode是否联系模式int
status考试状态String

examing:答题中、checked:已批改可查看、

checking:批改中不可查看、new:未作答、

notReleased:暂不公布不可查看


(8)获取学员列表

请求地址:https://api.kaoshixing.com/api/company/data/:appId/?jwt=:jwtInfo

请求方法:post

请求参数:

参数名称参数值示例参数描述
page1页面id


返回结果

参数名称参数描述类型备注
page页码int每页20条
userId用户IDint
userName账号string
surname姓名string
departmentName部门,从根目录往下,例如“部门分类/部门”string
userPoint积分int
lastLoginTime最近登录时间string
isBindWechatDesc是否绑定微信string

1代表已绑定,0代表未绑定

userLableNames学员标签,标签间以逗号隔开string仅在学员标签功能开启时生效,功能关闭时返回null
status状态string

0正常,1禁用,2临时账号

permission权限int

0代表考试星;1代表会否;2代表全部都有;3代表全部没有

creater创建人int创建账号的用户id
createTime创建时间string
phone手机string未设置时返回null
email证件号string未设置时返回null
position职位string未设置时返回null
identityCard证件号string未设置时返回null
notice备注string未设置时返回null
field1字段1string未设置时返回null
field2字段2string未设置时返回null
field3字段3string未设置时返回null
field4字段4string未设置时返回null
field5字段5string未设置时返回null
identityImg证件照urlstring未设置时返回null