You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用DocuSign Node.js SDK选取模板部分文档发送电子签名请求

如何使用DocuSign Node.js SDK选择模板中的部分文档发送签名请求

核心实现思路是使用DocuSign的*复合模板(Composite Template)*机制,普通的模板创建信封接口默认会加载模板内全部文档,无法筛选。

前置准备

  • 调用DocuSign SDK的templates.listDocuments接口,获取目标模板下所有文档的documentId和名称对应关系,确认你需要选用的2~3份文档的ID值。

核心实现代码

const docusign = require('docusign-esign');
// 此处省略DocuSign客户端初始化、鉴权流程,直接进入信封构造逻辑
const envelopeDefinition = docusign.EnvelopeDefinition.constructFromObject({
  emailSubject: "请签署相关文件",
  status: "sent", // 设为sent直接发送,设为created则存为草稿
  compositeTemplates: [
    // 第一份需要保留的模板文档
    {
      compositeTemplateId: "1",
      serverTemplates: [
        {
          sequence: "1",
          templateId: "替换为你的模板ID"
        }
      ],
      document: {
        documentId: "替换为你要选用的文档1的ID", // 和模板内对应文档ID一致
        name: "替换为文档1的名称",
        documentBase64: null // 留空自动复用模板内的原文档内容
      },
      inlineTemplates: [
        {
          sequence: "2",
          recipients: {
            signers: [
              {
                email: "签署人邮箱地址",
                name: "签署人姓名",
                roleName: "模板内预定义的签署角色名", // 必须和模板配置完全一致
                recipientId: "1"
              }
            ]
          }
        }
      ]
    },
    // 第二份需要保留的模板文档,结构同上
    {
      compositeTemplateId: "2",
      serverTemplates: [
        {
          sequence: "1",
          templateId: "替换为你的模板ID"
        }
      ],
      document: {
        documentId: "替换为你要选用的文档2的ID",
        name: "替换为文档2的名称",
        documentBase64: null
      },
      inlineTemplates: [
        {
          sequence: "2",
          recipients: {
            signers: [
              {
                email: "签署人邮箱地址",
                name: "签署人姓名",
                roleName: "模板内预定义的签署角色名",
                recipientId: "1"
              }
            ]
          }
        }
      ]
    }
    // 若需要选第三份文档,按照上述结构新增对应项即可
  ]
});
// 调用接口发送信封
const envelopesApi = new docusign.EnvelopesApi(apiClient);
const sendResult = await envelopesApi.createEnvelope("替换为你的DocuSign账户ID", { envelopeDefinition });

注意事项

该方案会自动保留模板内对应文档上预配置的所有签名标签、填写项,不需要重新配置。如果不需要保留原有标签,也可以选择先下载模板内需要的文档,再手动构造新信封上传这些文档,但该方案需要自行配置所有签名位置,仅适合无预设标签的场景。

内容的提问来源于stack exchange,提问作者Deepak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 05:09:01