最近,我们的一位客户在使用DocuSign API发送信件时,遇到了一个意外问题:在DocuSign发起PDF文件签署后,DocuSign签署界面中文档有一处与原始文件显示不一致。为了找到问题的根源并提供解决方案,我们进行了详细的调查和模拟测试,最终确认这是一个系统的bug,并已开始着手修复。
问题描述
客户在使用DocuSign API发送PDF文件时,发现PDF某段文字在通过Docusign发送前和发送后中出现差异。具体表现为:原本应当正确显示的文字,没有显示出来,而显示了另外的文字。
调查过程
本地模拟测试:为了验证问题的来源,我们首先在本地进行了模拟测试。通过编写代码,我们将同样的PDF文件进行Base64编码,并直接进行解码,发现在本地处理的PDF文件内容完全正确。这表明,问题并不在于PDF文件本身或Base64编码解码的过程,而是出现在通过DocuSign内部格式转换过程中。
原PDF比对:为了进一步排除其他可能性,我们详细检查了PDF出错的这块内容,由于这个部位,客户做错了一些数据,因此在这个PDF中做了贴图,将错误数据遮盖,并且用了一个可编辑的文本框覆盖在这个贴图上面,也就导致了这个PDF的这个数据位置出现了三层数据,第一层是原错误数据,第二层是个白色text文本框,第三层是真实数据文本框。
问题确认:经过对比和详细分析,并且和Support进行了二次确认以后,由Support确认这是一个DocuSign系统的bug,同时也为BUG设定了编号:DOCPLAT-5390。DocuSign目前不支持这种反复修改叠加,并且将文本设定成可编辑模式的状态。在使用DocuSign API发送Base64编码内容时,系统在处理某些特殊字符或编码方式时出现了问题,导致了接收端PDF文件内容的错误。如下是Support的回复:

解决方案
目前,客户已经将这种叠加并且设定为可编辑模式的状态去除,重新生成了正常的PDF进行签约。同时,我们已经将此问题报告给DocuSign技术支持团队,并与他们展开了紧密的合作以修复这个bug。同时,DocuSign开发团队正开始相应的代码调整,以确保在未来使用中不会再次遇到类似的问题。
在修复完成前,我们建议客户采取以下临时措施来避免问题的发生:
尽量避免在PDF文件中使用可能导致编码问题的特殊字符或格式。
结语
尽管此次问题给客户带来了一定的不便,但通过我们的迅速响应和详细调查,我们已经找到了解决方案并等DocuSign修复完成。我们为DocuSign客户提供日常技术服务,除了操作上指导,还提供这样的使用问题确认与Bug跟近。另外我们还提供DocuSign与第三方业务系统的集成开发咨询服务。我们不光可以提供代码示例,可以快速完成业务功能,也可以协助快速代码排障。并且我们可以提供最佳实践,可以把几十家国内头部出海企业使用经验与您分享,也会带你避过一些坑,最重要的是确保使用方式符合海外电子签名法,确保签署出来的信封的法律有效。

♚上海甫连信息技术有限公司
DocuSign | Okta | Yubikey | SentinelOne | BlackBerry | Cylance | Varonis | Onfido