2013-10-10 69 views
0

我有以下要求:混合和匹配模板与文档

我的五个文档是从我们的系统动态生成的。第六份文件是附录。这只是一个静态的pdf文件。该附录共有55页。

到目前为止,我一直在用五个文档创建信封,然后从服务器上的共享文件夹中拉出附录,然后将其发送到docusign。附录大约需要一半的上传时间。

如果我在Docusign上仅包含附录的模板,那么效率会更高,然后我会调用它并添加我的五个文档。我的顾虑是:

  • 混合和匹配模板与支持独立文档?
  • 收件人和签名标签的数量根据我们的业务规则动态变化。模板需要在模板上预定义的角色和标签。有没有办法将更多收件人和标签注入使用模板的信封?
+0

如果您是收件人,并且他们的标签每次都是动态的,那么您目前的填充信封的工作流程是什么?我认为你目前没有使用模板? – Ergin

+0

正确,我不使用模板。我们用特殊的字符串生成我们的pdf,这些字符串表明签名或缩写的位置。然后,业务逻辑确定需要多少收件人,添加与pdf上字符串匹配的标签,然后将数据和pdf发送到Docusign API。我从来没有通过API使用模板。 – oscarmorasu

+0

那么你绝对可以将文档保存在没有配置任何标签的模板中。我不确定的是,如果您的需求的动态部分有一个完整的解决方案。就像,如果你有X个可能的配置,在一个给定的配置中你有一个已知数量的收件人和角色,那么你可以为每个配置创建一个模板,并根据业务逻辑使用适当的配置。但如果它总是一个真正的动态数量的收件人和角色,那么我不确定是否有解决方案,也许...... – Ergin

回答

2

在Create Envelope API请求中使用“Composite Template”结构将允许您使用来自DocuSign模板的文档和运行时指定的文档的组合来创建Envelope, API请求,并为您提供对收件人的相当动态控制。有关在Create Envelope API请求中使用复合模板的更多信息,请搜索“Composite”的API指南(REST或SOAP)。

当您在创建信封请求中使用复合模板时,请求中的每个单独的复合模板对象必须提供完整信封所需的信息(即至少1个收件人和1个文档...或服务器模板定义文件和/或收件人)。然后DocuSign基本上将来自请求中所有复合模板对象的所有收件人和文档信息组合起来,形成信封。在下面的例子JSON请求的情况下,所得到的包络包含:

  • 3收件人(经由API请求动态填充:1-阿比,2-鲍勃,3-查理)
  • 3文件(通过API请求,经由API请求中指定的第二,经由的DocuSign模板中指定的第三)

POST https://demo.docusign.net/restapi/v2/accounts/YOUR_ACCOUNT_NUMBER/envelopes

X-DocuSign-Authentication: {"Username":"YOUR_USER_NAME","Password":"YOUR_PASSWORD","IntegratorKey":"YOUR_INTEGRATOR_KEY"} 
Content-Type: multipart/form-data; boundary=MY_BOUNDARY 
Accept: application/json 

--MY_BOUNDARY 
Content-Type: application/json 
Content-Disposition: form-data 

{ 
"status" : "sent", 
"emailSubject" : "Test Envelope", 
"compositeTemplates": [ 
{ 
    "inlineTemplates": [ 
    { 
     "sequence" : 1, 
     "recipients": { 
      "signers" : [{ 
       "email": "[email protected]", 
       "name": "Abby Abbott", 
       "recipientId": "1" 
      },         { 
       "email": "[email protected]", 
       "name": "Bob Burns", 
       "recipientId": "2", 
       "routingOrder":"2" 
      }, 
      { 
       "email": "[email protected]", 
       "name": "Charlie Carlson", 
       "recipientId": "3", 
       "routingOrder":"3" 
      }] 
     } 
    }], 
    "document": { 
     "documentId": 1, 
     "name": "Customer Agreement", 
     "fileExtension": "pdf" 
    } 
}, 
{ 
    "inlineTemplates": [ 
    { 
     "sequence" : 2, 
     "recipients": { 
      "signers" : [{ 
       "email": "[email protected]", 
       "name": "Abby Abbott", 
       "recipientId": "1" 
      }] 
     } 
    }], 
    "document": { 
     "documentId": 2, 
     "name": "Test File", 
     "fileExtension": "pdf" 
    } 
}, 
{ 
    "serverTemplates": [ 
    { 
     "sequence" : 1, 
     "templateId": "YOUR_TEMPLATE_ID" 
    }], 
    "inlineTemplates": [ 
    { 
     "sequence" : 2, 
     "recipients": { 
      "signers" : [{ 
       "email": "[email protected]", 
       "name": "Abby Abbott", 
       "recipientId": "1", 
       "roleName": "Customer", 
       "routingOrder":"1" 
      } 
      ] 
     } 
    }] 
} 
]} 

--MY_BOUNDARY 
Content-Type: application/pdf 
Content-Disposition: file; filename="CustomerAgreement.pdf"; documentid="1" 

**pdf bytes removed for brevity** 
--MY_BOUNDARY 
Content-Type: application/pdf 
Content-Disposition: file; filename="TestFile.pdf"; documentid="2" 

**pdf bytes removed for brevity** 
--MY_BOUNDARY-- 

用C第一指定omposite模板有点棘手(并且没有很好的记录),所以它可能需要一些试验和错误来完成你需要的东西 - 但希望这个例子揭示了如何使用组合模板来创建一个信封来自DocuSign模板和通过API请求动态指定的文档的组合。

+0

您是否已成功使用复合封套?我在文档中看到该主题,但不清楚如何使用它,并且没有示例请求。你能提供一个带有额外文档和动态收件人的模板的请求的json或xml片段吗? @Ergin,这是一个博客文章或文档更新的好主题。 – oscarmorasu

+0

我编辑了我之前的帖子以包含JSON请求示例。 –