云平台第三方应用接入文档

版本说明

版本 时间 修订人 描述
V1.0 2017-07-20 pks 重新修订版
V1.1 2017-08-02 pks 添加用户认证接口
V1.2 2018-01-26 pks 添加了短信发送、用户应用权限判断等接口,调整了日志上传接口参数
V2.2 2018-05-15 pks 支持子应用页面跳转到云平台对应的的子应用后台页面方式,添加接口 编号为14-27
V2.2.1 2018-05-28 pks 添加获取教材信息接口29 、添加接口错误返回码
V2.3 2018-07-02 pks 添加相关接口30-37、添加接口错误返回码类型
V3.1 2018-09-27 WJ 添加相关接口38、获取年级与学段关联列表
V3.2 2019-02-28 pks 添加班级列表接口39
V3.3 2019-04-15 PKS 添加发送系统通知接口 40
V3.4 2019-09-03 PKS 添加应用用户列表接口41(新),包含用户的应用权限数据,
新增可根据时间获取在此时间后变更的用户列表
V3.5 2019-11-11 PKS 添加Aouth2 授权登录接口42
V3.6 2019-12-09 PKS 新增注销通知信息,详情查看(二、接入说明->1、接口方式)篇
V3.7 2020-05-06 PKS 扩展接口 2 增加可选参数应用id可直接获得相应的usetauth信息

目录


一、概述

[回到目录]

1.平台说明

云平台作为“瓯教云”中心基础平台的数据核心系统,第三方应用(外部应用)可通过接口形式接入。

2.接入方式

(1)https接口方式(https形式)
(2)授权登录模式(Aouth2 授权登录接口)
(3)RMI方式(暂不对外)

3.接入注意事项

应用通过接口等形式,获奖云平台用户基础信息、单位信息、班级信息等等,其中基础信息必须来源于云平台,以保证各应用间用户、单位等最基本信息的一致性,避免信息孤岛事件发生。

(1)基础信息(必选):用户信息、单位信息、单位登陆信息必须来源于云平台,通过接口(8,9,11,15,16,41 择情挑选)实现。同时应用推送给用户的信息和使用日志通过接口(12)返回给云平台。
(2)扩展信息(可选):教材信息、任课信息、班级信息等看应用实际使用环境,自主选择通过接口对接

4.基础信息更新

(1)用户主动更新

用户通过登陆云平台,点击应用进入第三方应用时,应用要及时更新用户最新最基本信息(主要包含用户、单位、应用内的权限等根据应用的业务需求而定),确保用户、单位等信息与云平台完全一致。

(2)应用同步机制(必须建立)
第三方应用要建立同步机制:

1、自动增量同步,通过接口(41)从云平台获取应用身份的用户最新信息,定期更新到本应用,定期时间由应用决定,但最小值为4小时一次。
2、自动完全同步,建议每周或每月进行一次完全基础数据核对。
3、手工同步机制。在特殊情况下,需要立即获得需要同步的信息时,可以应用管理员直接手动向云平台提前发起基础信息增量同步,以确保应用正常使用。
4、手动完全同步。由管理员发起的完全同步功能。

(3)同步信息处理

应用向云平台请求基础信息时,可获取本应用下所有用户信息(有权限用户、已删除(已取消)权限用户、已禁用用户等),对所有用户信息均可进行更新,但非正常用户要进行核对,做伪删除处理。确保双边合法用户数据一致。

以下重点介绍接口方式的接入说明

二、接入说明

[回到目录]

1、接口方式

目前接口均以https请求的方式进行调用。

2、单点网站方式

此接入方式是用应用添加到云平台应用市场,子应用的后台可以保持不变,用户通过安装应用市场的应用,实现单点跳转。

三、接口调用规范

(一)、HTTPS接口规范

1、IP白名单限制。为确保数据传输安全,第三方应用通过https接口、帐号接入云平台时,应提供接口调用IP,云平台将仅允许此ip获取数据。
2、独立接口访问。如果同一开发者有多个应用要求接入云平台,应为每个应用申请独立的接口帐号。如果应用需要做负载均衡,请开发者自行处理好token共享机制。
3、接口调用次数限制。为规范接口调用行为和减轻云平台压力,应用获取的接口访问token需应用自身进行保存,token有效时间为4小时,建议设置每隔3.5个小时获取一次。默认规定24小时内重新获取接口token最多20次,调用次数达到上限后只能等待时间到了才能重新获取,请谨慎调用。如有特殊需求,可与云平台联系。
4、松耦合设计。通过接口获取的云平台基础信息(包括用户信息、组织信息、字典信息等)请保存到各自应用内,无需进行实时获取。

应用数据同步提供以下几种方式:

5、应用可用性验证。云平台在用户登录后会自发进行验证应用的可用性,采用HttpURLConnection验证方式,验证的时候会在回调地址用携带jumptype的参数,应用判断该参数 =1 的时候不需要处理任何逻辑(比如用户登录),保证接口顺利走完即可。

