服务器端模板将替换为上载的文档

我正在尝试使用两个服务器端模板和我在一个请求中生成的pdf文档为嵌入式签名创建一个信封。 其中一个服务器端模板有一个DOB选项卡,该选项卡将填入请求中指定的数据。

我已经回顾了一些与docusign api相关的其他问题以及带有文档的复合模板。 这里我使用这些示例来格式化我的请求。

这是请求:注意:我在这里使用multipart-post gem来创建请求,因此这个请求中的一些是带有一些multipart-post信息的伪HTTP。 我不确定如何获取完整格式的HTTP请求以便在此处发布。

POST http://localhost/restapi/v2/accounts/2/envelopes X-DocuSign-Authentication: [omitted] -------------RubyMultipartPost Content-Type: application/json Content-Disposition: form-data; name="post_body" { "compositeTemplates": [ { "serverTemplates": [ { "sequence": 1, "templateId": "3093E017-2E18-4A30-A104-0201C601CE5F" } ], "inlineTemplates": [ { "sequence": 1, "recipients": { "signers": [ { "email": "jond@gmail.com", "name": "Jon D. Doe", "recipientId": "1", "roleName": "Proposed Insured", "clientUserId": "jond@gmail.com", "tabs": { "textTabs": [ ], "checkboxTabs": [ ], "fullNameTabs": [ ], "dateTabs": [ { "tabLabel": "DOB", "name": null, "value": "1-21-1974", "documentId": null, "selected": null } ] } } ] } } ], "document": { "documentId": "1", "name": "test.pdf" } }, { "serverTemplates": [ { "sequence": 2, "templateId": "63CA2E24-BBB8-499F-A884-021580DF54AF" } ], "inlineTemplates": [ { "sequence": 2, "recipients": { "signers": [ { "email": "jond@gmail.com", "name": "Jon D. Doe", "recipientId": "1", "roleName": "Proposed Insured", "clientUserId": "jond@gmail.com", "tabs": { "textTabs": [ ], "checkboxTabs": [ ], "fullNameTabs": [ ], "dateTabs": [ { "tabLabel": "DOB", "name": null, "value": "1-21-1974", "documentId": null, "selected": null } ] } } ] } } ] } ], "status": "sent" } -------------RubyMultipartPost Content-Disposition: file;filename="test.pdf";documentid=1;name="file1" Content-Length: 34967 Content-Type: application/pdf Content-Transfer-Encoding: binary [pdf bytes omitted] 

生成的嵌入视图中只有两个文档。 第一个是我在请求中上传的test.pdf,第二个是templateId = 63CA2E24-BBB8-499F-A884-021580DF54AF指定的服务器端模板

我不确定我做错了什么……根据我上面引用的其他问题,这应该有效。

每个compositeTemplate对象只能从单个源提供文件 – 如果compositeTemplate对象指定了文档 ,那么它被视为该compositeTemplate对象的文档源。 在这种情况下,将忽略恰好是同一compositeTemplate对象中的serverTemplate一部分的任何文档。 这似乎是你正在经历的。

您发布的请求仅包含两个compositeTemplate对象,因此生成的Envelope仅包含来自两个文档源的文档:

  • 在第一个compositeTemplate对象中指定的文档

  • serverTemplate中包含的文件,该文件在第二个compositeTemplate对象中指定。

如果您希望Envelope还包含serverTemplate 3093E017-2E18-4A30-A104-0201C601CE5F包含的文件,则需要将第三个compositeTemplate对象添加到指定3093E017-2E18-4A30-A104-0201C601CE5F的请求中作为服务器模板,并使用inlineTemplate信息提供必要的收件人和选项卡信息(就像您在发布的请求中使用其他compositeTemplate对象一样)。 [请参阅下面的完整请求示例。]

最后,请注意每个compositeTemplate对象中的序列属性的值指定将在该特定compositeTemplate的范围内应用serverTemplatesinlineTemplates的顺序 – 它不会影响Envelope中的文档序列。 它是请求JSON / XML本身中的compositeTemplate对象的顺序,用于确定生成的Envelope中的文档序列。

以下请求将导致包含以下文件的信封(按此顺序):

  1. 来自模板3093E017-2E18-4A30-A104-0201C601CE5F文件
  2. 请求指定的文档(documentId = 1)
  3. 模板63CA2E24-BBB8-499F-A884-021580DF54AF

请求正文(JSON部分):

 { "compositeTemplates": [ { "serverTemplates": [ { "sequence": 1, "templateId": "3093E017-2E18-4A30-A104-0201C601CE5F" } ], "inlineTemplates": [ { "sequence": 2, "recipients": { "signers": [ { "email": "jond@gmail.com", "name": "Jon D. Doe", "recipientId": "1", "roleName": "Proposed Insured", "clientUserId": "jond@gmail.com", "tabs": { "dateTabs": [ { "tabLabel": "DOB", "name": null, "value": "1-21-1974", "documentId": null, "selected": null } ] } } ] } } ] }, { "serverTemplates": [ { "sequence": 1, "templateId": "3093E017-2E18-4A30-A104-0201C601CE5F" } ], "inlineTemplates": [ { "sequence": 2, "recipients": { "signers": [ { "email": "jond@gmail.com", "name": "Jon D. Doe", "recipientId": "1", "roleName": "Proposed Insured", "clientUserId": "jond@gmail.com", "tabs": { "dateTabs": [ { "tabLabel": "DOB", "name": null, "value": "1-21-1974", "documentId": null, "selected": null } ] } } ] } } ], "document": { "documentId": "1", "name": "test.pdf" } }, { "serverTemplates": [ { "sequence": 1, "templateId": "63CA2E24-BBB8-499F-A884-021580DF54AF" } ], "inlineTemplates": [ { "sequence": 2, "recipients": { "signers": [ { "email": "jond@gmail.com", "name": "Jon D. Doe", "recipientId": "1", "roleName": "Proposed Insured", "clientUserId": "jond@gmail.com", "tabs": { "dateTabs": [ { "tabLabel": "DOB", "name": null, "value": "1-21-1974", "documentId": null, "selected": null } ] } } ] } } ] } ], "status": "sent" } 
Interesting Posts