推送任务数据
最近更新时间: 2026年03月13日 01时20分12秒
能力接口
描述
- 推送:推送任务到同济大学任务中心,每次推送数据都包含实例数据和任务数据,实例数据及实例状态会在任务中心”我的申请“中显示,任务数据会在”我的任务“中显示。
- 更新:同一个任务多次推送不会创建多个任务。会根据新的实例数据(实例id)、任务数据(任务id)对之前的进行覆盖;
注意事项
- instId、taskId最大9位数的int类型。
- 所有的url链接最大长度500,如果长度超出,对接方自行处理成短链接。
- 所有的url链接如果需要在小程序中打开,需要做域名验证和统一身份认证,否则无法打开。
- 任务推送接口可能受网络等因素的影响造成推送失败,建议接入方对推送数据进行记录,并对推送失败的情况增加重试机制,以保证接入方和任务中心状态一致!
- 任务中心推送任务数据接口接入流程请参考:https://365.kdocs.cn/l/cqYhIpnTpajR
- 整个实例流程完成后把实例数据里的finished 和 status 设置下,实例数据和状态会在任务中心”我的申请“中显示
支持的模式
客户端模式,授权码模式
请求方法
POST
请求地址
请求体参数
| 参数名 | 类型 | 是否必须 | 备注 |
|---|---|---|---|
| instData | object[] | 是 | 实例数据 |
| instId | int | 是 | 实例id,实例的唯一标识,即用户的一条申请id(由于有多租户的概念,所以只要保证自己系统里是唯一的即可) |
| creator | string | 是 | 实例发起者工号 |
| created | string | 是 | 实例创建时间,YYYY-MM-DD HH:ii:ss |
| name | string | 是 | 实例名称(任务名称,长度不能超过100个字符) |
| finished | string | 否 | 实例完成时间,YYYY-MM-DD HH:ii:ss,status为1/2/4时必填 |
| status | int | 是 | 实例状态,0 进行中,1 终止,2 完成,4 撤销 |
| taskData | object[] | 是 | 任务数据 |
| instId | int | 是 | 实例id,实例的唯一标识,即用户的一条申请id(对应instData里的instId) |
| taskId | int | 是 | 任务id,task的唯一标识(如果没有taskId的,可以自己定义一个如实例ID+学工号,但是不能不传,由于有多租户的概念,所以只要保证自己系统里是唯一的即可) |
| status | int | 是 | 任务状态,0 进行中,2 已驳回,3 完成,4 已撤销 |
| created | string | 是 | 任务创建时间,YYYY-MM-DD HH:ii:ss |
| finished | string | 否 | 任务完成时间,YYYY-MM-DD HH:ii:ss,任务结束时必填 |
| formUrl | string | 是 | 任务进行中pc 端审批地址(自己系统的url,页面需要配置统一身份认证) |
| formUrlView | string | 否 | 任务已完成pc 端查看详情 (自己系统的url,页面需要配置统一身份认证) |
| formMobileUrl | string | 是 | 任务进行中移动端审批地址(自己系统的url,页面需要配置统一身份认证) |
| formMobileUrlView | string | 否 | 任务已完成移动端查看详情 (自己系统的url,页面需要配置统一身份认证) |
| nodeName | string | 是 | 任务所在节点名称(对应微信审批提醒通知里的审批类型) |
| userIds | string[] | 是 | 任务拥有人工号列表 |
| sendMsg | int | 否 | 是否推送消息到同济信息化,1-是,0-否,不传参数默认为1 |
解释说明
任务中心名称定义和关系
推送任务时候数据结构分层实例数据(instData)和任务数据(taskData)
-
实例数据:对应审批流程的实例(一个申请就是一个实例,比如一份请假申请单)
-
任务数据:对应这个流程实例中某一个具体的处理任务(比如请假申请单里领导审批任务,如果有多个审核节点的话,前一个任务数据完成后,再推送一个相同实例数据,新的任务数据即可)
-
实例数据和任务数据的关系:一个实例可以发送给多个人(可以传多个taskData,推送给不同的人),任务数据里的userIds可以传多个工号(只要由一个人审批通过,那么这个任务就完成了)
-
示例如下:
如果业务方有一个请假申请的任务流程需要对接。流程是用户发起->领导审批->流程结束
实例数据(instData)
instId:实例Id,请假申请单实例的id
creator:请假申请人的工号
created:请假申请实例的创建时间
name:任务名称
status:请假申请实例的状态(在任务中心”我的申请”体现)
finished:请假申请实例完成时间(status为1/2/4时必填)
任务数据(taskData)
instId:实例Id,对应instData里的instId
taskId:任务id,领导审批任务的id
status:领导审批任务的状态
created:领导审批任务创建时间
finished:领导审批任务完成时间(完成时间即领导审批的时间)
formUrl:见请求体参数
formUrlView:见请求体参数
formMobileUrl:见请求体参数
formMobileUrlView:见请求体参数
nodeName:领导审核节点名称
userIds:领导的工号
sendMsg:是否推送消息到同济信息化
请求示例
curl -X 'POST' \
'https://api.tongji.edu.cn/v1/infra/task_center/push_task' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer e447e4b4b8e23973b42c44b8d324242' \
-d '{
"instData": [
{
"instId": 1,
"creator": "******",
"created": "2023-09-17 10:00:00",
"name": "测试申请",
"status": 0,
"finished": ""
}
],
"taskData": [
{
"instId": 1,
"taskId": 1,
"status": 0,
"created": "2023-09-17 10:00:00",
"finished": "",
"formUrl": "https://txd.tongji.edu.cn/v2/matter/launch",
"formUrlView": "",
"formMobileUrl": "https://txd.tongji.edu.cn/v2/matter/launch",
"formMobileUrlView": "",
"nodeName": "待审核",
"userIds": [
"******"
],
"sendMsg": 0
}
]
}'
返回示例
{
"code": "A00000",
"msg": "操作成功",
"data": null
}