如何使用DocuSign JS SDK向自定义envelope字段传值
DocuSign JS SDK 已创建Envelope自定义字段传值方案
你当前使用的data-powerform-fields属性仅支持PowerForm初始化生成新Envelope时传值,对已经创建完成的存量Envelope无效,需要根据字段类型调用对应SDK方法传值,具体操作如下:
- 若你要传值的是Envelope级别自定义字段(独立于文档内容的信封元数据字段)
直接调用SDK内置的更新信封自定义字段方法即可,参考代码:
// 初始化SDK客户端 const apiClient = new docusign.ApiClient(); apiClient.setBasePath('https://demo.docusign.net/restapi'); apiClient.addDefaultHeader('Authorization', `Bearer ${你的访问Token}`); const envelopesApi = new docusign.EnvelopesApi(apiClient); // 组装要传入的自定义字段值 const customFields = new docusign.CustomFields(); customFields.textCustomFields = [ { name: "目标自定义字段的名称", value: "要传递的实际字段值", required: "false", show: "true" } ]; // 执行更新操作,传入你的账户ID、目标信封ID即可 envelopesApi.updateCustomFields(你的账户ID, 目标信封ID, {customFields: customFields}) .then(res => console.log("字段值写入成功", res)) .catch(err => console.error("写入失败", err));
- 若你要传值的是文档内的自定义签署字段(和你之前实现的文档自定义字段是同一类,即文档上预置的签署标签)
这类字段需要调用文档标签更新接口,定位到对应收件人名下的对应标签,修改标签的value属性完成传值。注意:只有信封处于「草稿」「待发送」状态时支持修改,信封已经发出、收件人开始签署或者进入终态后无法修改字段值。
你提供的现有代码片段格式化后如下,仅能在启动PowerForm生成新信封时生效:
<script data-powerform-fields="signer_UserName=firstname%lastname&signer_Email=ada@example.com&signer_acknowledgement=Read and accepted." src="//developers.docusign.com/js/docusign.js"> </script>
操作注意事项:
- 传值前先区分字段类型,Envelope级自定义字段和文档签署标签的更新接口完全不同,调错接口不会生效
- 传入的字段名需要和后台定义的字段
name完全一致,大小写敏感,名称不匹配时值不会写入对应字段 - 终态(已完成、已拒绝、已过期)的信封不支持任何字段值修改操作
内容的提问来源于stack exchange,提问作者Dio
相关产品推荐
相关产品推荐

