Docusignapi DocuSign VBA错误400错误代码:信封不完整

Docusignapi DocuSign VBA错误400错误代码:信封不完整,docusignapi,Docusignapi,如果您能帮助理解此错误的.setRequestHeader设置,我们将不胜感激 Public Sub SignatureReq() Dim httpRequest As MSXML2.XMLHTTP60 ' defined request and result variables Set httpRequest = New XMLHTTP60 ' define the new URL for the signature request using the Base URL returned

如果您能帮助理解此错误的.setRequestHeader设置,我们将不胜感激

Public Sub SignatureReq()
Dim httpRequest As MSXML2.XMLHTTP60

' defined request and result variables
Set httpRequest = New XMLHTTP60

' define the new URL for the signature request using the Base URL returned aboved appended with '/envelopes'
Dim sigURL As String
sigURL = URLBase & "/envelopes"
' currently sig URL is 'https://demo.docusign.net/restapi/v2/accounts/[account number]'

Dim Body As String
      Body = "<envelopeDefinition xmlns=\" & Chr(34) & "http://www.docusign.com/restapi\" & Chr(34) & ">" + _
            "<accountId>MyAccountID</accountId>" + _
            "<status>sent</status>" + _
            "<emailSubject>DocuSign API Call - Signature request from template</emailSubject>" + _
            "<templateId>MyTemplateID</templateId>" + _
            "<templateRoles>" + _
            "<templateRole>" + _
            "<name>Ronco</name>" + _
            "<email>rolsen@myemail.com</email>" + _
            "<roleName>Rono</roleName>" + _
            "</templateRole>" + _
            "</templateRoles>" + _
            "</envelopeDefinition>"


Debug.Print Body

httpRequest.Open "POST", sigURL, False

httpRequest.setRequestHeader Body, "application/xml"
httpRequest.setRequestHeader "X-DocuSign-Authentication", Author
'httpRequest.setRequestHeader "Accept", "application/xml"
httpRequest.setRequestHeader "Content-Type", "multipart/form-data"
'httpRequest.setRequestHeader "Content-Type", "application/xml"
httpRequest.send

Debug.Print httpRequest.Status, "A"
Debug.Print httpRequest.statusText, "B"
Debug.Print httpRequest.responseText, "C"

Exit Sub
下面是响应消息。我理解错误来自.setRequestHeader未正确设置。在哪里可以找到DocuSign将接受的每个.setRequestHeader的头和值需要如何设置

400错误请求{错误代码: 信封不完整,消息:信封不完整。 完整的信封需要文档、收件人、选项卡和 主题行。内容类型不包含边界参数。}


从模板发送签名请求时,API调用的内容类型需要设置为application/json或application/xml。看起来您当前已将其注释掉,并正在发送一个多部分/表单数据请求。注释该行并添加回:

httpRequest.setRequestHeader "Content-Type", "application/xml"

如果这不起作用,或者您已经尝试过,我建议您通过开发人员帐户首选项启用请求日志记录,并检查正在设置的原始请求,以确保您的代码生成您期望的结果

因此,要回答代码问题,请使用application/xml作为标题,而不是多部分。仅当您有JSON/XML+文件时才使用Multipart。REST中的每个调用都支持JSON/XML。有些调用支持其他格式,例如多部分。这并不能完全回答你的问题,所以我把它作为一个评论。