1

In documentation available at https://www.docusign.com/developer-center/explore/features/templates, it shows the "compositeTemplates" as a property of the EnvelopeDefinition in one example.

In the "Sample Request using compositeTemplates" the "CompositeTemplates" is a property of the "templateRoles" node.

I'm confused. Where should "compositeTemplates" node go?

I'm using the following XML:

<envelopeDefinition xmlns="http://www.docusign.com/restapi"><envelopeDefinition xmlns="http://www.docusign.com/restapi">
  <status>sent</status>
  <emailSubject>DocuSign API - Embedded Signing example</emailSubject>
  <compositeTemplates>
    <compositeTemplate>
      <serverTemplates>
        <sequence>1</sequence>
        <templateId>B4649E36-0FA8-42EC-8011-65451EB89DFF</templateId>
        <templateRoles>
          <templateRole>
            <email>name1@domain.com</email>
            <name>FIRST ROLE</name>
            <roleName>FIRST_ROLE</roleName>
            <clientUserId>UNIQUE_IDENTIFIER_1</clientUserId>
            <tabs>
              <textTabs>
                <text>
                  <tabLabel>tabLabel1</tabLabel>
                  <value>Value1</value>
                </text>
                <text>
                  <tabLabel>tabLabel2</tabLabel>
                  <value>Value2</value>
                </text>
                <text>
                  <tabLabel>tabLabel3</tabLabel>
                  <value>Value3</value>
                </text>
              </textTabs>
            </tabs>
          </templateRole>
          <templateRole>
            <email>name2@domain.com</email>
            <name>SECOND ROLE</name>
            <roleName>SECOND_ROLE</roleName>
            <clientUserId>UNIQUE_IDENTIFIER_2</clientUserId>
          </templateRole>
        </templateRoles>
      </serverTemplates>
    </compositeTemplate>
    <compositeTemplate>
      <serverTemplates>
        <sequence>2</sequence>
        <templateId>5D2E49CC-3CE5-4C28-99C6-64E2589E5395</templateId>
        <templateRoles>
          <templateRole>
            <email>name1@domain.com</email>
            <name>First Last</name>
            <roleName>FIRST_ROLE</roleName>
            <clientUserId>UNIQUE_IDENTIFIER_1</clientUserId>
            <tabs>
              <textTabs>
                <text>
                  <tabLabel>tabLabel1</tabLabel>
                  <value>Value1</value>
                </text>
              </textTabs>
            </tabs>
          </templateRole>
        </templateRoles>
      </serverTemplates>
    </compositeTemplate>
  </compositeTemplates>
</envelopeDefinition>

And I'm getting the follow response:

 <errorDetails xmlns="http://www.docusign.com/restapi" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<errorCode>TEMPLATE_NOT_PROVIDED</errorCode>
<message>Template was not provided.</message>
</errorDetails>
Cœur
  • 37,241
  • 25
  • 195
  • 267

3 Answers3

0

The compositeTemplates element should be outside and separate from the templateRoles element. Try something like this:

<envelopeDefinition xmlns="http://www.docusign.com/restapi"><envelopeDefinition xmlns="http://www.docusign.com/restapi">
  <status>sent</status>
  <emailSubject>DocuSign API - Embedded Signing example</emailSubject>
  <compositeTemplates>
    <compositeTemplate>
      <serverTemplates>
        <sequence>1</sequence>
        <templateId>B4649E36-0FA8-42EC-8011-65451EB89DFF</templateId>
      </serverTemplates>
    </compositeTemplate>
    <compositeTemplate>
      <serverTemplates>
        <sequence>2</sequence>
        <templateId>5D2E49CC-3CE5-4C28-99C6-64E2589E5395</templateId>
      </serverTemplates>
    </compositeTemplate>
  </compositeTemplates>
  <templateRoles>
      <templateRole>
        <email>name1@domain.com</email>
        <name>FIRST ROLE</name>
        <roleName>FIRST_ROLE</roleName>
        <clientUserId>UNIQUE_IDENTIFIER_1</clientUserId>
        <tabs>
          <textTabs>
            <text>
              <tabLabel>tabLabel1</tabLabel>
              <value>Value1</value>
            </text>
            <text>
              <tabLabel>tabLabel2</tabLabel>
              <value>Value2</value>
            </text>
            <text>
              <tabLabel>tabLabel3</tabLabel>
              <value>Value3</value>
            </text>
          </textTabs>
        </tabs>
      </templateRole>
      <templateRole>
        <email>name2@domain.com</email>
        <name>SECOND ROLE</name>
        <roleName>SECOND_ROLE</roleName>
        <clientUserId>UNIQUE_IDENTIFIER_2</clientUserId>
      </templateRole>
    </templateRoles>
</envelopeDefinition>
Ergin
  • 9,254
  • 1
  • 19
  • 28
  • FWIW, I've never seen used with Composite Templates -- you might need to use Inline Templates to specify recipient info. Also, you're missing the tag around each server template's properties. – Kim Brandl May 15 '14 at 14:17
  • Ergin, I tried that and got an error. I'm not looking for a "Try this" solution. I'm looking for answers and the documentation at https://www.docusign.com/developer-center/explore/features/templates shows 2 different methods that don't work. – Tom MultiState May 15 '14 at 15:21
  • Ergin, I still haven't heard back from you. – Tom MultiState May 20 '14 at 20:29
  • Tom the `compositeTemplate` sample on the templates page in the DocuSign Developer Center has been updated with a working example. Thanks for spotting the issue. The current example that's up shows how you can use compositeTemplates to combine two different templates, and assign two different recipients to each of the template roles... – Ergin May 21 '14 at 23:36
