如何通过DocuSign_eSign Rails gem获取邮件中的文档签署URL
问题描述
我尝试使用以下代码通过DocuSign_eSign Rails gem获取文档签署URL:
envelope_api = DocuSign_eSign::EnvelopesApi.new(api_client) response = envelope_api.create_envelope(account_id, envelope_definition) {:documents=>[{:documentBase64=>"", :documentId=>"123", :fileExtention=>"pdf", :name=>"document"}],:emailSubject=>"testmail", :recipients=>{:signers=>[{:email=>"abc@gmail.com.com", :name=>"abc", :recipientId=>"1234"}]}, :status=>"sent"} recipient_view_request = DocuSign_eSign::RecipientViewRequest.new recipient_view_request.return_url = "http://example.com" recipient_view_request.authentication_method = 'None' recipient_view_request.email = "abc@gmail.com" recipient_view_request.user_name = "abc" signing_url = envelopes_api.create_recipient_view(account_id, response.envelope_id, recipient_view_request) signing_url.url
但目前仅能获取查看URL,我需要的是创建信封时发送给用户邮件中的文档签署URL。项目需求为用户点击签署文档按钮后,签署其上传的文档,因此需要该邮件中的签署链接。
解决方案
- DocuSign不会直接提供邮件内的签署链接,这类链接是一次性、和收件人会话绑定的,且有有效期限制,无法通过API直接获取。
- 你当前用
create_recipient_view生成的嵌入式签署链接,功能和邮件内的链接完全一致——用户点击后可直接进入签署页面完成操作,完全能满足你的业务需求。 - 若生成的是查看链接,可从这几点排查修正:
- 检查收件人邮箱:你代码里写了
abc@gmail.com.com(多了一个.com),和后续请求的abc@gmail.com不匹配,这大概率是核心问题,先修正邮箱一致性。 - 调整验证方式:将
authentication_method设置为符合你账号要求的类型(比如"Email"),避免跳过验证步骤导致权限异常。 - 确认信封状态:确保信封状态为
"sent",未发送的信封无法生成有效签署链接。
- 检查收件人邮箱:你代码里写了
内容的提问来源于stack exchange,提问作者Vivek gautam
相关产品推荐
相关产品推荐

