DocuSign TAB_REFERS_TO_MISSING_DOCUMENT但文档已附加(REST API)

时间:2017-06-13 18:39:54

标签: docusignapi docusigncompositetmplts

我正在使用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

2 个答案:

答案 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