1. 什么是三方服务取审批人
我们可以从第三方系统中调取人员工号来匹配钉钉通讯录中员工的工号,工号匹配成功,就可以做为审批人去审批。
适用场景:针对一些有自己服务系统的企业,想要从自己的系统中获取人员信息,在宜搭里面作为审批人。
2. 如何配置第三方服务取审批人
注:使用第三方服务取审批人,首先需要确认您是否已经在宜搭注册了自己了回调服务,您可以通过「平台管理」>>「服务注册」进行查看,如果还没有注册,请先注册自己想要调用的服务,注册过程请参考文档《服务注册》。
在宜搭流程的「人工节点」中,您可以使用第三方服务动态获取该审批节点的审批人。
操作步骤:选择人工节点 >> 基础设置 >> 审批人规则 >> 其他规则 >> 第三方服务,如图:
设置审批人规则
注意:
//获取成员的数据格式必须如下 ["成员1","成员2"...]
假如某些节点不想设置审批人,那么返回的参数可以返回空值,直接返回 []
在使用这一功能时,如果需要取表单中的某个组件的值来作为审批人,在参数配置时需要采用的占位符格式为:#表单组件的 id 。
例如:
下面的流程中,一级审批人指定某个人,二级审批人需要根据表单中的参数值去动态获取。
那么,Http 服务调用,这里取表单变量的占位符格式为 #表单组件的 id ,这样就能获取到表单里组件填写的值了,下面的示例是直接配置了一个成员组件的值作为参数。配置好了后,成员组件里面选择的人员就可以作为审批人了。如图:
如果回调接口为 HTTP 接口,接口的编写要求如下:
HTTP Method 为 POST
请求参数放在 @RequestBody 里
uuid 是系统关键字,不能使用
如果【服务注册】的时候有使用【SHA256 签名密钥】,则回调的时候参数:__hmacSha256
md5 是服务回调默认会加的签名方式,如果【服务注册】的时候没有设置密钥,则会默认使用我们系统默认的密钥签名,如果有设置密钥,则会用设置好的密钥签名,回调的时候参数:sign
可以参考以下使用 Java 编写的简单的示例回调接口:
@RequestMapping(value = "/callback",method = RequestMethod.POST) @ResponseBody public List<String> callback(@RequestBody CallbackParam callbackParam) { // 返回值格式:["工号1","工号2"],如果返回空,直接返回null List<String> result = new ArrayList<>(); // do something return result; }