1

I am using DocuSign RestAPI, trying to create an envelope using Composite Template.

My intent is to append a PDF document to the end of an existing template.

Using the below JSON to POST /v2/accounts/{accountId}/envelopes, I am able to get the template to show, but not the appended PDF document.

What am I missing?

{
  "status":"sent",
  "emailBlurb":"envelope_body",
  "emailSubject":"envelope_subject",
  "compositeTemplates":[
    {
      "serverTemplates":[
        {
          "sequence":"1",
          "templateId":"{TEMPLATE_ID}"
        }
      ],
      "inlineTemplates":[
        {
          "sequence":"1",
          "recipients":{
            "signers":[
              {
                "clientUserId":"1234",
                "email":"applicant@example.com",
                "name":"applicant",
                "recipientId":1,
                "roleName":"Applicant",
              },
              {
                "clientUserId":"2345",
                "email":"underwriter@example.com",
                "name":"underwriter",
                "recipientId":2,
                "roleName":"Underwriter",
              }
            ]
          }
        },
        {
          "sequence":"2",
          "documents":[
            {
              "documentBase64": "JVBERi0xLjMKJf////8KMSAwIG9iago8PCAvQ3JlYXRvciA8ZmVmZjAwNTAwMDcyMDA2MTAwNzcwMDZlPgovUHJvZHVjZXIgPGZlZmYwMDUwMDA3MjAwNjEwMDc3MDA2ZT4KPj4KZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL0NhdGFsb2cKL1BhZ2VzIDMgMCBSCj4+CmVuZG9iagozIDAgb2JqCjw8IC9UeXBlIC9QYWdlcwovQ291bnQgMQovS2lkcyBbNSAwIFJdCj4+CmVuZG9iago0IDAgb2JqCjw8IC9MZW5ndGggODEKPj4Kc3RyZWFtCnEKCkJUCjM2IDc0Ny4zODQgVGQKL0YxLjAgMTIgVGYKWzw0ODY1NmM2YzZmMjA1Nz4gMzAgPDZmNzI+IC0xNSA8NmM2ND5dIFRKCkVUCgpRCgplbmRzdHJlYW0KZW5kb2JqCjUgMCBvYmoKPDwgL1R5cGUgL1BhZ2UKL1BhcmVudCAzIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIuMCA3OTIuMF0KL0NvbnRlbnRzIDQgMCBSCi9SZXNvdXJjZXMgPDwgL1Byb2NTZXQgWy9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUldCi9Gb250IDw8IC9GMS4wIDYgMCBSCj4+Cj4+Cj4+CmVuZG9iago2IDAgb2JqCjw8IC9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMQovQmFzZUZvbnQgL0hlbHZldGljYQovRW5jb2RpbmcgL1dpbkFuc2lFbmNvZGluZwo+PgplbmRvYmoKeHJlZgowIDcKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDAxMDkgMDAwMDAgbiAKMDAwMDAwMDE1OCAwMDAwMCBuIAowMDAwMDAwMjE1IDAwMDAwIG4gCjAwMDAwMDAzNDYgMDAwMDAgbiAKMDAwMDAwMDUyNCAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDcKL1Jvb3QgMiAwIFIKL0luZm8gMSAwIFIKPj4Kc3RhcnR4cmVmCjYyMQolJUVPRgo=",
              "documentId":"10",
              "fileExtension":"PDF",
              "name":"addendum",
            }
          ],
          "recipients":{
            "signers":[
              {
                "clientUserId":"1234",
                "email":"applicant@example.com",
                "name":"applicant",
                "recipientId":1,
                "roleName":"Applicant",
                ,
                {
                  "clientUserId":"2345",
                  "email":"underwriter@example.com",
                  "name":"underwriter",
                  "recipientId":2,
                  "roleName":"Underwriter",
                }
            ]
          }
        }
      ]
    }
  ]
}
Carlos
  • 200
  • 1
  • 8

1 Answers1

2

If you want to just append the document, then below JSON structure will help you:

You need to have two composite templates. First CompositeTemplate will be for adding document from the serverTemplate and providing the recipient Details. Second Composite template will just add a PDF document to the envelope.

{
  "status":"sent",
  "emailBlurb":"envelope_body",
  "emailSubject":"envelope_subject",
  "compositeTemplates":[
    {
      "compositeTemplateId":"1",
      "serverTemplates":[
        {
          "sequence":"1",
          "templateId":"{TEMPLATE_ID}"
        }
      ],
      "inlineTemplates":[
        {
          "sequence":"2",
          "recipients":{
            "signers":[
                {
                    "clientUserId":"1234",
                    "email":"applicant@example.com",
                    "name":"applicant",
                    "recipientId":"1",
                    "roleName":"Applicant"
                },
                {
                    "clientUserId":"1234",
                    "email":"underwriter@example.com",
                    "name":"underwriter",
                    "recipientId":"2",
                    "roleName":"Underwriter"
                }
            ]
          }
        }
      ]
    },
    {
        "compositeTemplateId":"2",
        "inlineTemplates":[
        {
          "sequence":"3",
          "documents":[
            {
              "documentBase64": "JVBERi0xLjMKJf////8KMSAwIG9iago8PCAvQ3JlYXRvciA8ZmVmZjAwNTAwMDcyMDA2MTAwNzcwMDZlPgovUHJvZHVjZXIgPGZlZmYwMDUwMDA3MjAwNjEwMDc3MDA2ZT4KPj4KZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL0NhdGFsb2cKL1BhZ2VzIDMgMCBSCj4+CmVuZG9iagozIDAgb2JqCjw8IC9UeXBlIC9QYWdlcwovQ291bnQgMQovS2lkcyBbNSAwIFJdCj4+CmVuZG9iago0IDAgb2JqCjw8IC9MZW5ndGggODEKPj4Kc3RyZWFtCnEKCkJUCjM2IDc0Ny4zODQgVGQKL0YxLjAgMTIgVGYKWzw0ODY1NmM2YzZmMjA1Nz4gMzAgPDZmNzI+IC0xNSA8NmM2ND5dIFRKCkVUCgpRCgplbmRzdHJlYW0KZW5kb2JqCjUgMCBvYmoKPDwgL1R5cGUgL1BhZ2UKL1BhcmVudCAzIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIuMCA3OTIuMF0KL0NvbnRlbnRzIDQgMCBSCi9SZXNvdXJjZXMgPDwgL1Byb2NTZXQgWy9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUldCi9Gb250IDw8IC9GMS4wIDYgMCBSCj4+Cj4+Cj4+CmVuZG9iago2IDAgb2JqCjw8IC9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMQovQmFzZUZvbnQgL0hlbHZldGljYQovRW5jb2RpbmcgL1dpbkFuc2lFbmNvZGluZwo+PgplbmRvYmoKeHJlZgowIDcKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDAxMDkgMDAwMDAgbiAKMDAwMDAwMDE1OCAwMDAwMCBuIAowMDAwMDAwMjE1IDAwMDAwIG4gCjAwMDAwMDAzNDYgMDAwMDAgbiAKMDAwMDAwMDUyNCAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDcKL1Jvb3QgMiAwIFIKL0luZm8gMSAwIFIKPj4Kc3RhcnR4cmVmCjYyMQolJUVPRgo=",
              "documentId":"10",
              "fileExtension":"PDF",
              "name":"addendum",
            }
          ]
        }
      ]
    }
  ]
}
Amit K Bist
  • 6,760
  • 1
  • 11
  • 26
  • Woot! That did the trick. Thank you, Amit, for your quick response and example solution. – Carlos Jan 23 '18 at 17:12
  • As a quick experiment, I changed all the `sequence` fields to `1` and still got the same successful result. – Carlos Jan 23 '18 at 17:12
  • 1
    Yes in your scenario same sequence number in the different composite template will also work. Sequence number has significance in same composite template. If you have Inline and Server Template in same composite template then which template will provide document will be defined by sequence number. – Amit K Bist Jan 23 '18 at 17:16
  • Awesome, that makes sense. Thank you for the explanation! – Carlos Jan 23 '18 at 18:20