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

使用DocuSign eSign API创建的信封为空(草稿状态)问题求助

DocuSign eSign API 信封无文档/签署人问题排查与修复

核心问题与修复方案

1. Document构造函数未使用SDK实例

你的getDocumentsFromFolder函数中,直接使用new Document()创建文档对象,但这不是DocuSign SDK提供的构造函数,导致生成的文档结构不符合API要求,无法被信封正确识别。

修复后的代码:

async function getDocumentsFromFolder(folderPath) {
  const files = fs.readdirSync(folderPath);
  const documents = [];

  for (const [index, file] of files.entries()) {
    const filePath = path.join(folderPath, file);
    const fileBuffer = fs.readFileSync(filePath);
    const fileBase64 = fileBuffer.toString('base64');

    // 必须使用docusign命名空间下的Document构造函数
    const document = new docusign.Document();
    document.documentBase64 = fileBase64;
    document.name = file;
    document.fileExtension = path.extname(file).substring(1);
    document.documentId = (index + 1).toString();

    documents.push(document);
  }

  return documents;
}

2. 语法错误:多余的逗号导致代码解析失败

在makeEnvelope函数中,signHere1定义末尾的多余逗号会破坏代码结构,导致后续签署人、标签等配置无法正常初始化,最终信封缺少相关信息。

错误代码片段:

let signHere1 = docusign.SignHere.constructFromObject({
    yPosition: '579',
    xPosition: '121',
    documentId: '1',
    pageNumber: '4'
  }), // 此处逗号多余,导致后续let语句无法正确解析

修复后:

let signHere1 = docusign.SignHere.constructFromObject({
    yPosition: '579',
    xPosition: '121',
    documentId: '1',
    pageNumber: '4'
  }); // 替换为分号

额外验证点

  • 确认./docs路径下存在可读取的文件,且文件权限正常。
  • 检查fileExtension是否正确:例如test.pdf应提取为pdf,避免出现空值或错误后缀。
  • 建议为env.emailSubject设置非空内容,确保签署通知邮件展示正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 04:07:00