0

我目前正在以 XML 格式发送我的签名请求调用,并参考了 REST API 指南以及复合模板使用规则中的示例,尽管我能够以适当的顺序成功提取其他服务器模板,但安全这些模板中的选项卡不可编辑;唯一暴露这些的模板是“主”模板(不包括在复合模板对象中)。从 API 指南的第 104 页看来,内联模板的本质是增加声明的服务器模板(添加文档等)。这是我的 XML 示例:

<envelopeDefinition xmlns=\"http://www.docusign.com/restapi\">
<accountId>#####</accountId>
<status>sent</status>
<emailSubject>testing 11/18 -3</emailSubject>
<emailBlurb>Email Blurb</emailBlurb>
<templateId>TEMPLATE ID 1</templateId>
<templateRoles>
<templateRole>
<email>insured@email.com</email>
<name>Insured Test</name>
<roleName>Signer</roleName>
</templateRole>
<templateRole>
<email>test@email.com</email>
<name>Test Agent</name>
<roleName>Agent</roleName>
</templateRole>
</templateRoles>
<compositeTemplates>
<compositeTemplate>
<serverTemplates>
<serverTemplate>
<sequence>1</sequence>
<templateId>TEMPLATE ID 2</templateId>
</serverTemplate>
</serverTemplates>
</compositeTemplate>
<compositeTemplate>
<serverTemplates>
<serverTemplate>
<sequence>2</sequence>
<templateId>TEMPLATE ID 3</templateId>
</serverTemplate>
</serverTemplates>
</compositeTemplate>
<compositeTemplate>
<serverTemplates>
<serverTemplate><sequence>3</sequence>
<templateId>TEMPLATE ID 4</templateId>
</serverTemplate></serverTemplates>
</compositeTemplate>
</compositeTemplates>
</envelopeDefinition>

基本上我需要能够根据用户选择的参数将服务器模板附加到主模板。

编辑:我假设我需要为每个后续 ID 传递模板角色,但唯一传递它的地方是内联——这似乎不适用于这个用例.

EDIT2:这是我的更新请求正文。这次我收到了 INCOMPLETE_ENVELOPE .. 我在 API Explorer 上运行了这个,由于某种原因,当我添加原始顶级模板 ID 和相应的角色时,我没有收到错误。发送更新后的 XML 时,我能够创建信封,但添加的复合模板不可编辑。

<envelopeDefinition xmlns=\"http://www.docusign.com/restapi\">
<accountId>1232456</accountId>
<status>sent</status>
<emailSubject>testing inline 11/18 -5</emailSubject>
<emailBlurb>This comes from me</emailBlurb>
<compositeTemplates>
<compositeTemplate>
<serverTemplates>
<serverTemplate>
<sequence>1</sequence>
<templateId>894ed334-4183-4b68-857e-01fe4829f79e</templateId>
</serverTemplate>
</serverTemplates>
<inlineTemplates>
<inlineTemplate>
<sequence>2</sequence>
<recipients>
<recipient>
<signers>
<signer>
<email>email@email.com</email>
<name>Test insured</name>
<roleName>Signer</roleName>
<recipientId>1</recipientId>
</signer>
<signer>
<email>test@gmail.com</email>
<name>Test Agent</name>
<roleName>Agent</roleName>
<recipientId>2</recipientId>
</signer>
</signers>
</recipient>
</recipients>
</inlineTemplate>
</inlineTemplates>
</compositeTemplate>
<compositeTemplate>
<serverTemplates>
<serverTemplate>
<sequence>3</sequence>
<templateId>d1c43bee-2c6b-4910-89f0-64e3fbcce19a</templateId>
</serverTemplate>
</serverTemplates>
<inlineTemplates>
<inlineTemplate>
<sequence>4</sequence>
<recipients>
<recipient>
<signers>
<signer>
<email>email@email.com</email>
<name>Test insured</name>
<roleName>Signer</roleName>
<recipientId>1</recipientId>
</signer>
<signer>
<email>test@gmail.com</email>
<name>Test Agent</name>
<roleName>Agent</roleName>
<recipientId>2</recipientId>
</signer>
</signers>
</recipient>
</recipients>
</inlineTemplate>
</inlineTemplates>
</compositeTemplate>
</compositeTemplates>
</envelopeDefinition>
4

1 回答 1

1

首先,我不确定是否可以使用复合模板并在请求的顶层(即在复合模板集合之外指定templateIdtemplateRoles 。因此,我的第一个建议是修改您的请求,以便在compositeTemplates集合中指定所有模板(包括您的第一个模板)。

接下来,我怀疑您在CompositeTemplates集合中引用的模板所代表的文档中没有任何选项卡可见的原因是您没有为每个模板提供收件人信息。正如您在“编辑”中提到的,这应该通过在每个复合模板项中使用inlineTemplate来完成。例如,以下请求使用InlineTemplateSigner1角色和服务器模板定义的Cc1角色提供收件人信息。

POST https://{{env}}.docusign.net/restapi/{{version}}/accounts/{{acctId}}/envelopes

<envelopeDefinition xmlns="http://www.docusign.com/restapi">
   <accountId>ACCOUNT_ID</accountId>
   <status>sent</status>
   <compositeTemplates>
    <compositeTemplate>
        <serverTemplates>
            <serverTemplate>
                <sequence>1</sequence>
              <templateId>3C9D42D3-3E76-4669-861E-9670415E1AD3</templateId>
            </serverTemplate>
        </serverTemplates>
        <inlineTemplates>
            <inlineTemplate>
                <sequence>2</sequence>
                <recipients>
                  <signers>
                    <signer>
                     <email>johnsemail@outlook.com</email>
                     <name>John Doe</name>
                     <recipientId>1</recipientId>
                     <roleName>Signer1</roleName>
                    </signer>
                  </signers>
                  <carbonCopies>
                    <carbonCopy>
                      <email>janesemail@outlook.com</email>
                      <name>Jane Doe</name>
                      <recipientId>2</recipientId>
                      <roleName>Cc1</roleName>
                    </carbonCopy>
                  </carbonCopies>
               </recipients>
            </inlineTemplate>
        </inlineTemplates>
    </compositeTemplate>
  </compositeTemplates>
</envelopeDefinition>

如果您更新您的请求以包含每个复合模板 项目的收件人信息(通过使用我上面显示的inlineTemplates),我怀疑模板文档中的选项卡应该分配给适当的收件人(根据您在其中提供的信息每个inlineTemplate)。

重新“编辑 2”:

关于您在“编辑 2”下的问题中发布的 XML,删除我在此处突出显示的配方标签 - 这样做应该会产生一个有效的请求,该请求使用指定的模板创建信封并适当地分配标签发给您在请求中指定的收件人。

在此处输入图像描述

于 2013-11-18T20:26:08.097 回答