如何配置DocuSign PHP API让发起者收到签署完成通知邮件?
解决DocuSign PHP API发起者未收到签署完成通知的问题
核心配置思路
要让发起者收到签署完成通知,可通过两种方式配置:将发起者添加为抄送(Carbon Copy)收件人,或在信封的通知设置中明确启用发起者的完成状态通知。
方法一:添加发起者为抄送收件人
在构建信封收件人列表时,新增Carbon Copy类型的收件人,指定发起者的邮箱和姓名。当所有签署人完成签署后,DocuSign会自动向该抄送地址发送完成通知邮件。
PHP代码示例:
use DocuSign\eSign\Model\CarbonCopy; use DocuSign\eSign\Model\EnvelopeDefinition; use DocuSign\eSign\Model\Recipients; // 构建发起者作为抄送收件人 $ccRecipient = new CarbonCopy(); $ccRecipient->setEmail('发起者邮箱地址'); $ccRecipient->setName('发起者姓名'); $ccRecipient->setRecipientId('3'); // 确保ID与其他签署人不重复 $ccRecipient->setRoutingOrder('3'); // 设置为最后路由顺序,确保签署完成后触发通知 // 将抄送收件人加入收件人集合 $recipients = new Recipients(); $recipients->setCarbonCopies([$ccRecipient]); // 此处需同时添加两位签署人(Signer类型)到recipients中... // 构建并发送信封 $envelopeDefinition = new EnvelopeDefinition(); $envelopeDefinition->setRecipients($recipients); $envelopeDefinition->setStatus('sent'); // 补充文档、邮件主题等其他信封配置...
方法二:配置信封通知设置
通过信封的notification属性,直接指定发起者接收完成通知,无需添加抄送收件人。
PHP代码示例:
use DocuSign\eSign\Model\Notification; use DocuSign\eSign\Model\EnvelopeDefinition; // 构建完成通知规则 $notification = new Notification(); $notification->setEnvelopeComplete([ 'emailSubject' => '签署完成通知:你的文档已签署完毕', 'emailBody' => '你发起的文档已完成所有签署,详情可查看附件。', 'recipientEmails' => ['发起者邮箱地址'], // 指定发起者邮箱 'includeDocuments' => true // 可选:是否随邮件附上已签署文档 ]); // 绑定通知规则到信封 $envelopeDefinition = new EnvelopeDefinition(); $envelopeDefinition->setNotification($notification); $envelopeDefinition->setStatus('sent'); // 补充其他信封配置...
注意事项
- 确保发起者邮箱在DocuSign系统中有效且已完成验证(首次接收通知可能需要验证)。
- 检查DocuSign账户全局通知设置,确认未禁用信封完成通知的发送。
- 使用方法一时,
routingOrder需大于所有签署人的路由顺序,保证签署完成后才触发抄送通知。
内容的提问来源于stack exchange,提问作者Pankaj Malkani
相关产品推荐
相关产品推荐