(二)、AOUTH2 接口规范

aouth2授权登录流程图:

第三方调用改接口步骤:
1、跳转授权登录地址 ../aouth2/tologin 参数详见接口42
2、进入回调地址,获取到登录用户token。
3、根据获取到的登录用户token,结合本文档的接口1、2 获取到当前的登录用户基本信息,这里的1接口获取token凭证全接口共用。

四、实现案例

[回到目录]
针对接口方式进行举例说明,单点网站方式为跳转指定的URL,不做举例,RMI方式由于其限制也不做着重说明,以下针对接口接入方式做一下简单的举例:
1、获取接口账号密码

admin  000000

2、添加应用到云平台上 填写回调地址:

http://.../index/toindex.do

云平台回调地址信息:

http://.../index/toindex.do?action=login&token=2225718754561024&mid=1578684722072576&rootPath=http%3A%2F%2Fwww.thanone.com

3、通过回调地址 获取到 登录用户token为 2225718754561024
4、在入口方法中 通过接口账号密码调用获取token 接口获取token
返回如下:

{
    "s":1,
    "d":"faskdkfkegkegke"
}

S=1 表示获取成功了,d里面的信息即为获取到的接口凭证token 值
通过接口凭证token值 和登录用户token调用云平台根据登录用户token获取用户信息的接口
返回如下:

{
    "id": 181616953197569,
    "userName": "admin",
    "realName": "admin",
    "passWord": "4b7d9fc328c1806d821cea7acfd443f0",
    "sex": 1,
    "headImage": "group1/M00/00/2A/CoMME1MYGN2AAlGCAAFkxhxfcDY757.png",
    "mobilePhone": "15968729288",
    "lastLoginDate": "Jun 16, 2017 5:12:16 PM",
    "descr": "",
    "createDate": "Jul 3, 2013 4:28:35 PM",
    "updateDate": "Mar 21, 2017 5:12:50 PM",
    "bigHeadImage": "group1/M00/00/2A/CoMME1MYGPGAEotoAAAtm4DkO_k442.png",
    "midHeadImage": "group1/M00/00/2A/CoMME1MYGPGAUi-3AAAtm4DkO_k850.png",
    "state": 1,
    "isDeleted": false,
    "realNameOfPingyin": "admin",
    "shortTel": "",
    "unitCode": "1#",
    "orgId": 181616953197568,
    "multiIdentity": "1449937060858880,1511858336500736,1511856810658816",
    "sysRole": 4,
    "lastLoginIp": "192.168.1.158",
    "onjob_state": 1
}

获取单位信息可根据用户信息中的 unitCode 通过 单位接口的findByCode 获取:
返回如下:

{
    "id": 181616953197568,
    "name": "某某教育系统",
    "parentId": 1,
    "code": "1#",
    "state": 1,
    "isDeleted": false,
    "typeLevel2": 2,
    "typeLevel3": 0,
    "nameOfPingyin": "wzsohqjyxt",
    "createDate": "Dec 23, 2014 4:27:25 PM",
    "updateDate": "Jun 10, 2015 9:51:12 AM",
    "displayOrder": 10000,
    "officeNature": "公办"
}

获取成功之后跟自己应用中进行同步操作
到此为止,应用接入已经成功,后续业务中需要用到更多的信息,拿着接口访问凭证调用相关接口即可,需要注意的是接口访问凭证的有效时间。
获取字典中信息接口 可通过字典接口中的 searchItem(字典key值),返回格式如下:

[
    {
        "id": 1438289585687552,
        "dicKey": "system.subject",
        "name": "语文",
        "value": "1",
        "sort": 1901,
        "createDate": "Dec 8, 2015 9:59:31 AM"
    },
    {
        "id": 1438291034737664,
        "dicKey": "system.subject",
        "name": "数学",
        "value": "2",
        "sort": 1902,
        "createDate": "Dec 8, 2015 10:01:00 AM"
    }
]
具体key值可联系云平台。
如需一些接口平台暂未提供的,可联系云平台相关人员。

五、子应用页面跳转到云平台后台对应的子应用后台

子应用前台页面可通过 跳转链接 跳转进入后台子应用模块内
跳转地址: 云平台地址/layout/main
通过该地址跳转到云平台,云平台验证登录状态(如果未登录自动进入登录页面,如果已登录跳过登录页),之后直接通过对应的子应用的回调地址跳转到对应的子应用,将子应用要携带的参数带回去,子应用再自行做处理
参数名 必须 类型 说明
jump YES BOOLEAN 值为true,必须传
zyymid YES Long 子应用id,如果没有此参数无法自动跳转到,在上面的回调地址到子应用的时候会传到子应用,即mid
zyy_param NO String 子应用可携带参数,这个参数会原样通过回调地址传回到子应用,子应用根据这个数据做自己的业务处理

