如何通过 SUST API 读取信息
v1.01
本系统采用非对称加密进行数据集成。使用 OpenSSL 生成 RSA 公钥和私钥,用于数据加密和解密。集成流程如下。
1. 获取 Read API 的公钥
在学工系统中注册。密钥由学工部信息科提供。您需要提供应用名称、应用 URL 和所需的 API 名称。测试阶段应用 URL 非必填,但上线生产环境时必须提供。
2. 获取 Read API 的应用 ID
应用注册完成后,会同时生成一个应用编号。该值用作 ClientId。
3. Read API 集成端点
统一的 Read API 端点为:
- 公网:
domain/openapi/api/index - 内网:
http://ip/xgb/index.php/openapi/api/index
请求方法:GET。
4. Read API 集成方式
请求参数:
| 参数 | 必填 | 说明 |
|---|---|---|
ClientId | 是 | 应用 ID |
AuthStr | 是 | 权限与时间戳校验码。详见下文。 |
AuthStr 是一个全局认证变量,包含 API 名称和时间戳校验等信息。生成方式如下:
- 构造字符串
ApiName×tamp。 - 使用公钥对字符串进行加密。
- 传输前对加密值执行
base64_encode。
示例:访问学生列表,API 名称为 StudentList,假设当前时间戳为 1730189433。
- 构造字符串:
StudentList&1730189433。 - 使用公钥加密:
sadsadjsldjljflcvjlcvjlxcvjlxcvjlxcvj。 - 执行
base64_encode编码:fgldjflgjfdlgjdljasdhkjasdhas。 - 访问:
text
openapi/api/index?ClientId=xxxx&AuthStr=fgldjflgjfdlgjdljasdhkjasdhas&other_parameters服务器会验证权限以及时间戳是否过期。如果出错,将显示对应的错误信息。
5. API 端点
5.1 学生信息列表
API 名称:StudentList。
扩展参数:
| 参数 | 必填 | 说明 |
|---|---|---|
XH | 否 | 学号 |
XM | 否 | 姓名 |
page | 否 | 页码。默认:第 1 页。 |
pagesize | 否 | 每页记录数。默认:1000 条。 |
date | 否 | 增量或变更数据的参考日期,例如 2024-10-29。 |
返回参数说明:
| 参数 | 说明 |
|---|---|
XM | 姓名 |
XH | 学号 |
BJMC | 班级名称 |
ZYMC | 专业名称 |
DWMC | 学院名称 |
NJ | 年级 |
MZ | 民族代码 |
ZZMM | 政治面貌代码 |
XZ | 学制 |
PYCC | 培养层次 |
XSZT | 学生状态。1 表示在读;其他值表示非在读。 |
updatetime | 更新时间 |
5.2 教师信息列表
API 名称:TeacherList。
扩展参数:
| 参数 | 必填 | 说明 |
|---|---|---|
GH | 否 | 工号 |
XM | 否 | 姓名 |
page | 否 | 页码。默认:第 1 页。 |
pagesize | 否 | 每页记录数。默认:1000 条。 |
date | 否 | 增量或变更数据的参考日期,例如 2024-10-29。 |
返回参数说明:
| 参数 | 说明 |
|---|---|
XM | 姓名 |
XH | 学号 |
DWMC | 学院名称 |
TYPE | 1:校级管理员;2:副书记;3:辅导员 |
updatetime | 更新时间 |
5.3 教师权限班级查询
API 名称:Teacher2Class。
扩展参数:
| 参数 | 必填 | 说明 |
|---|---|---|
GH | 否 | 工号 |
XM | 否 | 姓名 |
page | 否 | 页码。默认:第 1 页。 |
pagesize | 否 | 每页记录数。默认:1000 条。 |
date | 否 | 增量或变更数据的参考日期,例如 2024-10-29。 |
返回参数说明:
| 参数 | 说明 |
|---|---|
XM | 姓名 |
XH | 学号 |
DWMC | 学院名称 |
TYPE | 1:校级管理员;2:副书记;3:辅导员 |
CLASSLIST | 管理的班级列表 |
updatetime | 更新时间 |
5.4 消息推送
API 名称:SendMsg。
扩展参数:
| 参数 | 必填 | 说明 |
|---|---|---|
toPersons | 是 | 工号或学号 |
Content | 是 | 消息内容。支持 HTML。 |
Url | 否 | 链接 URL |
简单 HTML 示例:
html
Hello, please click <a href="https://www.sust.edu.cn">here</a> to visit the university website. Thank you!\r\n Thank you for supporting the work of the Information Section of the Student Affairs Department.\r\n 为换行序列。
5.5 请假信息
API 名称:LeaveList。
扩展参数:
| 参数 | 必填 | 说明 |
|---|---|---|
XH | 否 | 学号 |
XM | 否 | 姓名 |
page | 否 | 页码。默认:第 1 页。 |
pagesize | 否 | 每页记录数。默认:1000 条。 |
date | 否 | 增量或变更数据的参考日期,例如 2024-10-29。 |
返回参数说明:
| 参数 | 说明 |
|---|---|
id | 自增 ID |
XM | 姓名 |
XH | 学号 |
QJKSSJ | 请假开始时间 |
QJJSSJ | 请假结束时间 |
QJXJSJ | 销假时间。如果存在,以此字段作为结束时间。 |
updatetime | 更新时间 |
5.6 学生在离校状态
API 名称:StudentStatus。
扩展参数:
| 参数 | 必填 | 说明 |
|---|---|---|
XH | 否 | 学号 |
XM | 否 | 姓名 |
page | 否 | 页码。默认:第 1 页。 |
pagesize | 否 | 每页记录数。默认:1000 条。 |
date | 否 | 增量或变更数据的参考日期,例如 2024-10-29。 |
返回参数说明:
| 参数 | 说明 |
|---|---|
id | 自增 ID |
XM | 姓名 |
XH | 学号 |
QJKSSJ | 离校开始时间,由管理员动态调整 |
QJJSSJ | 离校结束时间,由管理员动态调整 |
updatetime | 更新时间 |