0

我有以下要求:

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

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

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

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

1 回答 1

3

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

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

  • 3 个收件人(通过 API 请求动态填充:1-Abby、2-Bob、3-Charlie)
  • 3 个文档(第一个通过 API 请求指定,第二个通过 API 请求指定,第三个通过 DocuSign 模板指定)

发布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 模板和文档组合的信封。

于 2013-10-11T01:03:17.287 回答