六、数据解释

[回到目录]
接口的返回数据均为json格式:

{
    s:int,
    d:object
}
参数 类型 说明
s Integer 接口访问返回标识
1:成功
0:失败
2:token失效
d Object 接口返回描述
s=1:请求结果信息json
s!=1:返回失败或错误信息
err_code String 返回码

返回码列表

返回码 说明
00000 系统异常
10001 接口帐号错误
10002 当前IP没有调用权限
10003 当前接口没有调用权限
10004 接口帐号未指定数据范围
20001 缺少apiToken
20002 接口apiToken无效
20003 缺少接口中必须的参数
20004 接口中参数错误
20101 接口中参数指定的数据不存在
30001 验证码过期
30002 验证码不存在

七、接口列表

1、获取接口凭证apiToken

[回到目录]

说明

注:token有效期默认4小时,请各自保存适量获取,目前获取次数限制为10分钟允许请求2次,接口帐号密码联系云平台获取。

请求方法

GET .../httpapi/getToken.json

参数

参数 必选 类型 说明
account YES String http接口帐号
password YES String http接口密码

返回字段说明

参数 类型 说明
token String 接口访问凭证apiToken
userId String 接口帐号id(可忽略)
name String 接口帐号名称(可忽略)
start_time_long Long 云平台生成token时间,由于服务器间的时间差问题,慎用,
建议:保存自己服务器发起的时间,隔3.5小时重新发起获取token即可
effective Long token有效期时间戳(毫秒)默认4小时

示例


2、根据用户token获取用户信息

[回到目录]

说明

请求方法

POST | GET .../httpapi/findUserByUserToken.json

参数

参数 必选 类型 说明
apiToken YES String 接口访问凭证token
token YES String 用户token(点击进入应用会携带该信息到提供的回调地址上,自行获取)
moduleId NO Long 应用id

返回字段说明

参数 类型 说明
id Long 用户id
userName String 用户昵称
realName String 用户真实姓名
passWord String 用户密码
sex Integer 1男 2女 99其他
headImage String 用户头像地址
mobilePhone String 手机号码
unitCode String 组织code,可根据此获取组织信息
orgId Long 组织id
dd_userid String 用户在钉钉的userid值
String 其余非常用属性根据情况使用
userAuth Object 用户对应的应用权限信息

示例
{
“s”: 1,
“d”:{
“id”: 8881595776808,
“userName”: “111”,
“realName”: “111”,
“sex”: 2,
“identity”: “11111”,
“mobilePhone”: “1111”,
“lastLoginDate”: “2018-10-26 14:17:33”,
“descr”: “”,
“createDate”: “2014-08-31 20:17:11”,
“updateDate”: “2019-06-04 14:34:39”,
“isDeleted”: false,
“realNameOfPingyin”: “111”,
“shortTel”: “”,
“unitCode”: “1#95#2#”,
“orgId”: 376929141851136,
“multiIdentity”: “1511858336500736,1449937060858880”,
“multiIdentityValue”: “1,9”,
“sysRole”: 3,
“lastLoginIp”: “192.168.1.12”,
“onjob_state”: 1,
“unit”: {
“id”: 376929141851136,
“name”: “学校名称”
},
“dd_userid”:”11111”,
“userAuth”: {
“userId”: 8881595776808,
“moduleId”: 1,
“state”: 1, //1:启用用户 2:禁用用户 3:删除用户
“role”: 99, //1-管理员 99-普通用户
“ctime”: “2019-08-22 15:48:32”, //应用用户权限添加时间
“utime”: “2019-08-22 15:48:32” //应用用户权限变更时间
}
}
}

示例


3、根据组织code获取单位信息

[回到目录]

说明

请求方法

POST | GET .../httpapi/findUnitByCode.json

参数

参数 必选 类型 说明
apiToken YES String 接口访问凭证token
unitCode YES String 组织code ,需要进行编码

返回字段说明

参数 类型 说明
id Long id
name String 名称
parentId Long 上级id
code String code
typeLevel2 Integer 单位类别
typeLevel3 Integer 单位分类
nameOfPingyin String 名称的拼音(首字母)
displayOrder Long 排序号
officeNature String 办学性质

示例


4、根据组织id 获取单位信息

[回到目录]

说明

请求方法

POST | GET .../httpapi/findUnitById.json

参数

参数 必选 类型 说明
apiToken YES String 接口访问凭证token
id YES String 组织id

返回字段说明

参数 类型 说明
id Long id
name String 名称
parentId Long 上级id
code String code
typeLevel2 Integer 单位类别
typeLevel3 Integer 单位分类
nameOfPingyin String 名称的拼音(首字母)
displayOrder Long 排序号
officeNature String 办学性质

示例


5、根据key值获取相应的字典项列表

