我正在尝试使用docusign-node-client使用createEnvelope类发送信封。此类向/ envelopes端点发送REST API请求。我试图发送的信封包含一个复合模板。
这是我试图发送给docusign的身体
{
"emailSubject": "Sent from Node SDK",
"emailBlurb": "Email body here",
"customFields": {
"textCustomFields": [
{
"name": "DSFSSourceObjectId",
"required": false,
"show": false,
"value": "dealIdHere"
}
]
},
"compositeTemplates": [
{
"inlineTemplates": [
{
"sequence": "1",
"documents": [
{
"documentBase64": "base64StringHere",
"documentId": "1",
"fileExtension": ".pdf",
"name": "filename.pdf"
}
],
"envelope": {
"emailBlurb": "Email body here",
"emailSubject": "Sent from Node SDK",
"customFields": {
"textCustomFields": [
{
"name": "DSFSSourceObjectId",
"required": false,
"show": false,
"value": "dealIdHere"
}
]
},
"recipients": {
"signers": [
{
"email": "myEmail@domain.com",
"name": "My Name",
"recipientId": "1"
}
]
}
}
}
],
"serverTemplates": [
{
"sequence": "1"
}
]
}
],
"status": "sent"
}
当我发送此正文时,我收到以下错误:"请求至少包含一个无效参数。为\' templateId \'指定的值无效在复合模板序列中:1"
如果我删除了serverTemplates数组,则会出现此错误:"信封未完成。完整信封需要文档,收件人,标签和主题行。"
如果我在serverTemplate对象中包含有效的templateId,则会成功创建一个信封。
我正在转换为Node JS的应用程序使用了Docusign SOAP API,并且能够发送包含1到多个文档的复合模板。这些文档中的每一个都可以与自己的文档模板相关联,也可以不与docusign模板相关联。
如果没有对模板ID的某种引用,docusign是否不接受复合模板?
答案 0 :(得分:4)
您正在错误地指定inlineTemplate.envelope
属性。您可以直接在inlineTemplate中定义收件人和自定义字段。您不必在inlineTemplate中指定emailSubject / emailBlurb。
另请注意,使用复合模板时,将忽略在根级别指定的自定义字段。见answer
以下json应该适合你。
{
"emailSubject": "Sent from Node SDK",
"emailBlurb": "Email body here",
"status": "sent"
"compositeTemplates": [
{
"inlineTemplates": [
{
"sequence": "1",
"documents": [
{
"documentBase64": "base64StringHere",
"documentId": "1",
"fileExtension": ".pdf",
"name": "filename.pdf"
}
],
"customFields": {
"textCustomFields": [
{
"name": "DSFSSourceObjectId",
"required": false,
"show": false,
"value": "dealIdHere"
}
]
},
"recipients": {
"signers": [
{
"email": "myEmail@domain.com",
"name": "My Name",
"recipientId": "1"
}
]
}
}
]
}
]
}