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

基于Salesforce遗留版DocuSign,如何用Apex生成独立签名URL?

遗留版DocuSign eSignature for Salesforce生成独立签名URL方案

核心思路

遗留版中,DocuSign信封关联的收件人记录(dfds__Recipient__c)自带原生签名URL字段,无需依赖Salesforce内部会话,直接提取该字段即可得到外部可访问的独立链接。

具体实现步骤

  • 创建信封并关联eSignature Contract
    调用遗留版原生方法dfds__docusign_createenvelope,传入eSignature Contract ID作为sourceId,该方法支持直接以此作为信封数据源,完全兼容原有Quote Template生成的PDF文档:

    Id opportunityId = '传入的Opportunity ID'; // 替换为实际获取的ID
    // 执行你已有的eSignature Contract创建逻辑,获取其ID
    Id eSignatureContractId = createESignatureContract(opportunityId);
    
    // 调用遗留版方法创建并发送信封
    dfds__Envelope__c envelope = dfds__docusign_createenvelope(
        eSignatureContractId,
        true, // 设置为true立即发送信封
        false,
        null,
        null
    );
    
  • 提取独立签名URL
    信封创建完成后,查询关联的收件人记录,读取dfds__Signing_URL__c字段值,该值即为DocuSign原生签名链接,可直接给外部用户打开使用:

    List<dfds__Recipient__c> signers = [
        SELECT dfds__Signing_URL__c, dfds__Email__c
        FROM dfds__Recipient__c
        WHERE dfds__Envelope__c = :envelope.Id
        AND dfds__Recipient_Type__c = 'Signer'
    ];
    
    // 按需筛选目标签名人的URL,比如按邮箱匹配
    String externalSignUrl;
    for(dfds__Recipient__c signer : signers) {
        if(signer.dfds__Email__c == '目标签名人邮箱') {
            externalSignUrl = signer.dfds__Signing_URL__c;
            break;
        }
    }
    

关键注意事项

  • 确保Apex类拥有dfds__Recipient__c对象及dfds__Signing_URL__c字段的读权限
  • 只有信封处于已发送状态时,dfds__Signing_URL__c才会生成有效链接,草稿状态下该字段为空
  • 多签名人场景下,需根据收件人标识(邮箱、姓名等)筛选对应签名URL

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 19:20:10