我正在关注https://www.docusign.com/blog/dsdev-using-docusign-rest-api-add-additional-documents-envelope/上的(第3课),将其他文档添加到我现有的草稿信封中,只有我使用的是nodejs模块http://docusign.github.io/docusign-node-client/
所以我首先登录,然后创建一个信封(信封定义状态为:"创建"而不是"发送")然后尝试运行" updateDocuments&# 34;如下:
// create a new envelope object that we will manage the signature request through
var envDef = new docusign.EnvelopeDefinition();
var docDef = new docusign.Document();
docDef = [
{
documentId: 1,
name: "CONTRACT",
fileExtension: "jpg",
documentBase64: base64_encode("./someimage.jpg")
}
];
envDef.documents = docDef;
envelopesApi.updateDocuments(accountId, envelopeId,
{"envelopeDefinition": envDef}
,function(error, data, response) {
console.log(JSON.stringify(response,1,2));
process.exit();
});
控制台日志发出以下错误(FORMAT_CONVERSION_ERROR):
{
"req": {
"method": "PUT",
"url": "https://demo.docusign.net/restapi/v2/accounts/2984497/envelopes/ef87c144-497a-4ce8-8d81-cd1068f90daf/documents",
"data": {
"documents": [
{
"documentId": 1,
"name": "contract",
"fileExtension": "jpg",
"documentBase64": "***HUGE base64 string***"
}
]
}
},
"header": {
"cache-control": "no-cache",
"content-length": "291",
"content-type": "application/json; charset=utf-8",
"x-ratelimit-reset": "1496912400",
"x-ratelimit-limit": "1000",
"x-ratelimit-remaining": "995",
"x-docusign-tracetoken": "b44c0be9-96f3-4348-8e01-04babd762691",
"date": "Thu, 08 Jun 2017 08:15:46 GMT",
"connection": "close",
"strict-transport-security": "max-age=31536000; includeSubDomains"
},
"status": 200,
"text": "{\r\n \"envelopeId\": \"ef87c144-497a-4ce8-8d81-cd1068f90daf\",\r\n \"envelopeDocuments\": [\r\n {\r\n \"documentId\": \"1\",\r\n \"order\": \"8\",\r\n \"errorDetails\": {\r\n \"errorCode\": \"FORMAT_CONVERSION_ERROR\",\r\n \"message\": \"The data could not be converted.\"\r\n }\r\n }\r\n ]\r\n}"
}
根据一个答案,我用谷歌搜索我的内容编码标题是不正确的..但我不相信,因为这个想法是json-documentBase64将被读出,而不是多部分块
知道我做错了什么吗?
谢谢, 尼尔斯
答案 0 :(得分:0)
Nico和Niels,
我总是建议使用Postman或SoapUI(开源和免费,在Windows和Mac上运行,然后根据您看到的日志记录设置调用。帮助您了解API中最有效的方法,然后调整API您的平台|语言(本例中为nodejs)的SDK代码可以正确地准备您要发送的内容。
一般来说,您打算做的是正确的,但是在您提供实际的“DS收到的内容”之前,调试代码片段将非常困难。 : - )
我更喜欢复合模板模型和多部分表单提交“复杂和异国情调”的信封构成,并且诚实地避免对象模型由于旋转和降低成本而只添加文档,收件人等。我知道这是一个选择,但是,我发现它适用于速度,性能和可测试性。
我也注意到Jpg和图像没有通过Aspose或其他工具转换为PDF可能会导致DocuSign“第三方转换器(基于供应商)”出现一些打嗝,所以再次进行测试,最好将其作为pdf和首先在它的base64版本中。
希望这会有所帮助,请告诉我们您的决定,如果您添加DS发送的剪辑,我们中的一些人可能会提供更多信息。总是很高兴有最后的问题是帮助其他开发人员在凌晨3点需要做一个里程碑。