[回到目录]

说明

请求方法

POST | GET .../httpapi/findDicItemByKey.json

参数

参数 必选 类型 说明
apiToken YES String 接口访问凭证token
key YES String 要获取的字典信息key值 ,该值可从接口20获取

返回字段说明

参数 类型 说明
id Long id
dicKey String 字典信息key值
name String 名称
value String 字典值
Sort Long 排序

示例


6、根据用户id 获取用户信息

[回到目录]

说明

请求方法

POST | GET .../httpapi/findUserById.json

参数

参数 必选 类型 说明
apiToken YES String 接口访问凭证token
id YES Long 用户id

返回字段说明

用户列表信息 用户模型参考2接口返回

示例


7、根据多个用户id获取用户列表

[回到目录]

说明

请求方法

POST | GET .../httpapi/findUsersByIds.json

参数

参数 必选 类型 说明
apiToken YES String 接口访问凭证token
idsJson YES Long 用户id集合json数据
例:[8839779986,8881596808]

返回字段说明

用户列表信息 用户模型参考2接口返回

示例


8、根据条件查询用户列表(不包含单位信息)

[回到目录]

说明

请求方法

POST | GET .../httpapi/findUsersNoUnit.json

参数

参数 必选 类型 说明
apiToken YES String 接口访问凭证token
search NO Long 查询关键字(查询字段由model界定)
model NO Integer null表示search不起作用
0x1表示查找用户名
0x2表示查询真实名称
0x4表示拼音查找
0x8表示电话号码
0x10表示邮箱
0x20表示身份证
0x40表示qq
unitCode NO String 单位code ,需要进行编码,需要和codeModel联合使用
codeModel NO Integer null表示unitCode不起作用
0x1 表示 精确查询
0x2表示 右模糊匹配
0x3表示 左模糊匹配
0x4 表示模糊匹配
state NO Integer 用户
role NO Integer 1表示教师
2表示学生
3表示家长
暂时只能1
isDeleted NO Boolean 软删除标记
userIdsJson NO String 用户id集合json数据
例:[8839779986,8881596808]
isIn NO Boolean 决定 userIdsJson 的筛选 true只获取相关id的信息 false 排除相关id
offset NO Integer 分页开始位置
pageSize NO Integer 每页查询数量
order NO Integer 排序:各值对应如下:
0:createDate desc
1:lastLoginDate desc
3:state asc
4: state desc
5: unitCode asc
6: role asc
7: sex asc

返回字段说明

用户列表信息 用户模型参考2接口返回

示例


9、根据条件查询用户列表(包含单位信息)

[回到目录]

说明

请求方法

POST | GET .../httpapi/findUsersHaveUnitInfo.json

参数

参数同接口7

返回字段说明

返回信息中的用户模型(参考2接口返回)增加 unit 为单位模型(参考3接口返回)

示例


10、获取应用用户列表(当前已作废,请查看新接口41 增量查询)

[回到目录]

说明

请求方法

POST | GET .../httpapi/findUsersByModuleId.json

参数

参数 必选 类型 说明
apiToken YES String 接口访问凭证token
search NO Long 查询关键字(查询字段由model界定)
model NO Integer null表示search不起作用
0x1表示查找用户名
0x2表示查询真实名称
0x4表示拼音查找
0x8表示电话号码
0x10表示邮箱
0x20表示身份证
0x40表示qq
0x80表示单 位名称
role NO Integer 1:管理员
99:普通用户
moduleId YES Long 模块id
isInThisModule NO Boolean 是否在模块内
userIdsJson NO String 用户id集合json
userIdISIn NO Boolean 决定 userIdsJson 的筛选 true只获取相关id的信息 false 排除相关id
offset NO Integer 分页开始位置
pageSize NO Integer 每页查询数量

返回字段说明

示例


11、获取单位列表信息

[回到目录]

说明

请求方法

POST | GET .../httpapi/findUnits.json

参数

参数 必选 类型 说明
apiToken YES String 接口访问凭证token
code NO String 单位编号(匹配模式由codeModel来界定)
codeModel NO Integer 0x1表示 精确查询
0x2 表示 左匹配模糊查询
0x3 表示 右匹配模糊查询
0x4表示 模糊查询
search NO String 输入查询条件(通过model来界定查询字段)
model NO String 0x1 表示组织名称
0x2表示拼音
0x1
0x2表示所有
parentId NO Long 上一级单位编号
state NO Integer 单位状态
level2 NO Integer 组织二级类型
level3 NO Integer 组织三级类型
isDeleted NO Boolean 是否已经删除
filterUnitIdsJson NO String 单位id 集合json
isIn NO Boolean 决定上个参数的筛选 true只获取相关id的信息 false 排除相关id
offset NO Integer 分页开始位置
pageSize NO Integer 每页查询数量
order NO Integer 排序:值对应如下:
0:code desc
1:typeLevel1 asc
2:state asc
3:state desc
4:createDate
5:nameOfPingyin desc
6:typeLevel2 asc
7:typeLevel3 asc

