DocuSign TAB_REFERS_TO_MISSING_DOCUMENT 但文件已附加 (REST API)
DocuSign TAB_REFERS_TO_MISSING_DOCUMENT but document is attached (REST API)
我正在使用 DocuSign REST API 从模板创建信封。我的代码适用于单个文档模板或具有多个文档的模板,其中只有一个文档有选项卡。如果两个文档上都有选项卡,我会收到错误代码为 TAB_REFERS_TO_MISSING_DOCUMENT
.
的 400 响应
我收到的回复是:
{
"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/"
}
我的要求如下:
{
"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"
}
]
}
据我所知,人们在提交无效的 documentId 时会收到此请求,例如 1
,但明确附上 "missing" 的文档。我错过了什么吗?
最终的工作 JSON 请求如下所示:
{
"status": "sent",
"emailSubject": "...",
"compositeTemplates": [{
"serverTemplates": [{
"sequence": 2,
"templateId": "..."
}],
"inlineTemplates": [{
"sequence": 1,
"documents": [{
"documentId": "...",
"name": "...",
"documentBase64": "..."
}, {
"documentId": "...",
"name": "...",
"documentBase64": "..."
}]
}]
}]
}
您可以使用 composite Templates 克服错误。在具有较低序列号 ("sequence": "1"
) 的 inlineTemplate
中指定新文档将确保 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"
}
]
}
]
}
要替换模板中的文档,您必须在信封中使用复合模板说明:创建调用。
在您的用例中,您希望将模板与模板中现有文档的新文档"in front" 组合在一起。
"Compositing templates" 就像 compositing together multiple pieces of film to produce a final print.
我正在使用 DocuSign REST API 从模板创建信封。我的代码适用于单个文档模板或具有多个文档的模板,其中只有一个文档有选项卡。如果两个文档上都有选项卡,我会收到错误代码为 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/"
}
我的要求如下:
{
"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"
}
]
}
据我所知,人们在提交无效的 documentId 时会收到此请求,例如 1
,但明确附上 "missing" 的文档。我错过了什么吗?
最终的工作 JSON 请求如下所示:
{
"status": "sent",
"emailSubject": "...",
"compositeTemplates": [{
"serverTemplates": [{
"sequence": 2,
"templateId": "..."
}],
"inlineTemplates": [{
"sequence": 1,
"documents": [{
"documentId": "...",
"name": "...",
"documentBase64": "..."
}, {
"documentId": "...",
"name": "...",
"documentBase64": "..."
}]
}]
}]
}
您可以使用 composite Templates 克服错误。在具有较低序列号 ("sequence": "1"
) 的 inlineTemplate
中指定新文档将确保 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"
}
]
}
]
}
要替换模板中的文档,您必须在信封中使用复合模板说明:创建调用。
在您的用例中,您希望将模板与模板中现有文档的新文档"in front" 组合在一起。
"Compositing templates" 就像 compositing together multiple pieces of film to produce a final print.