【问题标题】:Error Sending Composite Template to Docusign API将复合模板发送到 Docusign API 时出错
【发布时间】:2017-09-03 10:46:30
【问题描述】:

我正在尝试使用 docusign-node-client 使用 createEnvelope 类发送信封。此类将 REST API 请求发送到 /envelopes 端点。我要发送的信封包含一个复合模板。

这是我试图发送给 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 的某种引用的复合模板吗?

【问题讨论】:

    标签: docusignapi docusigncompositetmplts


    【解决方案1】:

    您错误地指定了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"
                                }
                            ]
                        }
    
                    }
                ]
            }
        ]
    }
    

    【讨论】:

    • 有效!感谢您不仅解决了我的问题,还为我提供了额外的有用信息,这将有助于避免将来出现更多的麻烦。我会给你+1,但我还没有声誉。但是,我确实将您的答案标记为正确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-18
    • 1970-01-01
    • 2022-09-28
    相关资源
    最近更新 更多