返回字段说明

返回信息中的单位模型(参考3接口返回)

示例


12、上传日志给云平台

[回到目录]

说明

请求方法

POST | GET .../httpapi/uploadLog.json

参数

参数 必选 类型 说明
apiToken YES String 接口访问凭证token
logLevel YES Intger 日志级别
1、info
2、error
3、debug
4、warn
operater YES String 操作人
ip YES String 操作人IP地址
orgName NO String 所在单位
modId YES Long 应用ID
modName NO String 所属应用
infoModule NO String 所属模块
operationType YES String 操作类型
content YES String 日志内容

返回字段说明

返回s

示例


13、云平台帐号校验

[回到目录]
说明

请求方法

POST|GET .../httpapi/checkAccount.json

参数

参数 必选 类型 说明
apiToken YES String 接口访问凭证token
account YES String 云平台帐号:支持昵称、手机、身份证
password YES String 帐号密码

返回说明
接口的返回数据均为json格式:
验证通过返回:

{"s":1,"d":12312312}

验证失败返回:

{"s":0,"d":"失败原因说明"}

14、短信发送

[回到目录]

说明

请求方法

POST|GET .../httpapi/sendMessage.json

参数

参数 必选 类型 说明
apiToken YES String 接口访问凭证token
mobile YES String 短信发送手机号
content YES String 短信发送内容

返回说明
发送成功:

{
    "s":1,
    "d":"发送成功"
}

发送失败:

{"s":0,"d":"失败原因说明"}

15、通过用户token验证用户应用权限

[回到目录]

说明
通过回调地址上的用户token、mid查询用户在该应用的权限

请求方法

POST|GET .../httpapi/isModuleAdmin.json

参数

参数 必选 类型 说明
apiToken YES String 接口访问凭证token
token YES String 用户token
moduleId YES Long 应用ID

返回说明
调用成功:

{"s":1,"d":"true"}  or  {"s":1,"d":"false"}

调用失败:

{"s":0,"d":"失败原因说明"}

16、通过用户ID验证用户应用权限

[回到目录]

说明

通过回调地址上的用户Id、mid查询用户在该应用的权限

请求方法

POST|GET .../httpapi/isModuleAdminByUserId.json

参数

参数 必选 类型 说明
apiToken YES String 接口访问凭证token
userId YES Long 用户ID
moduleId YES Long 应用ID

返回说明
调用成功:

{"s":1,"d":"true"}  or  {"s":1,"d":"false"}

调用失败:

{"s":0,"d":"失败原因说明"}

17、修改个人密码

[回到目录]

说明
修改个人密码

请求方法

POST|GET .../httpapi/updatePwd.json

参数

参数 必选 类型 说明
apiToken YES String 接口访问凭证token
userId YES Long 用户id
oldPwd YES String 旧密码
pwd Yes String 新密码

返回说明
调用成功:

{"s":1,"d":"修改成功"}

调用失败:

{"s":0,"d":"失败原因说明"}

18、修改个人头像

[回到目录]

说明
修改个人头像

请求方法

POST|GET .../httpapi/updateHeadImage.json

参数

参数 必选 类型 说明
apiToken YES String 接口访问凭证token
userId YES Long 用户id
file_path YES String 头像图片地址:可访问的完整url地址

返回说明
调用成功:

{"s":1,"d":"修改成功"}

调用失败:

{"s":0,"d":"失败原因说明"}

19、修改个人真实姓名

[回到目录]

说明
修改个人真实姓名

请求方法

POST|GET .../httpapi/updateRealName.json

参数

参数 必选 类型 说明
apiToken YES String 接口访问凭证token
userId YES Long 用户id
realName YES String 真实姓名

返回说明
调用成功:

{"s":1,"d":"修改成功"}

调用失败:

{"s":0,"d":"失败原因说明"}

20、获取字典列表

[回到目录]

说明
获取字典列表信息

请求方法

POST|GET .../httpapi/findDicList.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token

返回列表信息字段

字段 类型 说明
id Long id
name String 字典名称
key String 字典key值
explain String 字典说明
sort Long 字典排序号

21、获取学期列表

[回到目录]

说明
获取学期列表

请求方法

POST|GET .../httpapi/findTermList.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token

返回

{"s":1,"d":"数据列表json"}
or
{"s":0,"d":"错误报告内容"}

返回列表信息字段

字段 类型 说明
id Long id
name String 学期名称
year Integer 学年
state Integer 是否是当前学期
1、是
0、否
phase Integer 区分是上学期还是下学期
1、上学期
2、下学期
startTime String 学期开始时间,格式:yyyy-MM-dd
endTime String 学期结束时间,格式:yyyy-MM-dd
lastTerm Long 上个学期的学期id编号

