Appearance
创建待办接口v2
基本信息
中文名: 创建待办接口v2
接口名: /tc/v2/openapi/task/create.json
所在目录: 待办
调用方式: GET(HTTPS)
接口说明 : 创建待办实例
备注: ** 该接口同时只能创建一个待办任务,若需要给同一个实例创建多个待办任务,则需要循环调用此接口,取第一次创建后返回的packageUuid的值,在后续的调用中传入到packageUuid入参中。 **
最低可用版本 | V2.6.0 |
---|
请求参数
名称 | 类型 | 是否必填 | 示例值 | 描述 |
---|---|---|---|---|
assigneeInfo | String | 否 | {“imgId”:“”,“name”:“张三”} | 待办人信息,示例:{“imgId”:“”,“name”:“张三”}<br/>不传的话待办人缺少名称与头像信息 |
subject | String | 是 | 标题(上限200字符) | |
creatorInfo | String | 否 | {“imgId”:“”,“name”:“张三”} | 创建人信息,示例:{“imgId”:“”,“name”:“张三”}<br/>不传的话创建人缺少名称与头像信息 |
creatorId | String | 是 | 创建人ID,人员信息的accountId | |
dueTime | Date | 否 | 截止时间 | |
tenantId | String | 是 | 租户ID | |
bizTaskId | String | 是 | 业务系统自定义ID,业务系统保证唯一,否则不保证幂等 | |
mobileUrl | String | 是 | 移动端详情URL(上限1000字符,必须为带着参数的get请求) | |
assigneeId | String | 是 | 待办人ID,人员信息中的accountId | |
url | String | 是 | PC端详情URL(上限1000字符,必须为带着参数的get请求) | |
packageUuid | String | 否 | 实例唯一ID,任务会关联在这个实例下,不传的时候会同步创建一个新的实例 | |
isSendDynamicCard | Boolean | 否 | 是否发送动态卡片 | |
dueNotifyTypeArr | List<String> | 否 | 提醒方式<br/>app-应用内(弹窗);<br/>notification-工作通知 | |
dueNotifyLevel | Integer | 否 | 提醒时间(仅在配置截止时间后生效)<br/>0:截止时;<br/>1:15分钟前;<br/>2:1小时前;<br/>3:3小时前<br/>4:1天前 | |
isSendWindowNotice | Boolean | 否 | 是否弹窗提醒 | |
tag | String | 否 | 标签 | |
description | String | 否 | 待办描述 | |
sourceAppkey | String | 是 | 待办来源appkey(由待办应用分配) | |
detailLinkOpenType | String | 否 | 详情链接打开方式,支持传入 pc_slide:侧边栏打开(该方式url需支持识别海南省中台用户中心token参数拼接至URL,例:https://访问地址? accessToken=xxxx)<br/>ddtab:在新的tab页打开(默认) |
返回参数
名称 | 子参数名称 | 子参数名称 | 子参数名称 | 类型 | 描述 |
---|---|---|---|---|---|
success | Boolean | 是否成功 | |||
content | Object | 内容 | |||
└data | TaskDTO | 任务创建结果 | |||
└└appKey | String | 应用key | |||
└└appName | String | 应用名 | |||
└└businessType | String | 业务类型 | |||
└└taskUuid | String | 任务uuid | |||
└└packageUuid | String | 实例uuid | |||
└└bizTaskId | String | 任务业务id | |||
└└creator | UserInfoDTO | 创建人 | |||
userId | String | 用户ID | |||
name | String | 用户名 | |||
imgId | String | 头像ID | |||
└└assignee | UserInfoDTO | 待办人 | |||
userId | String | 用户ID | |||
name | String | 用户名 | |||
imgId | String | 头像ID | |||
└└subject | String | 任务标题 | |||
└└url | String | 详情url | |||
└└mobileUrl | String | 移动详情url | |||
└└createTime | Date | 任务创建时间 | |||
└└startTime | Date | 任务开始时间 | |||
└└dueTime | Date | 预计办结时间 | |||
└└priority | String | 优先级 | |||
└└finishTime | Date | 任务完成时间 | |||
└└formValues | List<ComponentValueDTO> | 表单值 | |||
└└└label | String | 标签名 | |||
└└└value | String | 组件值 | |||
└└└componentId | String | 组件id | |||
└└packageCreateTime | Date | 实例创建时间 | |||
└└overdue | Boolean | 是否逾期 | |||
└└accelerators | List<AcceleratorDTO> | ||||
└└└label | String | 按钮显示内容 | |||
└└└id | String | 动作ID,如AGREE、DISAGREE等 | |||
└└└clear | Boolean | 是否完成待办<br/>true:完成<br/>false:不完成 | |||
└└needVpn | Boolean | 是否需要vpn | |||
└└dueNotifyTypeArr | List<String> | 提醒方式 <br/>app-应用内(弹窗);<br/>notification-工作通知 | |||
└└dueNotifyLevel | Integer | 提醒时间 (仅在配置截止时间后生效)<br/>0-截止时;<br/>1-15分钟前;<br/>2-1小时前;<br/>3-3小时前<br/>4-1天前 | |||
└└tag | String | 标签 | |||
└success | Boolean | 请求是否成功 | |||
└responseCode | String | 请求code | |||
└responseMessage | String | 请求msg |
调用示例
java
String url= "https://xxxx";
String mobileUrl= "https://xxx";
Map<String, String> parameter = new HashMap<>();
parameter.put("subject", "xxx");
parameter.put("assigneeInfo", JSONObject.of("imgId", "xxx", "name", "xxx").toString());
parameter.put("assigneeId", "xxx");
parameter.put("creatorInfo", JSONObject.of("imgId", "xxx", "name", "xxx").toString());
parameter.put("creatorId", "xxx");
parameter.put("dueTime", "2024-06-06 12:00:03");
parameter.put("tenantId", "1");
parameter.put("bizTaskId", UUID.fastUUID().toString(true));
parameter.put("mobileUrl", mobileUrl);
parameter.put("url", detailUrl);
parameter.put("dueNotifyTypeArr", "app,notification");
parameter.put("dueNotifyLevel", "2");
parameter.put("isSendWindowNotice", "true");
parameter.put("sourceAppkey", "xxx");
parameter.put("detailLinkOpenType", "ddtab");
//拼装业务信息
HttpParameters parameters = HttpParameters.builder()
.api("/tc/v2/openapi/task/create.json")
.region("INTER")
.accessKey("xxx")
.secretKey("xxx")
.queryParamsMap(parameter)
.requestUrl("https://api-one.digitalhainan.com.cn/apione")
.mediaType(MediaType.parse("application/json"))
.method("GET")
.build();
HttpReturn call = HttpCaller.getInstance().call(parameters);
log.info("响应:" + call.response);
创建多人待办调用示例:
java
String url= "https://xxxx";
String mobileUrl= "https://xxx";
// 执行人列表
List<String> assigneeIdList = ListUtil.of("xxx", "xxx");
// 待办实例id
Object packageUuid = null;
for (String assigneeId : assigneeIdList) {
Map<String, String> parameter = new HashMap<>();
parameter.put("subject", "xxx");
parameter.put("assigneeInfo", JSONObject.of("imgId", "xxx", "name", "xxx").toString());
parameter.put("assigneeId", assigneeId);
parameter.put("creatorInfo", JSONObject.of("imgId", "xxx", "name", "xxx").toString());
parameter.put("creatorId", "xxx");
parameter.put("dueTime", "2024-06-06 12:00:03");
parameter.put("tenantId", "1");
parameter.put("bizTaskId", UUID.fastUUID().toString(true));
parameter.put("mobileUrl", mobileUrl);
parameter.put("url", url);
parameter.put("dueNotifyTypeArr", "app,notification");
parameter.put("dueNotifyLevel", "2");
parameter.put("isSendWindowNotice", "true");
parameter.put("detailLinkOpenType", "ddtab");
parameter.put("sourceAppkey", "xxx");
// 若需要给同一个实例创建多个待办任务,则需要传入packageUuid
if (ObjectUtil.isNotNull(packageUuid)) {
parameter.put("packageUuid", packageUuid.toString());
}
System.out.println("入参:" + JSON.toJSONString(parameter));
//拼装业务信息
HttpParameters parameters = HttpParameters.builder()
.api("/tc/v2/openapi/task/create.json")
.region("INTER")
.accessKey("xxx")
.secretKey("xxx")
.queryParamsMap(parameter)
.requestUrl("https://api-one.digitalhainan.com.cn/apione")
.mediaType(MediaType.parse("application/json"))
.method("GET")
.build();
HttpReturn call = HttpCaller.getInstance().call(parameters);
JSONObject resp = JSONObject.parseObject(call.getResponse());
if (ObjectUtil.isNull(packageUuid)) {
// 获取待办实例id
packageUuid = resp.getByPath("content.data.packageUuid");
}
}