如何通过DocuSign API检查发送给签署人的信封邮件通知是否成功送达(无退回)
如何查询DocuSign信封邮件通知的送达状态
嘿,我来帮你搞定DocuSign邮件通知状态查询的事儿!当你用Create And Send Envelope接口发完信封后,要确认签署人的邮件有没有成功送达,主要有这几种靠谱的方法:
1. 查看收件人状态细节(快速确认)
调用GET /v2.1/accounts/{accountId}/envelopes/{envelopeId}/recipients这个API端点,就能获取到每个签署人的详细状态信息。
在返回的响应里,每个签署人对象会包含两个关键字段:
status:表示收件人整体的处理状态(比如sent、completed)emailNotificationStatus:这是专门对应邮件通知的状态,能直接告诉你邮件是否送达:delivered:邮件已成功投递到收件人邮箱pending:邮件还在发送队列中failed/bounced:邮件投递失败(可能是邮箱无效、被垃圾邮件拦截等)
举个响应片段的例子:
{ "recipients": { "signers": [ { "email": "signer@example.com", "name": "John Doe", "status": "sent", "emailNotificationStatus": "delivered", "recipientId": "1" } ] } }
2. 获取完整的通知历史(排查问题用)
如果需要更详细的投递记录(比如多次尝试投递的时间、失败的具体原因),可以调用GET /v2.1/accounts/{accountId}/envelopes/{envelopeId}/notification_history接口。
这个接口会返回所有和该信封相关的通知事件,包括发送时间、状态、错误描述,帮你精准定位邮件没送达的问题。比如:
{ "notificationHistory": [ { "notificationId": "123456", "notificationType": "email", "recipientEmail": "signer@example.com", "sentDateTime": "2024-05-20T14:30:00Z", "status": "bounced", "statusMessage": "Recipient email address does not exist" } ] }
3. 配置Webhook(实时接收状态更新)
要是你不想每次都主动查询,可以设置DocuSign Connect(也就是Webhook)。当信封的邮件通知状态发生变化时,DocuSign会自动把事件推送到你指定的服务器端点。
配置的时候记得勾选和Recipient Email Notification相关的事件,这样就能实时收到送达、失败等状态的更新,不用再手动调用接口查了。
注意事项
- 确保你的API账号拥有
envelope_read权限,不然会无法访问这些端点 - 不同的
emailNotificationStatus值对应不同的投递状态,建议结合业务场景做判断 - 如果遇到投递失败的情况,优先看
statusMessage或者通知历史里的错误信息,能快速找到问题根源
内容的提问来源于stack exchange,提问作者Shamim Ahmad
相关产品推荐
相关产品推荐