22、获取当前学期

[回到目录]

说明
获取当前学期信息

请求方法

POST|GET .../httpapi/currentTerm.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token

返回

{"s":1,"d":"数据列表json"}
or
{"s":0,"d":"错误报告内容"}

返回列表信息字段

参考接口21返回字段


23、获取单位年级列表

[回到目录]

说明
获取单位年级列表信息

请求方法

POST|GET .../httpapi/gradeList.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token
unitId NO Long 单位id

返回

{"s":1,"d":"数据列表json"}
or
{"s":0,"d":"错误报告内容"}

返回数据字段

字段 类型 说明
id Long id
unitId Long 单位id
name String 年级名称
vals String 年级值—对应字典项中的值
nextVals String 当前年级的下年级值—对应字典项中的值,为空的情况表示当前年级为学校最高年级,没有下一年级了
subjects String 学科值,值类型为 #1#2# “#”之间为某个学科的学科值—对应字典项中的值

24、获取任课列表

[回到目录]

说明
获取任课列表信息

请求方法

POST|GET .../httpapi/renkelist.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token
unitId NO Long 单位id
termId NO Long 学期id
classId NO Long 班级id
offset NO Integer 分页起始编号 与pagesize都有值的时候起效
pagesize NO Integer 分页每页数据量 与offset都有值的时候起效

返回

{"s":1,"d":"数据列表json"}
or
{"s":0,"d":"错误报告内容"}

返回数据字段

字段 类型 说明
id Long id
termId Long 学期id
classId Long 班级id
teacherId Long 教师id
type Integer 类型
1=班主任
2=任课教师
level Integer 班主任级别,当type=1的时候这个值才有,
1=正
2=副
subjects String 学科值—对应字典项中的值

25、获取每周课程列表

[回到目录]

说明
获取学期班级每周的课程列表信息

请求方法

POST|GET .../httpapi/scheduleList.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token
termId NO Long 学期id
classId NO Long 班级id

返回

{"s":1,"d":"数据列表json"}
or
{"s":0,"d":"错误报告内容"}

返回数据字段

字段 类型 说明
id Long id
termId Long 学期id
classId Long 班级id
week Integer 星期几
section Integer 第几节
val String 学科值—对应字典项中的值

26、获取学生列表

[回到目录]

说明
获取学生列表

请求方法

POST|GET .../httpapi/studentList.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token
unitId NO Long 单位id
classId NO Long 班级id
offset NO Integer 分页起始编号 与pagesize都有值的时候起效
pagesize NO Integer 分页每页数据量 与offset都有值的时候起效

返回

{"s":1,"d":"数据列表json"}
or
{"s":0,"d":"错误报告内容"}

返回数据字段
包含用户基本信息 参考接口2 返回数据 除开用户基本信息外 包含学生相关信息:

字段 类型 说明
classId Long 班级id
political String 政治面貌
studentCode String 学籍号
peoples String 民族
nativePlace String 籍贯
registered String 户口
registeredAdress String 户口地址
guardian String 监护人
guardianRelation String 与监护人关系
guardianPhone String 监护人联系电话
guardAddress String 监护人联系地址

27、获取教师列表

[回到目录]

说明
获取教师列表

请求方法

POST|GET .../httpapi/teacherList.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token
unitId NO Long 单位id
offset NO Integer 分页起始编号 与pagesize都有值的时候起效
pagesize NO Integer 分页每页数据量 与offset都有值的时候起效

返回

{"s":1,"d":"数据列表json"}
or
{"s":0,"d":"错误报告内容"}

返回数据字段
包含用户基本信息 参考接口2 返回数据 除开用户基本信息外 包含教师相关信息:

字段 类型 说明
staffer_type String 在编类型—对应字典项中的值
famousteacher_type String 名师类型—对应字典项中的值
workDate String 参加工作时间,格式:yyyy-MM-dd
professionalPost String 专业职务—对应字典项中的值
subject String 学科值,为多学科类型,例 1 或者 1,2 —值对应字典项中的值
section String 学段志,为多学段类型,例 1 或者 1,2 —只对应字典项中的值
teacherCode String 教师资格证号
highestEducation String 最高学历
administrationPost String 行政职务—对应字典项中的值

28、获取单位类别设置信息

[回到目录]

说明
获取单位类别设置信息

请求方法

POST|GET .../httpapi/findUnitTypeSetList.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token
typeLevel2 NO Integer 单位类别typeLevel2—字典项中的值
typeLevel3 NO Integer 单位类别typeLevel3—字典项中的值
offset NO Integer 分页起始编号 与pagesize都有值的时候起效
pagesize NO Integer 分页每页数据量 与offset都有值的时候起效

返回

{"s":1,"d":"数据列表json"}
or
{"s":0,"d":"错误报告内容"}

返回数据字段

