Pdf 如何将服务器模板应用于DocuSign API中的信封文档?
我有一个客户登录到他们的DS帐户,上传一个17页的PDF,单击侧面的操作链接并选择“应用模板”。该模板包含选项卡和角色。他们在DS UI中填写角色并单击发送。我正试图通过API重建该流程 我发现这看起来应该适合我的场景: 我收到了一个34页的信封:原来的17页上传的PDF和模板中的17页。正在添加模板,而不是应用模板 该模板的文档是分开的(例如,一个4页的文档有两个选项卡,一个1页的文档有一个选项卡,等等,总共17页)。它通过UI工作得很好,所以不确定这是否会影响任何东西 如何上载PDF并将模板应用到文档 这是我的请求负载:Pdf 如何将服务器模板应用于DocuSign API中的信封文档?,pdf,docusignapi,Pdf,Docusignapi,我有一个客户登录到他们的DS帐户,上传一个17页的PDF,单击侧面的操作链接并选择“应用模板”。该模板包含选项卡和角色。他们在DS UI中填写角色并单击发送。我正试图通过API重建该流程 我发现这看起来应该适合我的场景: 我收到了一个34页的信封:原来的17页上传的PDF和模板中的17页。正在添加模板,而不是应用模板 该模板的文档是分开的(例如,一个4页的文档有两个选项卡,一个1页的文档有一个选项卡,等等,总共17页)。它通过UI工作得很好,所以不确定这是否会影响任何东西 如何上载PDF并将模板
POST https://demo.docusign.net/restapi/v2/accounts/ACCTNMBR/envelopes HTTP/1.1
Accept: application/json
Content-Type: multipart/form-data; boundary=myboundary
--myboundary
Content-Type: application/json
Content-Disposition: form-data
{
"emailBlurb": "Test Envelope Blurb",
"emailSubject": "Test Envelope Subject",
"status": "created",
"signingLocation": "Online",
"compositeTemplates": [
{
"document": {
"documentId": 1,
"name": "UPLOADED.pdf"
},
"inlineTemplates": [{
"sequence": "1",
"recipients": {
"signers": [{
"email": "jane.doe@example.com",
"name": "Jane Doe",
"recipientId": "1",
"roleName": "Signer1",
"clientUserId": "123"
}]
}
}]
},
{
"serverTemplates": [{
"sequence": "1",
"templateId": "TEMPLATE_ID"
}]
}]
}
--myboundary
Content-Type: application/pdf
Content-Disposition: file; filename="UPLOADED.pdf"; documentid=1
PDF_BYTES_HERE
--myboundary--
您发布的请求正在创建两个复合模板。第一个是您上传的PDF并定义您的签名者,而第二个是服务器端模板的内容。解决方案是只定义一个复合模板。这将导致上载的PDF、内联模板和服务器端模板全部合并。例如:
POST https://demo.docusign.net/restapi/v2/accounts/ACCTNMBR/envelopes HTTP/1.1
Accept: application/json
Content-Type: multipart/form-data; boundary=myboundary
--myboundary
Content-Type: application/json
Content-Disposition: form-data
{
"emailBlurb": "Test Envelope Blurb",
"emailSubject": "Test Envelope Subject",
"status": "created",
"signingLocation": "Online",
"compositeTemplates": [
{
"document": {
"documentId": 1,
"name": "UPLOADED.pdf"
},
"inlineTemplates": [{
"sequence": "1",
"recipients": {
"signers": [{
"email": "jane.doe@example.com",
"name": "Jane Doe",
"recipientId": "1",
"roleName": "Signer1",
"clientUserId": "123"
}]
}
}],
"serverTemplates": [{
"sequence": "2",
"templateId": "TEMPLATE_ID"
}]
}]
}
--myboundary
Content-Type: application/pdf
Content-Disposition: file; filename="UPLOADED.pdf"; documentid=1
PDF_BYTES_HERE
--myboundary--
但有几件事需要注意:
- 第一个文档成功-较低顺序模板贡献文档
- 最后一个收件人/制表符获胜-更高顺序的模板覆盖收件人/制表符
- 如果服务器端模板有多个文档,则可能需要上载多个文档。如果您打算上传一个PDF,那么服务器端模板也应该有一个文档
POST https://demo.docusign.net/restapi/v2/accounts/ACCTNMBR/envelopes/ENVELOPEID/documents/1/templates HTTP/1.1
Accept: application/json
Content-Type: application/json
{
"documentTemplates": [{
"documentId": "1",
"templateId": "TEMPLATE_ID",
"documentStartPage": "1",
"documentEndPage": "15"
}]
}
谢谢你的回答和下面的解释,但这并没有解决我遇到的问题。这是我看过我链接到的SO帖子后得到的第一个版本。:)