# 接口说明

重要名词:

  • 待办:待办理的任务,或暂时挂起的任务
  • 事务:业务系统发起的流程实例,事务下可以包含多个节点和任务

调用本接口,将会创建一条待办任务,显示在应办人的待办列表,关联的事务显示在发起人的发起列表

# 权限

要调用此API,需要申请poa能力,获取poa token,接口请求头中添加 Authorization 值为token

详细参考-获取access token

# 请求方法

报文样例

POST /apis/ttc/v1/transaction/poa/addTransaction
Host: poa地址
Authorization:String
Content-Type:application/json

创建首条待办
[
  {
    "actions": [{
        "allowMerge": 0,
        "method": "post",
        "name": "撤回",
        "nextNodeKey": "",
        "optType": 0,
        "type": "REVOKE",
        "url": "http://www.baidu.com"
     }],
    "appId": "GzqhyfpMLSEexyO78bDgO-UWlK6PwOyAE",
    "autoCreateTransType": true,
    "canDelegate": 0,
    "handlers": "smartadmin",
    "handlingGroup": "",
    "initiator": "smartadmin",
    "initiatorName": "智慧校园管理员",
    "nodeId": "NODE0001",
    "nodeName": "节点1",
    "serialNumber": "NUM0001",
    "taskId": "TASK0001",
    "taskName": "待办名称0001",
    "taskSummary": ["摘要1|内容1","摘要2|内容2"],
    "timeOut": 0,
    "transTypeCode": "TTCODE0001",
    "transTypeName": "事务类型0001",
    "transcationName": "自定义事务名称",
    "viewUrl": "string",
    "handleUrl": "http://www.baidu.com",
    "mHandleUrl": "http://www.baidu.com",
    "mViewUrl": "http://www.baidu.com",
    "mhandleUrl": "http://www.baidu.com",
    "mviewUrl": "http://www.baidu.com"
  }
]
    
创建非首条待办,与上一条待办关联
[
  {
    "previousTaskId": "TASK0001",
    "appId": "GzqhyfpMLSEexyO78bDgO-UWlK6PwOyAE",
    "handlers": "smartadmin",
    "initiator": "smartadmin",
    "nodeId": "NODE0002",
    "nodeName": "节点2",
    "taskId": "TASK0002",
    "taskName": "待办名称0002",
    "transTypeCode": "TTCODE0001"
  }
]
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

# Header参数

名称 类型 是否必填 描述
Authorization String 调用该接口的访问凭证

# Body参数

名称(1级) 名称(2级) 类型 是否必填 描述
appId String 应用appId
nodeId String 节点id,同一节点 nodeId需要一致。例如:学生请假 - 辅导员审核这个节点,这个辅导员审核节点的主键或是唯一键可作为nodeId
nodeName String 节点名称,同一节点 nodeName需要一致
taskId String 任务id,根据taskId 来关闭事务中心的任务;唯一
taskName String 任务名称 根据taskId 来关闭事务中心的任务;唯一
transTypeCode String 事务类型编码
transTypeName String 条件必填 事务类型名称,autoCreateTransType为true时必填,该类型第一次调用会自动依据transTypeCode和 transTypeName创建事物类型,后续功能设置可以去云平台-事务-应用管理-事务类型去配置)
handlers String 条件必填 处理人 学/工号,多个账号英文逗号分隔,工号、用户组 二选一;办理人、候选人都放这个字段
handlingGroup String 条件必填 处理人 用户组id,工号、用户组 二选一;此处用户组使用的是用户中心用户组
previousTaskId String 上一条关联待办taskId(非首个节点创建待办时是必填)
autoCreateTransType Boolean 是否自动创建事务类型,默认为false;设置为true 会自动创建事务类型,否则需要手动去云平台创建事务类型
canDelegate Integer 是否允许代理, 1允许 0不允许,默认0,任务有特殊需要在此设置
initiator String 发起人学工号,不填取应用名称 填 visitor 为游客
initiatorName String 发起人姓名,不填取initiator账号在用户服务中的姓名
serialNumber String 流水号
taskSummary Array 任务的摘要(业务办理关键字段),完整字段标题和内容由
timeOut Integer 超时时间,默认 0.0
transactionName String 事务名称
viewUrl String pc查阅地址
handleUrl String pc处理地址
mHandleUrl String mobile处理地址
mViewUrl String mobile查阅地址
actions Array 自定义操作列表
method String 请求方式 ,optType为api 必填,get 、 post 、 put
name String 名称
optType Integer 操作类型: 1:page页面; 0:api 接口
type String 类型, HANDLE办理、BREAK_UP终止、REVOKE撤回、HANG_UP挂起、ACTIVE激活、CIRCULARIZE传阅、TRANSFER转办、PROMOTER发起人操作、HANDLEDR待办人操作、DEAL待办人操作、ALL所有人操作
url String 请求地址
nextNodeKey String 调用接口携带参数
allowMerge Integer 是否允许并行,默认0
0:不允许合并 1:允许合并处理

参数列表中previousTaskId字段用来区分是否为事务的首个待办任务创建

  • 参数previousTaskId为空,创建首条待办任务,创建待办同时会创建一条关联事务
  • 参数previousTaskId不为空(填写的值是上个待办任务的taskId),创建非首条待办任务,通过previousTaskId关联事务

支持批量创建,批量创建时,多条待办任务的(transTypeCode、nodeId、initiator、serialNumber)字段参数相同,则待办自动关联到同一个事务中

批量创建中的异常数据不影响正常数据的创建,接口响应会返回异常数据,请自行获取处理

# 接口调用成功返回

接口返回code值0为成功返回

{
  "took": 6089,
  "timestamp": 1688956011462,
  "code": 0,
  "message": "创建成功",
  "data": {
    "errorIds": []
  }
}
1
2
3
4
5
6
7
8
9

# 接口调用失败返回

  • 接口支持批量,批量操作中的每条数据独立运行,批量中有失败的数据接口整体响应code为0 (成功),data中返回出现错误的数据
  • 外层响应code不为0时为未知的错误,请自行设计重试机制
{
  "took": 80,
  "timestamp": 1688701475919,
  "code": 0,
  "message": "创建中有异常数据",
  "data": {
    "errorIds": [
      {
        "code": 400,
        "taskId": "TTTT-PL-002",
        "message": "transTypeCode is null"
      },
      {
        "code": 400,
        "taskId": "TTTT-PL-004",
        "message": "handlers and handlingGroup are all null"
      }
    ]
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

data.errorIds.code说明:

code message 说明
400 xxx is null 参数校验不合法
400 this app/transTypeCode does not exist 业务校验异常:应用或者类型不存在
500 the app/transactionType is not enabled 业务校验异常:应用或者类型未启用
500 * 业务逻辑异常
2003 the task already exists 当前任务已存在