第三方调用开放平台服务用户指南
作者:王张章 ; 邮箱:zzwang@iflytek.com
第三方请求接口服务说明
-
请求平台URL说明
- 测试环境:http://test.zhixue.com/openapi/service/${serviceName}
- 现网环境:http://www.zhixue.com/openapi/service/${serviceName}
其中serviceName为配置在平台上的可用服务,具体可用服务见服务列表。如有可用服务为:getSchoolByClassId,则请求平台的url为:http://test.zhixue.com/openapi/service/getSchoolByClassId
-
请求平台方式和Content-Type类型说明
- 平台支持HTTP POST和GET方式
- 平台支持Content-Type类型包括application/x-www-form-urlencoded和application/json
对于application/x-www-form-urlencoded类型GET和POST方式都可以请求平台
对于application/json类型,只接收POST请求,请求的内容要在HTTP BODY中,平台只会解析body体中的数据
-
请求参数说明
- 平台所需通用参数放在HTTP HEAD中,必传参数说明如下:
- appKey:向开放平台申请的唯一标识
- secrete:请求密钥(MD5加密),为appCode+appKey+发起请求时的时间戳(毫秒)
每次生成的密钥只被允许访问一次(测试环境为方便测试可能关闭)
每次生成的密钥在半小时以内有效 - timeStamp:请求时的时间戳,和secrete中加密的时间戳保持一致
- 接口业务参数根据HTTP请求方式和Content-Type放入queryString或者HTTP BODY中
加密方式示例:
StringBuffer sb = new StringBuffer();
Long timeStamp=System.currentTimeMillis();
sb.append(appCode).append(appKey).append(timeStamp);
String secrete=ToolsUtil.getMD5(sb.toString(), “utf-8”);
- 平台所需通用参数放在HTTP HEAD中,必传参数说明如下:
消息格式和消息码定义
-
开放平台提供统一的数据返回格式,通信格式为JSON,接口服务(见服务列表)返回的数据会放在data字段中,具体data数据体格式见服务列表中服务详细描述。定义如下:
public class OpenResp {/** * 响应消息码 */ private String code; /** * 响应消息描述 */ private String message; /** * 响应数据,主要为业务服务接口返回的json字符串类型的数据 */ private String data;
}
消息码和消息描述定义:
SUCCESS(“0”,“成功”),
UNKNOWN_ERROR("-1",“系统错误”),
LACK_PLATFORM_PARAM(“10001”,“缺少平台必须参数或参数值为空”),
INVALID_PARAM(“10002”,“非法参数”),
URL_EXPIRED(“10003”,“链接超过半小时,请求失效”),
INVALID_APPKEY(“10004”,“无效的APPKEY”),
INVALID_SIGNATURE(“10005”,“无效的签名”),
URL_REUSED(“10006”,“同一url不能被重复使用,每次调用需要更新签名”),
PARSE_PARAM_ERROR(“10007”,“解析请求参数错误”),
SERVICE_NOT_EXISTS(“20001”,“请求服务不存在”),
SERVICE_CLOSED(“20002”,“请求服务不可用”),
NOT_ACCESS_SERVICE_AUTH(“20003”,“没有服务访问权限”),
NOT_AREA_ACCESS_AUTH(“20004”,“没有区域访问权限”),
CALLED_THIRD_URL_ERROR(“30001”,“调用业务接口出错”),
CALLED_THIRD_URL_NOT_FIND(“30002”,“业务接口地址不存在或错误”),
CALLED_THIRD_URL_TIMEOUT(“30003”,“业务接口调用超时”),
LACK_THIRD_URL_PARAM(“30004”,“缺少第三方业务接口必要参数”);
开放平台可用服务列表和详细描述
如无特殊说明,请求的Content-Type默认为application/x-www-form-urlencoded;返回的数据格式为JSON字符串
用户中心服务
-
userService-getStudent
- 服务详细描述:根据学生id获取学生详细信息,不包含学生选课信息
- 服务详细参数说明见:http://in.zhixue.com/api/index.php?s=/jcfw&page_id=393 (用户服务/http接口/)
-
userService-getUserByUserId
- 服务详细描述:根据用户id获取用户详细信息
- 服务详细参数说明见:http://in.zhixue.com/api/index.php?s=/jcfw&page_id=394 (用户服务/http接口/)
-
userService-getTeachersInClazz
- 服务详细描述:获取某个班级教授某门学科的老师
- 服务详细参数说明见:http://in.zhixue.com/api/index.php?s=/jcfw&page_id=395 (用户服务/http接口/)
-
userService-getStudents
- 服务详细描述:获取某个班级的所有学生
- 服务详细参数说明见:http://in.zhixue.com/api/index.php?s=/jcfw&page_id=396 (用户服务/http接口/)
-
userService-getUserByLoginName
- 服务详细描述:根据登录名获取用户
- 服务详细参数说明见:http://in.zhixue.com/api/index.php?s=/jcfw&page_id=397 (用户服务/http接口/)
-
userService-getTeachings
- 服务详细描述:获取老师的授课信息
- 服务详细参数说明见:http://in.zhixue.com/api/index.php?s=/jcfw&page_id=398 (用户服务/http接口/)
-
schoolService-getSchool
- 服务详细描述:获取某个学校的详细信息
- 服务详细参数说明见:http://in.zhixue.com/api/index.php?s=/jcfw&page_id=399 (用户服务/http接口/)
-
schoolService-getSchoolByUserId
- 服务详细描述:获取用户所在的学校
- 服务详细参数说明见:http://in.zhixue.com/api/index.php?s=/jcfw&page_id=400 (用户服务/http接口/)
-
clazzService-getClazzsByRole
- 服务详细描述:获取某个角色的用户所在的班级
- 服务详细参数说明见:http://in.zhixue.com/api/index.php?s=/jcfw&page_id=401 (用户服务/http接口/)
-
clazzService-getBindClasses
- 服务详细描述:根据第三方班级ID获取绑定关系
- 服务详细参数说明见:http://in.zhixue.com/api/index.php?s=/jcfw&page_id=596 (用户服务/http接口/)
-
subjectBaseService-getTeachSubjectsByExam
- 服务详细描述:通过考试科目获取教学科目
- HTTP请求方式:GET
- 请求参数说明:
必传参数说明:
- code:考试科目
- phase:学段
可选参数说明:
- 返回结果格式和字段说明
{
“code”: “0”,
“message”: “成功”,
“data”: “[
{
“code”: “05”,
“name”: “物理”,
“sort”: 140,
“isMultiSubject”: false,
“parentCode”: null,
“isAddOrRemove”: true,
“type”: null,
“hasPrimary”: false,
“hasJuniorMiddle”: true,
“hasSeniorHigh”: true,
“hasBasic”: true,
“hasTeach”: true,
“hasExam”: true,
“hasCustom”: false,
“customType”: null,
“orgId”: “1”,
“orgType”: “country”,
“hasNewGaoKao”: true,
“ident”: “required”
}
]”
} -
userService-getStudent
- 服务详细描述:根据学生id获取学生详细信息,不包含学生选课信息
- HTTP请求方式:GET
- 请求参数说明:
必传参数说明:
- studentId:学生ID
可选参数说明:
- 返回结果格式和字段说明
胡神主未提供
-
userService-getUsersByUserCodes
- 服务详细描述:批量根据学生学号获取学生的基本信息
- HTTP请求方式:GET
- 请求参数说明:
必传参数说明:
- userCodes:学号
可选参数说明:
- 返回结果格式和字段说明
胡神主未提供
-
userService-getHeadTeacher
- 服务详细描述:获取某个班级的班主任
- HTTP请求方式:GET
- 请求参数说明:
必传参数说明:
- clazzId:班级ID
可选参数说明:
- 返回结果格式和字段说明
胡神主未提供
-
userService-getTeachersInClazz
- 服务详细描述:获取某个班级教授某门学科的老师
- HTTP请求方式:GET
- 请求参数说明:
必传参数说明:
- classId:班级ID
- subjectCode:学科code
可选参数说明:
- 返回结果格式和字段说明
胡神主未提供
评价档案阅卷服务
-
getClassExamArchiveByExam
- 服务详细描述:获取该学校某考试全部班级全学科统计数据
- HTTP请求方式:GET
- 请求参数说明:
必传参数说明:
- examId:考试ID(消息推送含此参数,以下相同)
- schoolId:学校ID(消息推送含此参数,以下相同)
可选参数说明:
- 返回结果格式和字段说明
[
{
“id”: “c0cf9499-5df4-4250-ae48-ab1105bb2d28”,
“examId”: “b11fc8e5-2fc0-457f-b5b9-987d14f90e0f”,
“examName”: “单人第一次月考数据”,
“examCreateDateTime”: 1414053025000,//考试创建时间
“createDateTime”: 1414054834350,//记录创建时间
“gradeCode”: “09”, //年级ID
“schoolId”: “2244000001000002392”,
“subjectCode”: “03”,//学科ID
“subjectCodes”: [ //学科ID列表
“03”
],
“version”: 1001,//版本号
“isFinal”: null,//是否全科结束
“markingExamTypeName”: null,//考试类型
“markingExamTypeCode”: null, //考试类型编码
“examDateTime”: null,//考试时间
“reportVersion”: “1001”,//版本号
“className”: “九年级45班”,
“classId”: “2034000020000000727”,
“classOrder”: null, //班级排序
“studentCount”: null,//学生数目
“submitStudentCount”: 1, //提交人数
“unSubmitStudentCount”: 6, //未提交人数
“tiStudentCount”: 0, //剔除学生数目
“avgScore”: 116.0,//平均分
“maxScore”: 116.0,//最高分
“minScore”: 116.0,//最低分
“scoreSections”: [
{
“minScore”: 0.0, //分段起始分数
“maxScore”: 15.0, //分段结束分数
“count”: 0, //分段人数
“rate”: 0.0 //分段人数赞比
}
],
“standardDeviation”: 0.0,//标准差
“tiArchive”: { //剔除学生之前班级统计信息
tiScore:null 总分
tiClassRank:null 班级排名;
tiSchoolRank:null 校级排名
tiGradeRank:null 年级排名
tiAvgScore:null 平均分
tiMaxScore:null 最高分
tiMinScore:null 最高分
tiExcellentRate:null 优秀率
tiExcellentCount:null 优秀人数
tiGreatRate:null 良好率
tiGreatCount:null 良好人数
tiQualifiedRate:null 合格率
tiQualifiedCount:null 合格人数
tiDisQualifiedRate:null 不合格率
tiDisQualifiedCount:null 不合格人数
tiPassCount:null 及格人数
tiPassRate:null 及格率
tiStudentCount:null 被剔除的学生数
tiScoreSections:null 被剔除的学生数
tiUserSubjectScores:null 学生单学科分数、
schoolDeptRan:null 文理考生排名
schoolElectiveRank:null 选考组合排名
tiCustomClassRank:null 自定义班级排名
tiCustomSchoolRank:null 定义校级排名}
“statStudentCount”: null //统计学生数 -
getSchoolClassArchiveMonList
- 服务详细描述:获取该学校某考试全部班级单科统计数据
- HTTP请求方式:GET
- 请求参数说明:
必传参数说明:
- examId:考试ID
- schoolId:学校ID
可选参数说明:
- 返回结果格式和字段说明
[
{
“id”: “412a7846-0689-493b-bbf5-8000ade6b382”,
“subjectCode”: “03”, //学科ID
“subSubjectCodes”: null, //子学科
“gradeCode”: “09”,年级ID
“schoolId”: “2244000001000002392”, 学校ID
“topicSetId”: “4782b05c-4a56-4c07-828e-683b3e09de4c”, 试卷ID
“topicSetName”: “单人第一次月考数据(英语)”, 试卷名称
“standardScore”: 150.0, //试卷满分
“createPaperTime”: 1414053026000, //试卷创建时间
“createTime”: 1414054833905, //记录创建时间
“updateTime”: 1414054833905, //更新时间
“examId”: “b11fc8e5-2fc0-457f-b5b9-987d14f90e0f”, //
“examName”: “单人第一次月考数据”,
“markingExamTypeName”: null,//考试类型
“markingExamTypeCode”: null, //考试类型编码
“examCreateDateTime”: null, //考试创建时间
“examDateTime”: null, //考试时间
“classId”: “2034000020000000727”,
“className”: “九年级45班”,
“classOrder”: 209045,
“classTeacherName”: “方新宇”,
“avgScore”: 116.0, //平均分
“maxScore”: 116.0, //最高分
“minScore”: 116.0, //最低分
“excellentCount”: 0, //优秀学生数目
“wellCount”: 1,//良好学生数目
“qualifiedCount”: 0, //合格学生数目
“disQualifiedCount”: 0,//不合格学生数目
“passCount”: 1,//及格人数
“excellentRate”: 0.0,//优秀学生占比
“passRate”: 1.0, //及格人数
“qualifiedRate”: 0.0,//合格学生占比
“wellRate”: 1.0,//良好学生占比
“disQualifiedRate”: 0.0,//不合格学生占比
“scoreSections”: [ //班级分段统计
{
“minScore”: 0.0, //分段起始分数
“maxScore”: 15.0, //分段结束分数
“count”: 0, //分段人数
“rate”: 0.0 //分段人数赞比
}
],
“standardDeviation”: 0.0, 班级学生标准差
“studentCount”: 7, //班级学生数
“submitStudentCount”: 1, //提交人数
“unSubmitStudentCount”: 6, //未提交人数
“tiStudentCount”: 0, //剔除学生数目
“archiveStepScore”: null, //档案分步分数
“tiArchive”: {
tiScore:null 总分
tiClassRank:null 班级排名;
tiSchoolRank:null 校级排名
tiGradeRank:null 年级排名
tiAvgScore:null 平均分
tiMaxScore:null 最高分
tiMinScore:null 最高分
tiExcellentRate:null 优秀率
tiExcellentCount:null 优秀人数
tiGreatRate:null 良好率
tiGreatCount:null 良好人数
tiQualifiedRate:null 合格率
tiQualifiedCount:null 合格人数
tiDisQualifiedRate:null 不合格率
tiDisQualifiedCount:null 不合格人数
tiPassCount:null 及格人数
tiPassRate:null 及格率
tiStudentCount:null 被剔除的学生数
tiScoreSections:null 被剔除的学生数
tiUserSubjectScores:null 学生单学科分数、
schoolDeptRan:null 文理考生排名
schoolElectiveRank:null 选考组合排名
tiCustomClassRank:null 自定义班级排名
tiCustomSchoolRank:null 定义校级排名}
"isAdmin": true, //是否行政班 "isTeach": false, //是否教学班 "levelDistributions": null, 等级分布占比情况 "statStudentCount": 1, //统计学生数目 "zscore": 3.0 //z分数 }
]
-
getAllUserExamArchiveByExamClass
- 服务详细描述:获取该学校某考试全部学生全科统计数据
- HTTP请求方式:GET
- 请求参数说明:
必传参数说明:
- examId:考试ID
- schoolId:学校ID
- classId:班级ID(通过接口getSchoolClassArchiveMonList获取)
可选参数说明: