# 本科教学类APIs(GRAPHQL版本)
本组API用于获取本科教学类相关信息,不包含研究生数据。
# 申请
申请本科教学类API接口,请通过数据资源申请 (opens new window)完成申请。
# 学生基本信息
- POST https://graphql.sjtu.edu.cn/graphql 客户端 exchange_data
# 请求体
POST https://graphql.sjtu.edu.cn/graphql?access_token=#{access_token} HTTP/1.1
Content-Type: application/json;charset=UTF-8
{
"query": "{ BASE_XS_JBXX{ACCOUNT_NO XH XM XBDM XBMC CSRQ MZDM MZMC ZZMMDM ZZMMMC JG JGMC HYZKDM HYZKMC GBDM GBMC ZJLB ZJLBMC SFZHM XLDM XLMC SYDQM SYDQMC EMAIL SJ PYFSDM PYFSMC GLYX GLYXMC BH ZYDM ZYMC LXBJ LXBJMC XQDM XQMC XSLBDM XSLBMC XSLBMX XSLBMXMC XJZTDM XJZTMC XZ XXFSDM XXFSMC SFLXS SFLXSMC YJBYSJ SJBYSJ BYXWDM BYXWMC NJ} }"
}
1
2
3
4
5
6
2
3
4
5
6
# 请求体参数
动态参数 | 类型 | 必填 | 参数说明 |
---|---|---|---|
ACCOUNT_NO | string | 否 | jAccount账号 |
XH | string | 否 | 学号 |
GLYX | string | 否 | 管理院系代码 |
LXBJ | string | 否 | 离校标记(N:未离校 Y:离校) |
timestamp | string | 否 | 根据更新时间查询(yyyy-MM-dd/yyyy-MM-dd HH:mm:ss) |
first | int | 否 | 分页起始位置 |
offset | string | 否 | 分页偏移量 |
示例 根据jAccount查询
//ACCOUNT_NO作为查询条件;对于查询参数是字符串,在GraphQL语句中需要添加双引号
{
"query": "{ BASE_XS_JBXX(filter : {ACCOUNT_NO:{eq:\"zhangsan\"}}){ACCOUNT_NO XH XM XBDM XBMC CSRQ MZDM MZMC ZZMMDM ZZMMMC JG JGMC HYZKDM HYZKMC GBDM GBMC ZJLB ZJLBMC SFZHM XLDM XLMC SYDQM SYDQMC EMAIL SJ PYFSDM PYFSMC GLYX GLYXMC BH ZYDM ZYMC LXBJ LXBJMC XQDM XQMC XSLBDM XSLBMC XSLBMX XSLBMXMC XJZTDM XJZTMC XZ XXFSDM XXFSMC SFLXS SFLXSMC YJBYSJ SJBYSJ BYXWDM BYXWMC NJ} }"
}
1
2
3
4
5
2
3
4
5
# 响应参数
所有数据资源API响应参数都有相同的通用结构
- 学生信息 Structure
{
"ACCOUNT_NO":{string} //jAccount
"XH":{string} //学号
"XM":{string} //姓名
"XBDM":{string} //性别代码
"XBMC":{string} //性别名称
"CSRQ":{string} //出生日期
"MZDM":{string} //民族代码
"MZMC":{string} //民族名称
"ZZMMDM":{string} //政治面貌代码
"ZZMMMC":{string} //政治面貌名称
"JG":{string} //籍贯代码
"JGMC":{string} //籍贯名称
"HYZKDM":{string} //婚姻状况代码
"HYZKMC":{string} //婚姻状况名称
"GBDM":{string} //国别代码
"GBMC":{string} //国别名称
"ZJLB":{string} //证件类别代码
"ZJLBMC":{string} //证件类别名称
"SFZHM":{string} //证件号码
"XLDM":{string} //学历代码
"XLMC":{string} //学历名称
"SYDQM":{string} //生源地区代码
"SYDQMC":{string} //生源地区名称
"EMAIL":{string} //邮箱
"SJ":{string} //手机号码
"PYFSDM":{string} //培养方式代码
"PYFSMC":{string} //培养方式名称
"GLYX":{string} //管理院系代码
"GLYXMC":{string} //管理院系名称
"BH":{string} //班号
"ZYDM":{string} //专业代码
"ZYMC":{string} //专业名称
"LXBJ":{string} //离校标记
"LXBJMC":{string} //离校标记名称
"XQDM":{string} //校区代码
"XQMC":{string} //校区名称
"XSLBDM":{string} //类别代码
"XSLBMC":{string} //类别名称
"XSLBMX":{string} //类别明细代码
"XSLBMXMC":{string} //类别明细名称
"XJZTDM":{string} //学籍状态代码
"XJZTMC":{string} //学籍状态名称
"XZ":{string} //学制
"XXFSDM":{string} //学习方式代码
"XXFSMC":{string} //学习方式名称
"SFLXS":{string} //是否留学生代码
"SFLXSMC":{string} //是否留学生名称
"YJBYSJ":{string} //预计毕业时间
"SJBYSJ":{string} //实际毕业时间
"BYXWDM":{string} //毕业学位代码
"BYXWMC":{string} //毕业学位名称
"NJ":{string} //年级
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 响应示例
示例 成功返回的数据
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
{
"errcode": 0,
"data": {
"BASE_XS_JBXX": [
{
"ACCOUNT_NO": null,
"XH": "0000000000000",
"XM": "李四",
"XBDM": "1",
"XBMC": "男性",
"CSRQ": "1999-01-01 00:00:00",
"MZDM": "01",
"MZMC": "汉族",
"ZZMMDM": "03",
"ZZMMMC": "共青团员",
"JG": "410000",
"JGMC": "河南省",
"HYZKDM": "0",
"HYZKMC": "未婚",
"GBDM": "CN",
"GBMC": "中国",
"ZJLB": "01",
"ZJLBMC": "身份证",
"SFZHM": "3xx1xx19990101xxxx",
"XLDM": "11",
"XLMC": "硕士研究生",
"SYDQM": "410000",
"SYDQMC": "河南省",
"EMAIL": null,
"SJ": "12800000000",
"PYFSDM": "1",
"PYFSMC": "非定向",
"GLYX": "45000",
"GLYXMC": "智慧能源创新学院",
"BH": "B2145091",
"ZYDM": "085800",
"ZYMC": "能源动力",
"LXBJ": "N",
"LXBJMC": "在校",
"XQDM": "1",
"XQMC": "闵行",
"XSLBDM": "211",
"XSLBMC": "硕士研究生(普通)",
"XSLBMX": null,
"XSLBMXMC": null,
"XJZTDM": "99",
"XJZTMC": "正常",
"XZ": "2.5",
"XXFSDM": "4",
"XXFSMC": "全日制",
"SFLXS": "0",
"SFLXSMC": "否",
"YJBYSJ": "2024-03-31",
"SJBYSJ": "2024-03-31",
"BYXWDM": "30858",
"BYXWMC": "能源动力硕士专业学位",
"NJ": "2018"
}
]
},
"errors": null,
"errmsg": null,
"total": 1
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# 课程信息
- POST https://graphql.sjtu.edu.cn/graphql 客户端 exchange_data
课程相关API接口仅返回当前学年数据。
# 请求体
POST https://graphql.sjtu.edu.cn/graphql?access_token=#{access_token} HTTP/1.1
Content-Type: application/json;charset=UTF-8
{
"query": "{ BASE_KC_JBXX{ COURSE_ID COURSE_KCDM COURSE_NAME COURSE_NAME_EN RSC_GH JW_GH ORG_ID COURSE_TYPE_NAME COURSE_HOURS COURSE_CREDIT COURSE_SCHOOLYEAR COURSE_TERM REMARK GRADE INSTRUCTIONAL_CLASS_ID } }"
}
1
2
3
4
5
6
2
3
4
5
6
# 请求体参数
动态参数 | 类型 | 必填 | 参数说明 |
---|---|---|---|
RSC_GH | string | 否 | 任课老师工号 |
ORG_ID | string | 否 | 开课学院代码 |
COURSE_KCDM | string | 否 | 课程代码 |
COURSE_SCHOOLYEAR | string | 否 | 学年 (例:2022-2023) |
COURSE_TERM | string | 否 | 学期 |
INSTRUCTIONAL_CLASS_ID | string | 否 | 课号 |
timestamp | string | 否 | 根据更新时间查询(yyyy-MM-dd/yyyy-MM-dd HH:mm:ss) |
first | int | 否 | 分页起始位置 |
offset | string | 否 | 分页偏移量 |
示例 根据工号查询
//RSC_GH作为查询条件;对于查询参数是字符串,在GraphQL语句中需要添加双引号
{
"query": "{ BASE_KC_JBXX(filter : {RSC_GH:{eq:\"00000\"}}){ COURSE_ID COURSE_KCDM COURSE_NAME COURSE_NAME_EN RSC_GH JW_GH ORG_ID COURSE_TYPE_NAME COURSE_HOURS COURSE_CREDIT COURSE_SCHOOLYEAR COURSE_TERM REMARK GRADE INSTRUCTIONAL_CLASS_ID } }"
}
1
2
3
4
5
2
3
4
5
# 响应参数
所有数据资源API响应参数都有相同的通用结构
- 课程信息 Structure
{
"COURSE_ID":{string} //课程ID
"COURSE_KCDM":{string} //课程代码
"COURSE_NAME":{string} //课程名称
"COURSE_NAME_EN":{string} //课程英文名称
"RSC_GH":{string} //教职工工号
"JW_GH":{string} //教务处工号
"ORG_ID":{string} //开课学院代码
"COURSE_TYPE_NAME":{string} //课程类别
"COURSE_HOURS":{double} //学时
"COURSE_CREDIT":{double} //学分
"COURSE_SCHOOLYEAR":{string} //学年
"COURSE_TERM":{string} //学期
"REMARK":{string} //备注
"GRADE":{string} //年级
"INSTRUCTIONAL_CLASS_ID":{string} //教学班号
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 响应示例
示例 成功返回的数据
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
{
"errcode": 0,
"data": {
"BASE_KC_JBXX": [
{
"COURSE_ID": "DDCU1MB839CC942DESH3F8163EE1DCCC",
"COURSE_KCDM": "AD017",
"COURSE_NAME": "美术实践与欣赏",
"COURSE_NAME_EN": "Art Practice and Appreciation",
"RSC_GH": "00000",
"JW_GH": "00000",
"ORG_ID": "43000",
"COURSE_TYPE_NAME": "理论",
"COURSE_HOURS": 32,
"COURSE_CREDIT": 2,
"COURSE_SCHOOLYEAR": "2022-2023",
"COURSE_TERM": "1",
"REMARK": "备注信息",
"GRADE": "2020",
"INSTRUCTIONAL_CLASS_ID": "(2022-2023-1)-CS2122-1"
}
]
},
"errors": null,
"total": 1
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 排课信息
- POST https://graphql.sjtu.edu.cn/graphql 客户端 exchange_data
课程相关API接口仅返回当前学年数据。
# 请求体
POST https://graphql.sjtu.edu.cn/graphql?access_token=#{access_token} HTTP/1.1
Content-Type: application/json;charset=UTF-8
{
"query": "{ BASE_KC_JSSY{ COURSE_ID COURSE_WEEKDAY COURSE_WEEK_START COURSE_WEEK_END COURSE_WEEK COURSE_WEEK_ORDER COURSE_SECTION COURSE_SECTION_ORDER INSTRUCTIONAL_CLASS_ID COURSE_CLASSROOM COURSE_SCHOOLYEAR COURSE_TERM RSC_GH JW_GH } }"
}
1
2
3
4
5
6
2
3
4
5
6
# 请求体参数
动态参数 | 类型 | 必填 | 参数说明 |
---|---|---|---|
RSC_GH | string | 否 | 任课老师工号 |
COURSE_SCHOOLYEAR | string | 否 | 学年 (例:2022-2023) |
COURSE_TERM | string | 否 | 学期 |
INSTRUCTIONAL_CLASS_ID | string | 否 | 课号 |
timestamp | string | 否 | 根据更新时间查询(yyyy-MM-dd/yyyy-MM-dd HH:mm:ss) |
first | int | 否 | 分页起始位置 |
offset | string | 否 | 分页偏移量 |
示例 根据工号查询
//RSC_GH作为查询条件;对于查询参数是字符串,在GraphQL语句中需要添加双引号
{
"query": ""{ BASE_KC_JSSY(filter : {RSC_GH:{eq:\"00000\"}}){ COURSE_ID COURSE_WEEKDAY COURSE_WEEK_START COURSE_WEEK_END COURSE_WEEK COURSE_WEEK_ORDER COURSE_SECTION COURSE_SECTION_ORDER INSTRUCTIONAL_CLASS_ID COURSE_CLASSROOM COURSE_SCHOOLYEAR COURSE_TERM RSC_GH JW_GH } }
}
1
2
3
4
5
2
3
4
5
# 响应参数
所有数据资源API响应参数都有相同的通用结构
- 排课信息 Structure
{
"COURSE_ID":{string} //课程ID
"COURSE_WEEKDAY":{string} //星期
"COURSE_WEEK_START":{string} //课程起始周
"COURSE_WEEK_END":{string} //课程结束周
"COURSE_WEEK":{string} //周次
"COURSE_WEEK_ORDER":{string} //周序号
"COURSE_SECTION":{string} //节次
"COURSE_SECTION_ORDER":{stirng} //课程节次序号
"INSTRUCTIONAL_CLASS_ID":{string} //教学班号
"COURSE_CLASSROOM":{string} //教室
"COURSE_SCHOOLYEAR":{string} //学年
"COURSE_TERM":{string} //学期
"RSC_GH":{string} //教职工工号
"JW_GH":{string} //教务处工号
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 响应示例
示例 成功返回的数据
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
{
"errcode": 0,
"data": {
"BASE_KC_JSSY": [
{
"COURSE_ID": "DDC0ADB839CC942DE055F8163EE1DCCC",
"COURSE_WEEKDAY": "4",
"COURSE_WEEK_START": "1",
"COURSE_WEEK_END": "8",
"COURSE_WEEK": "1",
"COURSE_WEEK_ORDER": null,
"COURSE_SECTION": "1",
"COURSE_SECTION_ORDER": "0",
"INSTRUCTIONAL_CLASS_ID": "(2022-2023-1)-CS2522-1",
"COURSE_CLASSROOM": "东中院2-203",
"COURSE_SCHOOLYEAR": "2022-2023",
"COURSE_TERM": "1",
"RSC_GH": "08337",
"JW_GH": "08337"
}
]
},
"errors": null,
"total": 1
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 选课信息
- POST https://graphql.sjtu.edu.cn/graphql 客户端 exchange_data
课程相关API接口仅返回当前学年数据。
# 请求体
POST https://graphql.sjtu.edu.cn/graphql?access_token=#{access_token} HTTP/1.1
Content-Type: application/json;charset=UTF-8
{
"query": "{ BASE_KC_XKXX{ XH COURSE_ID COURSE_SCHOOLYEAR COURSE_TERM } }"
}
1
2
3
4
5
6
2
3
4
5
6
# 请求体参数
动态参数 | 类型 | 必填 | 参数说明 |
---|---|---|---|
XH | string | 否 | 学号 |
COURSE_ID | string | 否 | 课程ID |
COURSE_SCHOOLYEAR | string | 否 | 学年 (例:2022-2023) |
COURSE_TERM | string | 否 | 学期 |
timestamp | string | 否 | 根据更新时间查询(yyyy-MM-dd/yyyy-MM-dd HH:mm:ss) |
first | int | 否 | 分页起始位置 |
offset | string | 否 | 分页偏移量 |
示例 根据学号查询
//XH作为查询条件;对于查询参数是字符串,在GraphQL语句中需要添加双引号
{
"query": "{ BASE_KC_XKXX(filter : {XH:{eq:\"00000\"}}){ XH COURSE_ID COURSE_SCHOOLYEAR COURSE_TERM } }"
}
1
2
3
4
5
2
3
4
5
# 响应参数
所有数据资源API响应参数都有相同的通用结构
- 选课信息 Structure
{
"XH":{string} //学号
"COURSE_ID":{string} //课程ID
"COURSE_SCHOOLYEAR":{string} //学年
"COURSE_TERM":{string} //学期
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 响应示例
示例 成功返回的数据
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
{
"errcode": 0,
"data": {
"BASE_KC_XKXX": [
{
"XH": "020722910296",
"COURSE_ID": "202209-08200-BME8302-1654530911012",
"COURSE_SCHOOLYEAR": "2022-2023",
"COURSE_TERM": "1 "
}
]
},
"errors": null,
"total": 1
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18