字段 类型 说明
typeLevel2 Integer 单位类别typeLevel2
typeLevel3 Integer 单位类别typeLevel3
gradeVals String 年级值,值类型为 #1#2# “#”之间为某个年级的年级值—对应字典项中的值
subjects String 学科值,值类型为 #1#2# “#”之间为某个学科的学科值—对应字典项中的值

29、获取教材信息

[回到目录]

说明
获取教材信息

请求方法

POST|GET .../httpapi/findBookList.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token
section No String 学段-对应字典项中的值
subject No String 学科-对应字典项中的值
version No String 出版社-对应字典项中的值
grade No String 适用年级-对应字典项中的值
offset NO Integer 分页起始编号 与pagesize都有值的时候起效
pagesize NO Integer 分页每页数据量 与offset都有值的时候起效

返回

{"s":1,"d":"数据列表json"}
or
{"s":0,"d":"错误报告内容"}

教材信息

字段 类型 说明
title String 教材全称
section String 学段
subject String 学科
version String 出版社
grade String 适用年级
gradeAlias String 教材
items List 教材章节信息

教材章节信息

字段 类型 说明
bookId Long 教材id
parentId Long 该值为0 表示为章,否则表示 该节所属的章id
name String 名称
position Long 排序号
childList List 子项

30、发送短信验证码

[回到目录]

说明
发送手机短信验证码

请求方法

POST|GET .../httpapi/sendCode.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token
mobilePhone Yes String 手机号

返回

{"s":1,"d":""}
or
{"s":0,"d":"错误报告内容"}

31、校验短信验证码

[回到目录]

说明
校验短信验证码

请求方法

POST|GET .../httpapi/checkCode.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token
mobilePhone Yes String 手机号
code Yes String 短信验证码

返回

{"s":1,"d":""}
or
{"s":0,"d":"错误报告内容"}

32、修改用户基本信息

[回到目录]

说明
修改用户基本信息

请求方法

POST|GET .../httpapi/updateUserInfo.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token
userId Yes Long 用户编号
name_family Yes String 姓氏
name YES String 名称
identity YES String 身份证号
mobilePhone YES String 手机号码
sex YES Integer 性别:1-男 2-女 99-其他
qq NO String QQ号码
email NO String 邮箱
birthday NO String 出生日期,格式:yyyy-MM-dd HH:mm:ss
descr NO String 备注

返回

{"s":1,"d":""}
or
{"s":0,"d":"错误报告内容"}

33、添加用户

[回到目录]

说明
添加用户信息—该接口需要接口帐号绑定单位信息

请求方法

POST|GET .../httpapi/addUser.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token
unitId Yes Long 单位组织id
isTeacher No Integer 是否是教师,1:是 空或0 :不是
isStudent No Integer 是否是学生,1:是 空或0 :不是
isPatriarch No Integer 是否是家长,1:是 空或0 :不是
name_family Yes String 姓氏
name YES String 名称
userName Yes String 昵称帐号-可作为登录帐号,之后不可进行更改
identity YES String 身份证号-可作为登录帐号
mobilePhone YES String 手机号码-可作为登录帐号
password Yes String 帐号密码
sex YES Integer 性别:1-男 2-女 99-其他
qq NO String QQ号码
email NO String 邮箱
birthday NO String 生日,格式:yyyy-MM-dd HH:mm:ss
descr NO String 备注

返回

{"s":1,"d":"151515"} (d:用户id编号)
or
{"s":0,"d":"错误报告内容"}

34、删除用户-软删除

[回到目录]

说明
删除用户-软删除—该接口需要接口帐号绑定单位信息

请求方法

POST|GET .../httpapi/removeUser.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token
userId Yes Long 用户编号

返回

{"s":1,"d":""}
or
{"s":0,"d":"错误报告内容"}

35、获取接口帐号绑定的单位用户信息

[回到目录]

说明
获取接口帐号绑定的单位用户信息

请求方法

POST|GET .../httpapi/findUnitUsers.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token

返回

{"s":1,"d":"用户列表信息json数据"}
or
{"s":0,"d":"错误报告内容"}

用户
用户基本属性参考之前的接口返回
以下为添加项:

字段 类型 说明
passWord String 帐号密码
identity String 身份证号

36、重置密码

[回到目录]

请求方法

POST|GET ../httpapi/resetPwd.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token
userId Yes Long 用户id编号
password Yes String 新密码

返回

{"s":1,"d":"重置成功"}
or
{"s":0,"d":"重置失败或失败原因"}

37、修改用户角色

[回到目录]

请求方法

POST|GET ../httpapi/updateUserRole.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token
userId Yes Long 用户id编号
isTeacher No Integer 是否是教师,1:是 空或0 :不是
isStudent No Integer 是否是学生,1:是 空或0 :不是
isPatriarch No Integer 是否是家长,1:是 空或0 :不是

