将复合模板发送到Docusign API时出错

时间:2017-04-07 23:28:44

标签: docusignapi docusigncompositetmplts

我正在尝试使用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是否不接受复合模板?

1 个答案:

答案 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"
                            }
                        ]
                    }

                }
            ]
        }
    ]
}