将文档添加到现有信封

时间:2017-06-08 08:33:38

标签: node.js

我正在关注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将被读出,而不是多部分块

知道我做错了什么吗?

谢谢, 尼尔斯

1 个答案:

答案 0 :(得分:0)

Nico和Niels,

  1. 我总是建议配置DocuSign https://support.docusign.com/articles/API-Request-Logging
  2. 中提供的调试日志
  3. 我总是建议使用Postman或SoapUI(开源和免费,在Windows和Mac上运行,然后根据您看到的日志记录设置调用。帮助您了解API中最有效的方法,然后调整API您的平台|语言(本例中为nodejs)的SDK代码可以正确地准备您要发送的内容。

  4. 一般来说,您打算做的是正确的,但是在您提供实际的“DS收到的内容”之前,调试代码片段将非常困难。 : - )

  5. 我更喜欢复合模板模型和多部分表单提交“复杂和异国情调”的信封构成,并且诚实地避免对象模型由于旋转和降低成本而只添加文档,收件人等。我知道这是一个选择,但是,我发现它适用于速度,性能和可测试性。

  6. 我也注意到Jpg和图像没有通过Aspose或其他工具转换为PDF可能会导致DocuSign“第三方转换器(基于供应商)”出现一些打嗝,所以再次进行测试,最好将其作为pdf和首先在它的base64版本中。

  7. 希望这会有所帮助,请告诉我们您的决定,如果您添加DS发送的剪辑,我们中的一些人可能会提供更多信息。总是很高兴有最后的问题是帮助其他开发人员在凌晨3点需要做一个里程碑。