返回

{"s":1,"d":"修改成功"}
or
{"s":0,"d":"修改失败或失败原因"}

38、获取年级与学段关联列表

[回到目录]

请求方法

POST|GET .../httpapi/findGradeSectionRelList.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token

返回

{"s":1,"d":"数据列表json"}
or
{"s":0,"d":"错误报告内容"}

返回数据字段

字段 类型 说明
typeLevel2 Integer 单位类别typeLevel2
typeLevel3 Integer 学段值,对应字典中的value
gradeVals String 年级值,值类型为 #1#2# “#”之间为某个年级的年级值—对应字典项中的值
subjects String 学科值,值类型为 #1#2# “#”之间为某个学科的学科值—对应字典项中的值
show_typeLevel3 String 学段名
show_gradeVals String 与学段关联的年级,以”,”隔开

39、获取学校班级列表

[回到目录]

请求方法

POST|GET .../httpapi/findClasses.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token
unitId No Long 学校编号
gradeId No Long 学校年级编号
year No Integer 学年 ,例: 2018
offset No Integer 分页-起始位置
pagesize No Integer 分页-获取数据数量

返回

{"s":1,"d":"数据列表json"}
or
{"s":0,"d":"错误报告内容"}

返回数据字段

字段 类型 说明
unitId Long 所属学校编号
gradeId Long 所属学校年级编号
year Integer 学年
classNo Integer 班级号
name String 系统名称
schoolName String 校内名

40、发送系统通知

[回到目录]

请求方法

POST|GET .../httpapi/sendNotice.json

参数

参数 必选 类型 说明
apiToken Yes String 接口访问凭证token
sendUserId Yes Long 发送方用户id编号
receiveUserId Yes Long 接手方用户id编号
title Yes String 标题
content Yes String 内容

返回

{"s":1,"d":"发送成功"}
or
{"s":0,"d":"错误报告内容"}

41、获取应用用户列表(新:包含用户在应用内的权限信息)

[回到目录]

说明

请求方法

POST | GET .../httpapi/findModuleUsers.json

参数

参数 必选 类型 说明
apiToken YES String 接口访问凭证token
role NO Integer 1:管理员
99:普通用户
state NO Integer 1: 启用
2:停用
3:删除
afterTime No String 身份变更时间,查询在这个时间之后变更的记录 格式:yyyy-MM-dd HH:mm:ss
moduleId YES Long 模块id
offset NO Integer 分页开始位置,默认为0
pageSize NO Integer 每页查询数量,默认为5000

返回字段说明

示例
{
“s”: 1,
“d”: [{
“id”: 8881595776808,
“userName”: “111”,
“realName”: “111”,
“sex”: 2,
“identity”: “11111”,
“mobilePhone”: “1111”,
“lastLoginDate”: “2018-10-26 14:17:33”,
“descr”: “”,
“createDate”: “2014-08-31 20:17:11”,
“updateDate”: “2019-06-04 14:34:39”,
“isDeleted”: false,
“realNameOfPingyin”: “111”,
“shortTel”: “”,
“unitCode”: “1#95#2#”,
“orgId”: 376929141851136,
“multiIdentity”: “1511858336500736,1449937060858880”,
“multiIdentityValue”: “1,9”,
“sysRole”: 3,
“lastLoginIp”: “192.168.1.12”,
“onjob_state”: 1,
“unit”: {
“id”: 376929141851136,
“name”: “学校名称”
},
“dd_userid”:”11111”, //用户在钉钉的userid值
“userAuth”: {
“userId”: 8881595776808,
“moduleId”: 1,
“state”: 1, //1:启用用户 2:禁用用户 3:删除用户
“role”: 99, //1-管理员 99-普通用户
“ctime”: “2019-08-22 15:48:32”, //应用用户权限添加时间
“utime”: “2019-08-22 15:48:32” //应用用户权限变更时间
}
},

]
}

也可能出现(用户信息已经删除的情况)

{
“s”: 1,
“d”: [{
“id”: 8881595776808,
“userAuth”: {
“userId”: 8881595776808,
“moduleId”: 1,
“state”: 3, //1:启用用户 2:禁用用户 3:删除用户
“role”: 99, //1-管理员 99-普通用户
“ctime”: “2019-08-22 15:48:32”, //应用用户权限添加时间
“utime”: “2019-08-22 15:48:32” //应用用户权限变更时间
}
},

]
}


42、aouth2 授权登录

[回到目录]

说明

请求方法

GET .../aouth2/tologin

参数

参数 必选 类型 说明
mid YES Long 要授权登录的应用id,来自于云平台的应用,可在用户点击进去PC的回调入口处保存起来,也可咨询进行配置
mparams NO String 需要带回的参数,在授权登录成功后的回调地址上原样带回
redirect_uri YES String 授权登录成功后的回调地址

返回字段说明