服务器端模板将替换为上载的文档
我正在尝试使用两个服务器端模板和我在一个请求中生成的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的范围内应用serverTemplates和inlineTemplates的顺序 – 它不会影响Envelope中的文档序列。 它是请求JSON / XML本身中的compositeTemplate对象的顺序,用于确定生成的Envelope中的文档序列。
以下请求将导致包含以下文件的信封(按此顺序):
- 来自模板
3093E017-2E18-4A30-A104-0201C601CE5F
文件 - 请求指定的文档(documentId = 1)
- 模板
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" }