能否从自建中间件重定向至Docusign New Envelope页面预载文档并编辑?
方案可行性分析
完全可行。DocuSign eSignature平台支持通过API创建草稿信封,并生成指向Envelope Editor(即你提到的「New Envelope」页面)的临时访问链接,实现从你的应用无缝跳转并预载文档、收件人等信息,让用户直接在DocuSign端完成后续配置并发送信封。
具体实现步骤
以下是基于你已集成DocuSign SDK的实操步骤(以Python SDK为例,其他语言SDK逻辑一致):
创建预载内容的草稿信封
- 调用DocuSign SDK的信封创建接口,将信封状态设置为
created(草稿状态,而非直接发送),同时上传需要预载的文档、添加已知收件人信息。 - 示例代码:
# 构建信封定义 envelope_def = docusign.EnvelopeDefinition( status="created", # 关键:设为草稿状态 documents=[ docusign.Document( document_base64=base64.b64encode(open("target_doc.pdf", "rb").read()).decode(), name="待签署文档.pdf", document_id="1" ) ], recipients=docusign.Recipients( signers=[ docusign.Signer( email="john.doe@example.com", name="John Doe", recipient_id="1", routing_order="1" ) ] ) ) # 调用API创建草稿信封 envelope_api = docusign.EnvelopesApi(api_client) envelope_result = envelope_api.create_envelope(account_id=YOUR_ACCOUNT_ID, envelope_definition=envelope_def) # 保存返回的信封ID,后续跳转需要 envelope_id = envelope_result.envelope_id
- 调用DocuSign SDK的信封创建接口,将信封状态设置为
生成Envelope Editor的跳转链接
- 调用
create_edit_view接口,传入草稿信封ID和你的应用回调URL(用户完成编辑后跳转回你的应用的地址),获取临时访问链接。 - 示例代码:
edit_view_req = docusign.EditViewRequest( return_url="https://your-middleware-app.com/post-docusign-edit", # 回调地址 authentication_method="none" # 根据你的认证策略调整,如"email"或"password" ) edit_view = envelope_api.create_edit_view(account_id=YOUR_ACCOUNT_ID, envelope_id=envelope_id, edit_view_request=edit_view_req) # 获取可直接跳转的URL redirect_url = edit_view.url
- 调用
从你的应用重定向用户
- 当用户在你的中间件中触发“进入DocuSign配置”操作时,直接返回HTTP重定向响应,将用户导向
redirect_url。用户进入DocuSign的Envelope Editor页面后,会看到已预载的文档和收件人,可直接进行以下操作:- 拖拽签署、日期、文本等字段到文档指定位置
- 添加、删除、编辑收件人信息及签署顺序
- 调整信封主题、邮件内容等配置
- 完成后点击发送,正式发起签名请求
- 当用户在你的中间件中触发“进入DocuSign配置”操作时,直接返回HTTP重定向响应,将用户导向
处理回调(可选)
- 用户完成编辑并发送信封后,会自动跳转到你指定的
return_url,此时可通过URL参数(如envelope_id)调用DocuSign API查询信封状态,同步更新你的中间件内的记录。
- 用户完成编辑并发送信封后,会自动跳转到你指定的
关键注意事项
- 临时跳转链接有效期较短(约10分钟),需在用户触发操作时实时生成,不可提前缓存。
- 确保你的DocuSign API账号拥有
envelopes:create和envelopes:edit权限,标准eSignature账号默认支持。 - 若需预定义签署字段位置,可在创建草稿信封时添加
tabs参数,预先配置字段坐标,用户后续可按需调整。
内容的提问来源于stack exchange,提问作者Kevin Mukhami
相关产品推荐
相关产品推荐

