HTTP 连接器 - 获取流程审批记录
1. 使用场景
本例介绍一下如何使用钉钉开放平台 OpenAPI 获取宜搭流程审批记录 。
1.1. 连接器介绍文档
2. 实现功能
2.1. 申请钉钉开放平台应用凭证及接口权限
若已申请,可忽略此步骤。
此处为语雀内容卡片,点击链接查看:宜搭自定义连接器鉴权凭证申请及接口权限申请
2.2. 创建 HTTP 连接器
本例用到的连接器:
2.2.1. 创建 HTTP 连接器
2.2.2. 配置连接器基本信息和登录方式
2.2.3. 配置连接器执行动作
获取审批记录:
接口请求 Query :
接口返回:
{
"result":[]
}
配置更新表单数据连接器同上步骤,只需按照更新表单数据接口文档更改接口请求参数值进行配置
2.2.4. 配置鉴权模板
若无账号,需新增账号,账号所需参数参考 2.1:
鉴权模板具体配置可参考:
此处为语雀内容卡片,点击链接查看:宜搭自定义连接器鉴权模板配置
2.3. 在宜搭配置页面并配置集成自动化
2.3.1. 配置流程页面
提交该流程页面数据,获取该流程页面提交的流程实例的审批记录
2.3.2. 配置表单页面
创建流程中间表 -> 存放流程表单提交后的实例 id
表单提交成功 -> 选择需要查询的流程 id 直接提交,查看该实例详情的审批记录
2.3.3. 配置集成自动化
流程表单提交成功->新增流程中间表实例,存放流程实例 id
查询审批记录表单提交成功 -> 配置脚本节点处理触发人 userId -> 调用连接器获取审批记录 -> 处理审批记录返回参数 -> 再处理更新数据 -> 调用连接器更新表单数据更新到页面中。
处理触发人 userId 格式:
outputs.add("triggerUser","triggerUser",JSON.parse(triggerUser)[0]);
处理获取审批记录返回参数:
// 筛选出 type 为 'TODO' 的记录
var todoRecords = result.filter(function (item) {
return item.type === 'TODO';
});
// 提取 showName, operatorName,operateTimeGMT 和 taskId 属性
var extractedData = result.map(function (item) {
return {
textField_lq0hets9: item.showName, // 节点名称
employeeField_lq0hetsa: [item.operatorUserId], // 审批人
textField_lq0hv2i2: item.taskId, // 任务id(taskId)
textField_lq0igmdw: item.type, // 任务状态
dateField_lq0hetsb: item.operateTimeGMT ? Date.parse(item.operateTimeGMT) - 8*60*60*1000 : null, // 操作时间
};
});
outputs.add("showName","当前审批节点名称",todoRecords[0].showName);
outputs.add("operatorName","当前审批人",[todoRecords[0].operatorUserId]);
outputs.add("taskId","当前审批节点任务id(taskId)",todoRecords[0].taskId);
outputs.add("extractedData","审批记录详情",extractedData);
处理更新数据:
var updateFormDataJson = {
textField_lq0hets1: showName,
employeeField_lq0hets7: operatorName,
textField_lq0hv2i1: taskId,
tableField_lq0hets8: extractedData,
}
outputs.add("updateFormDataJson","updateFormDataJson",JSON.stringify(updateFormDataJson));
通过连接器更新表单数据:
3. 实现效果
4. 在线试玩
本文档对您是否有帮助?