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

如何使用DocuSign Apex Toolkit获取信封内所有文档的PDF字节流?

使用DocuSign Apex Toolkit获取信封内所有文档的PDF字节流

要实现和eSign REST API等效的获取信封文档功能,你可以通过DocuSign Apex Toolkit的DsApi类直接调用底层Envelopes API方法,以下是具体实现和示例代码:

核心逻辑

  1. 初始化Apex Toolkit的API客户端,配置认证与环境信息
  2. 调用listDocuments接口获取信封内所有文档的清单
  3. 遍历文档清单,调用getDocument接口逐个提取PDF字节流

示例代码

// 初始化DocuSign API客户端
DsApi dsApi = new DsApi();
dsApi.setOAuth2ClientId('你的集成密钥'); // 替换为实际DocuSign集成密钥
dsApi.setBasePath('https://demo.docusign.net/restapi'); // 测试环境用demo,生产环境替换为https://www.docusign.net/restapi

// 目标信封ID
String targetEnvelopeId = '要查询的信封ID';

try {
    // 获取信封文档列表信息
    EnvelopeDocumentsInformation docsInfo = dsApi.EnvelopesApi.listDocuments('你的DocuSign账户ID', targetEnvelopeId);
    
    // 遍历所有文档
    for (EnvelopeDocument doc : docsInfo.getEnvelopeDocuments()) {
        // 可选:跳过证书类文档
        if (doc.getType() == 'certificate') {
            continue;
        }
        
        // 获取文档PDF字节流
        Blob docPdfBlob = dsApi.EnvelopesApi.getDocument('你的DocuSign账户ID', targetEnvelopeId, doc.getDocumentId());
        
        // 示例:将字节流保存为Salesforce附件
        Attachment newAttachment = new Attachment();
        newAttachment.Name = doc.getName() + '.pdf';
        newAttachment.Body = docPdfBlob;
        newAttachment.ParentId = '关联的Salesforce记录ID'; // 替换为实际记录ID
        insert newAttachment;
    }
} catch (DsApiException ex) {
    System.debug('获取文档出错: ' + ex.getMessage());
}

注意事项

  • 确保已完成DocuSign Apex Toolkit的OAuth认证配置,当前用户拥有目标信封的访问权限
  • 替换代码中所有占位符为实际业务值
  • 生产环境需调整basePath为正式域名
  • 可根据需求添加文档过滤逻辑,比如仅提取已签署完成的文档

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 12:33:27