Omniscript中无法访问Docusign动作JSON节点取值问题咨询
你当前的取值方法有误,并非平台Bug,问题核心是DS_SignatureAction为数组类型,你没有适配平台的数组索引规则。
错误原因说明
DS_SignatureAction存储的是所有Docusign点击动作的数组集合,绝大多数低代码/工作流集成平台的JSON数组下标默认从0开始计数,你之前的取值写法存在以下问题:
%DS_SignatureAction|1:status%使用1作为首个元素索引,只能取到数组第二个元素的status,当数组只有1条记录时会返回空%DS_SignatureAction:status%没有指定数组下标,平台无法判断你要取数组中哪一个元素的status字段%DS_SignatureAction%直接返回整个数组对象,无法匹配单值校验规则的要求
正确取值写法
根据你的使用场景选择对应取值方式:
- 取最早产生的第一条签名动作的status:
%DS_SignatureAction|0:status%
对应你给出的示例JSON,该写法返回结果为 In Process - 取最新产生的最后一条签名动作的status:
如果平台支持负索引,写法为:%DS_SignatureAction|-1:status%
对应你给出的示例JSON,该写法返回结果为 Completed
如果平台不支持负索引,你需要先获取DS_SignatureAction数组的长度,用「长度-1」作为索引值拼接取值表达式即可 - 校验是否存在已完成的签名动作:
先使用数组过滤函数筛选status等于Completed的元素,再判断返回的筛选结果数组长度是否大于0即可。
内容的提问来源于stack exchange,提问作者more
相关产品推荐
相关产品推荐

