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.