DocuSign Connect - 上传的DOCX,返回DOCX

时间:2016-09-22 19:05:40

标签: docusignapi

我一直在研究一个用于接收来自DocuSign Connect的HTTP POST请求的监听器应用程序。它被编码为ASP.NET MVC4 Web应用程序。

通过使用沙箱环境,我能够以各种不同的文件格式发送和接收文档,其中包含DocuSign概述的预期行为...除了docx类型。

我遇到的情况如下:

  1. 通过"发送信封"附加并发送测试docx文件以进行签名。沙箱环境中的界面(为简单起见,我只是添加了一个签名叠加层)。
  2. 登录收件人电子邮件帐户并完成签署文档的步骤。
  3. 等待几分钟让侦听器应用程序响应并从XML中提取签名文档。
  4. 已验证提取的签名文档的文件名不是PDF,但与上传的文件(名称和文件扩展名)相同。试图在Word中打开它会导致Word抱怨该文件已损坏且无法打开。
  5. 在"已完成的"中检查相同的签名文档(作为附件)时电子邮件通知,我将其视为PDF并且能够毫无问题地打开它。
  6. 我的问题是为什么DocuSign Connect没有返回已发送的docx文件的签名PDF版本?

    DocuSign的文档表明任何文件格式的签名版本都是PDF格式。作为验证,我曾尝试过使用doc和jpg文件而没有任何问题。

    更令人奇怪的是,如果我手动将签名文档的文件扩展名更改为PDF,我可以按预期查看文件的内容。那么只是返回一个不正确的文件扩展名的情况?或者我缺少一两步?

    我已经从DocuSign Connect的几个请求附加了XML。一个是正​​确的,没有问题;一个有问题的。

    Correct XML from DocuSign Connect (已发送文件:1个PDF,1个文档)

    Problematic XML from DocSign Connect (已发送文件:1 docx)

    如果有人知道为什么会发生这种情况,我将不胜感激。它不会发生这种情况,因为我可以在例外中编程来重命名docx文件的文件扩展名。这只是一个小麻烦,必须要做。

1 个答案:

答案 0 :(得分:2)

关于:

  

我的问题是为什么DocuSign Connect没有返回已发送的docx文件的签名PDF版本?

DocuSign确实向您返回了PDF文档。您对该文件不是PDF文件的结论不正确。

filename字段只是提供信息,文件名字段中的文件扩展名也不重要。

重要的是:

  • DocuSign需要知道输入/上传文件的文件类型。它使用fileExtension字段向提交者学习文件类型是什么。
  • 如果文件类型不是pdf,则它将始终转换为pdf。没有例外。
  • 如果文件类型为pdf,则pdf文件将“展平”(栅格化)以确保pdf中的恶意软件不会损害签名者或其他收件人。 (PDF文件实际上是程序。这些程序通常只会产生一个打印的页面,但它们可以做得更多,无论是善还是恶。但我离题了。)
  • 如果您选择让webhook系统(Connect或eventNotifications)向您发送文件,那些始终的文件将采用pdf格式。
  • fileExtension字段指的是发送到 DocuSign的文件类型。从 DocuSign下载的文件的正确文件扩展名始终为.pdf。

在您的情况下,我打开了“有问题”的XML通知消息,并将PDFBytes内容复制到在线base64解码器。然后,我使用 pdf viewer 打开输出,并显示您签名的文档。

文件的“名称”是什么并不重要。 DocuSign的输出始终采用PDF文档的形式。