Docusignapi Docusign:无法从restapi v2中的文档创建信封

Docusignapi Docusign:无法从restapi v2中的文档创建信封,docusignapi,Docusignapi,我们正在尝试使用docusign restapi v2从pdf文档创建信封。我们可以使用XML创建一个信封,但是当我们尝试使用JSON时,我们从docusign收到以下错误 "errorCode": "ENVELOPE_IS_INCOMPLETE", "message": "The Envelope is not Complete. A Complete Envelope Requires Documents, Recipients, Tabs, and a Subject Line. Enve

我们正在尝试使用docusign restapi v2从pdf文档创建信封。我们可以使用XML创建一个信封,但是当我们尝试使用JSON时,我们从docusign收到以下错误

"errorCode": "ENVELOPE_IS_INCOMPLETE",
"message": "The Envelope is not Complete. A Complete Envelope Requires Documents, Recipients, Tabs, and a Subject Line. Envelope definition missing."
我们发送的整个帖子都是fiddler的(删除了文件内容)

POSThttps://demo.docusign.net/restapi/v2/accounts/xxxxx/envelopes HTTP/1.1
X-DocuSign-Authentication:{“用户名”:“xxxxxx”,“密码”:“xxxxx”,“集成器密钥”:“xxxxxx”}
内容类型:多部分/表单数据;边界=AAA
接受:application/json
主机:demo.docusign.net
内容长度:90500
预期:100人继续
--AAA
内容类型:application/json
内容配置:表单数据
{
“emailBlurb”:“Blurb”,
“电子邮件主题”:“子主题”,
“文件”:[
{
“名称”:“NDA.pdf”,
“文档ID”:“1”
}
],
“收件人”:{
“签署人”:[
{
“选项卡”:{
“signHereTabs”:[
{
“页码”:“1”,
“yPosition”:“1”,
“xPosition”:“1”,
“documentId”:“1”,
“tabId”:“1”,
“名称”:“选项卡名称”
}
]
},
“路由顺序”:“1”,
“接收方ID”:“1”,
“姓名”:“本”,
“电子邮件”:ben@test.com"
}
]
},
“状态”:“已创建”
}
--AAA
内容类型:application/pdf
内容配置:文件;filename=“NDA.pdf”;documentId=“1”
--AAA--

据我所知,JSON看起来是正确的。这里缺少了什么错误吗?

您的JSON看起来不错,这可能是因为您在请求正文中有一个或两个额外的CRLF字符分隔边界。一般来说,这就是需要分隔的方式(每条换行符都是\r\n):

--AAA
内容类型:application/json
内容配置:表单数据
--AAA
内容类型:application/pdf
内容配置:文件;filename=“document.pdf”;documentid=1
--AAA--

很可能是文档字节后的额外换行符导致了您的问题

我也有同样的问题症状

我的问题是“边界终结者”。请务必使用:

--AAA
Content-Type: application/json
Content-Disposition: form-data

<YOUR VALID JSON GOES HERE>
--AAA--
--AAA
内容类型:application/json
内容配置:表单数据
--AAA--

如果您的多部分附件中没有文档

,这就是问题所在。在JSON之前的内容处理之后,我错发了一个CRLF。在第一个边界之前,我们还有一个额外的CRLF。太谢谢你了,我想弄明白这一点都快疯了。没问题,很高兴这有帮助。干杯
--AAA
Content-Type: application/json
Content-Disposition: form-data

<YOUR VALID JSON GOES HERE>
--AAA
Content-Type:application/pdf
Content-Disposition: file; filename="document.pdf"; documentid=1 

<DOCUMENT BYTES GO HERE>
--AAA--
--AAA
Content-Type: application/json
Content-Disposition: form-data

<YOUR VALID JSON GOES HERE>
--AAA--