将模板与文档混合搭配

时间:2013-10-10 16:11:09

标签: docusignapi

我有以下要求:

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

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

如果我在Docusign上有一个仅包含附录的模板会更有效率,然后我调用它并添加我的五个文档。我担心的是:

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

1 个答案:

答案 0 :(得分:3)

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

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

  • 3个收件人(通过API请求动态填充:1-Abby,2-Bob,3-Charlie)
  • 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": "abbysEmailAddr@outlook.com",
                "name": "Abby Abbott",
                "recipientId": "1"
            },                                    {
                "email": "bobsEmailAddr@outlook.com",
                "name": "Bob Burns",
                "recipientId": "2",
                "routingOrder":"2"
            },
            {
                "email": "charliesEmailAddr@outlook.com",
                "name": "Charlie Carlson",
                "recipientId": "3",
                "routingOrder":"3"
            }]
        }
    }],
    "document": {
        "documentId": 1,
        "name": "Customer Agreement",
        "fileExtension": "pdf"
    }
},
{
    "inlineTemplates": [
    {
        "sequence" : 2,
        "recipients": {
            "signers" : [{
                "email": "abbysEmailAddr@outlook.com",
                "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": "abbysEmailAddr@outlook.com",
                "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--

使用复合模板有点棘手(并没有很好的文档记录),因此可能需要一些试验和错误才能使工作完全按照您的要求工作 - 但希望这个例子能说明如何使用复合模板通过API请求动态指定的DocuSign模板和文档的组合创建信封。