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

如何批量预填充DocuSign发送方签名并保留审计轨迹

问题结论

该需求可实现,且完全符合DocuSign合规要求,适配你当前使用的C# eSign开发包,不需要开发嵌入式模板编辑能力,也不需要管理员重复签署同内容文档。

实现方案

首先要排除你最初设想的半签署状态文档复用思路:DocuSign每个信封(Envelope)的审计轨迹是独立绑定的,将已完成部分签署的文档导出后重新生成新信封,原有签名记录不会被新信封认可,审计轨迹断裂,反而不满足合规要求。

正确方案基于模板+顺序路由+发件人自动签名能力实现,具体步骤如下:

  • 第一步:创建签名模板
    你可以直接在DocuSign管理后台可视化创建模板,也可以通过C# SDK调用接口创建,不需要开发嵌入式模板编辑功能。模板中配置两个固定签署角色:
    1. 第一签署顺位(RoutingOrder=1)固定为已完成授权的管理员账号,在文档对应位置放置管理员的签名域,开启AutoSign(自动签署)属性
    2. 第二签署顺位(RoutingOrder=2)设为动态角色,角色名可自定义为end_user,不预设邮箱、姓名信息,在文档对应位置放置普通签署人的签名域
      管理员只需要提前在自己的DocuSign个人设置中上传、保存好自己的签名样式即可,后续不需要重复操作签名步骤。
  • 第二步:基于模板生成信封
    每次需要给不同用户发起签名请求时,直接调用SDK的「从模板创建信封」接口,仅需传入end_user角色对应的实际签署人姓名、邮箱、嵌入式签署用的ClientUserId即可,不需要额外传入管理员信息。
    以下是C# SDK的核心代码示例:
// 初始化信封定义,绑定提前创建好的模板ID
EnvelopeDefinition envelope = new EnvelopeDefinition
{
    TemplateId = "你提前创建的模板ID",
    Status = "sent",
    TemplateRoles = new List<TemplateRole>
    {
        new TemplateRole
        {
            // 对应模板中定义的普通签署人角色名
            RoleName = "end_user",
            Name = "实际签署人姓名",
            Email = "实际签署人邮箱",
            // 用于生成嵌入式签名视图,和你现有嵌入式签署逻辑一致
            ClientUserId = "签署人唯一业务标识"
        }
    }
};

// 调用创建信封接口
EnvelopesApi envelopesApi = new EnvelopesApi(apiClient);
EnvelopeSummary result = await envelopesApi.CreateEnvelopeAsync(accountId, envelope);
  • 第三步:生成嵌入式签名视图
    信封创建后,DocuSign会自动完成第一顺位管理员的签署步骤:系统会调用管理员账号中已保存的签名样式自动签署对应签名域,这个操作是DocuSign官方合规能力,审计轨迹会明确记录「该签名经管理员授权自动应用」,和手动签名具备同等审计效力,不属于预填充签名图片的违规方案。
    管理员签署完成后信封会自动进入等待普通用户签署的状态,你直接用现有逻辑为普通用户生成嵌入式签名URL即可,不需要给管理员做额外的签名跳转。
可选调整方案

如果你后续需要管理员对每份文档做手动确认后再签署,只需要把模板中管理员角色的AutoSign属性关闭,每次信封创建后先调用嵌入式签名接口生成管理员的签名链接,管理员完成签署后再开放给普通用户签署即可,审计轨迹会记录管理员的手动签名行为,同样满足合规要求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 05:09:19