0

Erin,

You mentioned

Tom the compositeTemplate sample on the templates page in the DocuSign Developer Center has been updated with a working example. Thanks for spotting the issue. The current example that's up shows how you can use compositeTemplates to combine two different templates, and assign two different recipients to each of the template roles...

I'm assuming your are referring to my original link (https://www.docusign.com/developer-center/explore/features/templates). If not please let me know where in the DocuSign Developer Center this correction is.

I tried to make the following change, but came up with the error, "ENVELOPE_IS_INCOMPLETE: The Envelope is not Complete. A Complete Envelope Requires Documents, Recipients, Tabs, and a Subject Line.":

<envelopeDefinition xmlns="http://www.docusign.com/restapi">
  <status>sent</status>
  <emailSubject>DocuSign API - Embedded Signing example</emailSubject>
  <compositeTemplates>
    <compositeTemplate>
      <serverTemplates>
        <serverTemplate>
          <sequence>1</sequence>
          <templateId>B4649E36-0FA8-42EC-8011-65451EB89DFF</templateId>
        </serverTemplate>
      </serverTemplates>
      <inlineTemplates>
        <inlineTemplate>
          <sequence>1</sequence>
          <templateRoles>
            <templateRole>
              <email>name1@domain.com</email>
              <name>FIRST ROLE</name>
              <roleName>FIRST_ROLE</roleName>
              <clientUserId>UNIQUE_IDENTIFIER_1</clientUserId>
              <tabs>
                <textTabs>
                  <text>
                    <tabLabel>tabLabel1</tabLabel>
                    <value>Value1</value>
                  </text>
                  <text>
                    <tabLabel>tabLabel2</tabLabel>
                    <value>Value2</value>
                  </text>
                  <text>
                    <tabLabel>tabLabel3</tabLabel>
                    <value>Value3</value>
                  </text>
                </textTabs>
              </tabs>
            </templateRole>
            <templateRole>
              <email>name2@domain.com</email>
              <name>SECOND ROLE</name>
              <roleName>SECOND_ROLE</roleName>
              <clientUserId>UNIQUE_IDENTIFIER_2</clientUserId>
            </templateRole>
          </templateRoles>
        </inlineTemplate>
      </inlineTemplates>
    </compositeTemplate>
    <compositeTemplate>
      <serverTemplates>
        <serverTemplate>
          <sequence>2</sequence>
          <templateId>5D2E49CC-3CE5-4C28-99C6-64E2589E5395</templateId>
        </serverTemplate>
      </serverTemplates>
      <inlineTemplates>
        <inlineTemplate>
          <sequence>2</sequence>
          <templateRoles>
            <templateRole>
              <email>name1@domain.com</email>
              <name>FIRST ROLE</name>
              <roleName>FIRST_ROLE</roleName>
              <clientUserId>UNIQUE_IDENTIFIER_1</clientUserId>
              <tabs>
                <textTabs>
                  <text>
                    <tabLabel>tabLabel1</tabLabel>
                    <value>Value1</value>
                  </text>
                </textTabs>
              </tabs>
            </templateRole>
          </templateRoles>
        </inlineTemplate>
      </inlineTemplates>
    </compositeTemplate>
  </compositeTemplates>
</envelopeDefinition>
-1
    <envelopeDefinition xmlns="http://www.docusign.com/restapi">
  <status>sent</status>
  <emailSubject>DocuSign API - Embedded Signing example</emailSubject>
  <compositeTemplates>
    <compositeTemplate>
      <serverTemplates>
        <serverTemplate>
          <sequence>1</sequence>
          <templateId>B4649E36-0FA8-42EC-8011-65451EB89DFF</templateId>
        </serverTemplate>
      </serverTemplates>
    </compositeTemplate>
    <compositeTemplate>
      <serverTemplates>
        <serverTemplate>
          <sequence>2</sequence>
          <templateId>5D2E49CC-3CE5-4C28-99C6-64E2589E5395</templateId>
        </serverTemplate>
      </serverTemplates>
    </compositeTemplate>
  </compositeTemplates>
  <templateId>B4649E36-0FA8-42EC-8011-65451EB89DFF</templateId>
  <templateRoles>
    <templateRole>
      <email>NAME1@DOMAIN.COM</email>
      <name>FIRST ROLE</name>
      <roleName>FIRST_ROLE</roleName>
      <clientUserId>UNIQUE_IDENTIFIER_1</clientUserId>
      <tabs>
        <textTabs>
          <text>
            <tabLabel>tabLabel1</tabLabel>
            <value>Value1</value>
          </text>
          <text>
            <tabLabel>tabLabel2</tabLabel>
            <value>Value2</value>
          </text>
        </textTabs>
      </tabs>
    </templateRole>
    <templateRole>
      <email>NAME2@DOMAIN.COM</email>
      <name>SECOND ROLE</name>
      <roleName>SECOND_ROLE</roleName>
      <clientUserId>UNIQUE_IDENTIFIER_2</clientUserId>
    </templateRole>
  </templateRoles>
</envelopeDefinition>

And it kinda worked. An envelope was created for:

  1. Template B4649E36-0FA8-42EC-8011-65451EB89DFF - with populated values and signatures
  2. Template B4649E36-0FA8-42EC-8011-65451EB89DFF - with no values nor signatures
  3. Template 5D2E49CC-3CE5-4C28-99C6-64E2589E5395 - with no values nor signatures

I'm trying to create an envelope with 2 templates populated with data and signers.