DocuSign同一文档使用不同Tabs两次签署及Tabs修改问题
实现方案
完全可以实现你的需求,已完成签署的收件人签名和已填充的字段内容会被默认保留,你只需在两次签署的间隔主动调用DocuSign的tabs更新接口即可,你的代码中缺失了更新信封tabs的步骤,以下是修正逻辑:
核心修改步骤
- 第一次签署完成、等待用户输入确认后,先构造需要新增/修改的tab对象
- 调用
envelope_api.update_tabs方法,将新的tab绑定到post_signer收件人上 - 再生成post_signer的收件人视图即可
修改后代码片段
# 原有代码保持不变,直到以下位置 puts "Continue?" gets # 新增:构造post_signer需要的text tab post_signer_text = DocuSign_eSign::Text.new post_signer_text.value = 'Omega' post_signer_text.tab_label = 'post_value' # 构造tabs对象 post_tabs = DocuSign_eSign::Tabs.new post_tabs.text_tabs = [post_signer_text] # 新增:调用接口更新post_signer(收件人id为2)的tabs envelope_api.update_tabs(ACCOUNT_ID, envelope.envelope_id, 2, post_tabs) # 原有生成post_signer收件人视图的代码保持不变即可 post_signer_recipient_view_request = DocuSign_eSign::RecipientViewRequest.new post_signer_recipient_view_request.authentication_method = 'none' post_signer_recipient_view_request.client_user_id = POST_SIGNER post_signer_recipient_view_request.user_name = 'Kevin Sylvestre' post_signer_recipient_view_request.email = 'kevin@fake.com' post_signer_recipient_view_request.return_url = 'https://ksylvest.com' post_recipient_view = envelope_api.create_recipient_view(ACCOUNT_ID, envelope.envelope_id, post_signer_recipient_view_request) url = post_recipient_view.url `open #{url}`
注意事项
- 只能修改还未完成签署的收件人的tabs,已完成签署的收件人tabs不可修改,也不会被更新操作覆盖
- 如果要修改已有tab的值,只需确保
tab_label和原有tab一致即可,不需要重复构造新的tab对象
内容的提问来源于stack exchange,提问作者Kevin Sylvestre
相关产品推荐
相关产品推荐

