我正在使用DocuSign REST API从模板创建信封。我的代码适用于单个文档模板或具有多个文档的模板,其中只有一个文档具有选项卡。如果两个文档都有标签,我会收到400响应,错误代码为callback
。
我收到的回复是:
TAB_REFERS_TO_MISSING_DOCUMENT
我的要求如下:
{
"error": "invalid HTTP response",
"message": {
"errorCode": "TAB_REFERS_TO_MISSING_DOCUMENT",
"message": "The DocumentId specified in the tab element does not refer to a document in this envelope. Tab refers to DocumentId 45159457 which is not present."
},
"status": 400,
"url": "https://demo.docusign.net/restapi/v2/accounts/2826983/envelopes/"
}
据我所见,人们在提交无效的documentId时会收到此请求,例如{
"status": "sent",
"templateId": "bb283bfb-4049-431d-942a-9a485e4ebb41",
"emailSubject": "[[Signer UserName]], please sign this document",
"documents": [
{
"documentId": "27069418",
"documentBase64": "...",
"name": "name.pdf"
},
{
"documentId": "45159457",
"documentBase64": "...",
"name": "secondName.pdf"
}
]
}
,但是“遗失”的文件已明确附上。我错过了什么吗?
最终和正在运行的JSON请求如下所示:
1
答案 0 :(得分:2)
您可以使用composite Templates克服错误。在序列号较低(inlineTemplate
)的"sequence": "1"
中指定新文档将确保inlineTemplate
文档将替换服务器模板文档。
以下是CreateEnvelope请求示例。
{
"emailSubject": "[[Signer UserName]], please sign this document",
"status": "sent",
"compositeTemplates": [
{
"inlineTemplates": [
{
"sequence": "1",
"documents": [
{
"documentId": "27069418",
"name": "name.pdf",
"documentBase64": ""
},
{
"documentId": "45159457",
"name": "secondName.pdf",
"documentBase64": ""
}
]
}
],
"serverTemplates": [
{
"sequence": "2",
"templateId": "bb283bfb-4049-431d-942a-9a485e4ebb41"
}
]
}
]
}
答案 1 :(得分:0)
要替换模板中的文档,您必须在信封中使用复合模板说明:create call。
在您的使用案例中,您希望将模板和后面的新文档"组合在一起"模板中的现有文档。
"合成模板"就像compositing together multiple pieces of film to produce a final print。