通过DocuSign API向非签署人发送已签署文档邮件的方法咨询
可以实现!这里有两种靠谱的方案帮你完成需求
完全没问题——即使你用了嵌入式签署(通过ClientUserId跳过默认邮件),也能通过DocuSign API把已签署的文档副本发送给非签署人。结合你提到的compositeTemplates配置,我给你整理了两种最常用的实现方式:
方案一:创建信封时直接配置自动发送(最简单)
如果你希望签署完成后自动触发发送,最省心的方式是在创建信封时,给非签署人添加Carbon Copy(CC)收件人,并设置他们的路由顺序在签署人之后。这样签署人完成嵌入式签署后,DocuSign会自动把文档副本发给指定的非签署人。
修改你的compositeTemplates配置,在recipients里加入CC项即可:
{ "compositeTemplates": [ { "compositeTemplateId": "1", "inlineTemplates": [ { "recipients": { "signers": [ { "email": "signer@yourdomain.com", "name": "签署人姓名", "clientUserId": "your-client-user-id", "recipientId": "1", "routingOrder": "1" } ], "carbonCopies": [ { "email": "non-signer@yourdomain.com", "name": "非签署人姓名", "recipientId": "2", "routingOrder": "2", "deliveryMethod": "email" } ] }, "status": "sent" } ] } ] }
关键细节:
- 给签署人设置
routingOrder: "1",CC收件人设置routingOrder: "2",确保后者在签署完成后才会收到邮件。 - 因为你用了
ClientUserId,签署人不会收到默认的签署邀请邮件,但CC收件人的邮件会正常触发。
方案二:签署完成后主动调用API发送(更灵活)
如果需要根据业务逻辑动态决定是否发送、发送对象,或者要自定义邮件内容,你可以在信封状态变为completed后,通过两步API调用实现:
获取已签署的文档
调用EnvelopeDocuments::get接口获取已签署文档的Base64编码内容:GET /v2.1/accounts/{你的账号ID}/envelopes/{信封ID}/documents/1(注:如果信封包含多个文档,先用
EnvelopeDocuments::list获取所有文档的ID,再按需获取)创建新信封发送给非签署人
用获取到的文档内容,创建一个仅用于发送副本的信封,直接设置状态为sent:{ "emailSubject": "【已完成签署】文档副本", "emailBlurb": "这是签署完成后的正式文档,请查收存档。", "documents": [ { "documentId": "1", "name": "已签署文档.pdf", "documentBase64": "这里填第一步获取到的Base64编码内容" } ], "recipients": { "carbonCopies": [ { "email": "non-signer@yourdomain.com", "name": "非签署人姓名", "recipientId": "1" } ] }, "status": "sent" }进阶技巧:你可以配置DocuSign的Webhook(Event Notification),监听信封的
completed事件,当签署完成时自动触发上述流程,实现完全自动化。
注意事项
- 确保你的API集成账号拥有
envelope_send和document_read的权限,否则会出现权限错误。 - 如果用方案一,不要忘记给CC收件人设置正确的
routingOrder,否则可能会在签署前就发送邮件。 - 嵌入式签署的信封必须设置
status: "sent",才能正常触发签署流程和后续的邮件通知。
内容的提问来源于stack exchange,提问作者Mauri1OA
相关产品推荐
相关产品推荐

