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

如何通过DocuSign REST API向收件人发送预填第三方签名的DocuSign文档

PHP集成DocuSign API预填第三方角色签名实现方案

1. 提前配置DocuSign模板

首先在DocuSign后台创建/编辑目标模板,添加好所有需要预填签名的角色,比如经理、HR,为每个角色分配好对应文档中的签名、日期等字段位置,记清楚每个角色的准确名称(后续API调用需要完全匹配)。

2. PHP API调用核心逻辑

前置依赖

先安装DocuSign官方PHP SDK,完成身份鉴权(JWT/OAuth授权均可),拿到有效的API访问token。

信封创建配置代码示例

在调用createEnvelope方法生成信封时,在templateRoles参数中配置第三方角色的信息,并标记为已完成签署:

use DocuSign\eSign\Api\EnvelopesApi;
use DocuSign\eSign\Model\EnvelopeDefinition;
use DocuSign\eSign\Model\TemplateRole;
use DocuSign\eSign\Model\SignHere;
use DocuSign\eSign\Model\Tabs;

// 1. 配置经理角色预填信息
$managerRole = new TemplateRole();
$managerRole->setRoleName('经理'); // 必须和模板内的角色名完全一致
$managerRole->setName('张三');
$managerRole->setEmail('manager@yourdomain.com');
$managerRole->setStatus('completed'); // 标记为已完成签署,无需再操作
$managerRole->setSignerEmailNotifications(null); // 关闭邮件通知

// 2. 预填充签名(两种方案二选一)
// 方案A:直接填写文本签名
$signField = new SignHere();
$signField->setDocumentId('1');
$signField->setPageNumber('1');
$signField->setRecipientId('1'); // 对应经理角色的recipient_id
$signField->setSigned('true');
$signField->setSignatureName('张三'); // 预填的签名内容

// 方案B:调用接口获取该用户DocuSign账号内的预设签名,复用样式
// $signField->setSignatureId('获取到的用户签名ID');

// 3. 绑定字段到角色
$tabs = new Tabs();
$tabs->setSignHereTabs([$signField]);
$managerRole->setTabs($tabs);

// 4. HR角色配置逻辑和上述完全一致,修改对应角色名、用户信息即可
$hrRole = new TemplateRole();
$hrRole->setRoleName('HR');
// ... 剩余配置同经理角色

// 5. 组装信封参数
$envelopeDefinition = new EnvelopeDefinition();
$envelopeDefinition->setTemplateId('你的模板ID');
$envelopeDefinition->setTemplateRoles([$managerRole, $hrRole, $yourEmbeddedRecipient]); // 最后加你的嵌入式签署收件人配置
$envelopeDefinition->setStatus('sent');

// 6. 调用API创建信封
$envelopeApi = new EnvelopesApi($apiClient);
$envelope = $envelopeApi->createEnvelope($accountId, $envelopeDefinition);

3. 注意事项

预填签名的第三方用户必须是你所属DocuSign组织内已完成实名认证的账号,否则预填签名会被系统判定为无效,不会展示在文档中。

  • 角色名的大小写、空格、特殊符号必须和模板内配置的完全一致,否则系统会识别为新的待签署角色,触发签署通知
  • 预填完成的第三方角色不会进入签署流程,也不会收到任何通知,仅会作为已签署内容展示给后续的嵌入式签署人
  • 如果模板内已经提前为对应角色配置好了签名字段位置,无需在代码中重复指定documentId、pageNumber等位置参数,仅标记角色状态为completed即可自动填充预设签名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:24:07