Skip to content

数据同步

通用说明

平台支持定制化的数据同步接口,可以按需定制字段并提供全量同步和增量同步的调用支持。

部分常用数据的同步接口已经标准化,参考下文的通用同步接口说明,并申请对应接口即可。

如业务有额外的数据同步需求,请与我们联系。

对于定制接口,以下示例仅供参考,实际接口调用文档已最终交付版本为准。

支持的模式

  • client_credentials

请求方法

GET

请求地址

https://api.ecnu.edu.cn/api/v1/xxxxxxxxx

通用请求参数

参数名是否必填备注
ts增量时间戳,单位是秒,返回该时间戳之后产生变更的数据。输入 ts=0 即返回全量数据
full默认仅返回有效数据(有效的含义根据实际业务决定),如果 full 参数有值(无论是什么),都会返回全部数据,包括已经被删除的数据
pageSize单页大小,最大10000
pageNum第几页,从第一页开始

通用返回参数

字段名说明备注
totalNum数据总量
pageSize单页大小
pageNum第几页
rows数据列表数据在 rows 内
rows.created_at创建时间
rows.updated_at更新时间当数据任意字段内容更新时,updated_at 会自动更新时间,因此可用于增量同步
rows.deleted_mark删除时间如果上游系统删除了某条数据,则会产生对应的标记,同步数据时可以根据这些标记做对应的增量处理,1删除0未删除
rows.xxxxxxx业务字段业务字段

全量同步示例

curl -i -H "Authorization: Bearer e447e4b4b8e23973b42c44b8d5415603" "https://api.ecnu.edu.cn/api/v1/customized/xxxxxxxxx?pageSize=2&pageNum=1&ts=0"

返回示例

json
{
	"data": {
		"totalNum": 18839,
		"pageSize": 2,
		"rows": [{
			"deleted_mark":0,
			"created_at": "2021-12-22 20:05:15",
			"xxxx":"xxxx",
			"updated_at": "2023-05-09 02:15:35"
		},{
			"deleted_mark":0,
			"xxxx":"xxxx",
			"created_at": "2021-12-22 20:05:15",
			"updated_at": "2023-05-09 02:15:35",
		}],
	},
	"requestId": "6a0f0ef016232902185634755e05d2",
	"errCode": 0,
	"errMsg": "success",
	"apiLog": null
}

增加量同步示例

curl -i -H "Authorization: Bearer e447e4b4b8e23973b42c44b8d5415603" "https://api.ecnu.edu.cn/api/v1/customized/xxxxxxxxx?pageSize=10&pageNum=1&ts=1623161010"

即返回 updated_at2021-06-08 22:03:30 之后的数据

返回示例

json
{
	"data": {
		"totalNum": 1,
		"pageSize": 10,
		"rows": [{
			"deleted_mark":1,
			"created_at": "2021-12-22 20:05:15",
			"xxxx":"xxxx",
			"updated_at": "2023-05-09 02:15:35"
		}],
	},
	"requestId": "6a0f0ef016232902185634755e05d2",
	"errCode": 0,
	"errMsg": "success",
	"apiLog": null
}

通用人员信息同步

请求地址

https://api.ecnu.edu.cn/api/v1/sync/userinfo

请求参数

参数名是否必填备注
ts增量时间戳,单位是秒,返回该时间戳之后产生变更的数据。输入 ts=0 即返回全量数据
full默认仅返回在校且未标记删除的数据,如果 full 参数有值(无论是什么),都会返回全部数据
pageSize单页大小,最大10000
pageNum第几页,从第一页开始

返回参数

参数名类型备注
created_atstring数据创建的时间
updated_atstring数据更新的时间
deleted_markint是否已删除的标记,0未删,1已删除
userIdstring学工号
namestring姓名
departmentIdstring部门编号
departmentstring部门名称
activestring是否在校,1在校,0离校
userTypestring用户类型,本科生、研究生、教职工、丽娃人员、临时人员、博士后

返回示例

json
{
	"data": {
		"totalNum": 58838,
		"pageSize": 2,
		"rows": [{
			"created_at": "2021-12-22 20:05:14",
			"updated_at": "2023-05-09 02:15:33",
			"deleted_mark": 0,
			"userId": "******",
			"name": "**",
			"departmentId": "011004",
			"department": "运动训练系",
			"active": "1",
			"userType": "本科生"
		}, {
			"created_at": "2021-12-22 20:05:14",
			"updated_at": "2023-05-09 02:15:33",
			"deleted_mark": 0,
			"userId": "******",
			"name": "**",
			"departmentId": "0155",
			"department": "数学科学学院",
			"active": "1",
			"userType": "本科生"
		}],
		"pageNum": 1
	},
	"errCode": 0,
	"requestId": "955371B1-9685-43DE-8328-94D02DB59015",
	"errMsg": "success"
}

通用DNS记录同步

请求地址

https://api.ecnu.edu.cn/api/v1/sync/dnsrecord

请求参数

参数名是否必填备注
ts增量时间戳,单位是秒,返回该时间戳之后产生变更的数据。输入 ts=0 即返回全量数据
full默认仅返回未标记删除的数据,如果 full 参数有值(无论是什么),都会返回全部数据
pageSize单页大小,最大10000
pageNum第几页,从第一页开始

返回参数

参数名类型备注
created_atstring数据创建的时间
updated_atstring数据更新的时间
deleted_markint是否已删除的标记,0未删,1已删除
idint记录id
namestring记录名称
typestring记录类型
contentstring记录内容
domainstring域名

返回示例

json
{
	"data": {
		"totalNum": 1950,
		"pageSize": 2,
		"rows": [{
			"createdAt": "2022-01-06 00:16:26",
			"updatedAt": "2022-01-06 00:16:26",
			"deleted_mark": 0,
			"id": 1,
			"name": "www.ecnu.edu.cn",
			"type": "A",
			"content": "202.120.92.60",
			"domain": "ecnu.edu.cn"
		}, {
			"createdAt": "2022-01-06 00:16:26",
			"updatedAt": "2022-01-06 00:16:26",
			"deleted_mark": 0,
			"id": 2,
			"name": "www.ecnu.edu.cn",
			"type": "AAAA",
			"content": "2001:da8:8005:a492::60",
			"domain": "ecnu.edu.cn"
		}],
		"pageNum": 1
	},
	"errCode": 0,
	"requestId": "A4C15F4C-B53B-43CA-8B95-B9BA273B55B7",
	"errMsg": "success"
}