PHP DocuSign:下载完成的签名文档时获取空文档

Posted

技术标签:

【中文标题】PHP DocuSign:下载完成的签名文档时获取空文档【英文标题】:PHP DocuSign: getting empty document when downloading the completed signed document 【发布时间】:2022-01-12 17:35:26 【问题描述】:

我使用 JWT Auth 将 Docusing 与 php Laravel 应用程序集成。它运行良好,可以将电子邮件发送给收件人进行签名。现在,在所有签名完成后,我们想下载带有 CoC 的完整签名文档。

我正在使用以下代码来获取特定信封的签名文档:

$envelope_api = new EnvelopesApi($apiClient);

$tmpFile = $envelope_api->getDocument($account_id, 'combined', $envelope_id);

$savCert = file_put_contents("signed_document.pdf", file_get_contents($tmpFile->getPathname()));

但下载文件时我得到的是空文档。如果您能给出如何解决问题的提示,那将非常有帮助。

$tmpfile 的 json 负载:

object(SplFileObject)#418 (5) 

 ["pathName":"SplFileInfo":private]=> string(44) "C:\Users\AppData\Local\Temp\19F.tmp" 
 ["fileName":"SplFileInfo":private]=> string(7) "19F.tmp" 
 ["openMode":"SplFileObject":private]=> string(1) "r" 
 ["delimiter":"SplFileObject":private]=> string(1) "," 
 ["enclosure":"SplFileObject":private]=> string(1) """ 

【问题讨论】:

【参考方案1】:

这是 SDK 6.5 版本中的一个错误 版本 6.5.1 已修复。请更新您的软件包并重试。

如果您使用 6.5,则需要添加以下行:

$tmpFile = $envelopeApi->getDocument($account_id, 'combined', $envelope_id);
$tmpFile->rewind();
$contents = $tmpFile->fread($tmpFile->fstat()['size']);

【讨论】:

非常感谢您让我知道错误问题。我已经更新了版本,它按预期工作。只有一件事,“组合”应该包括带有 CoC 的签名文件,对吗?但它只是下载完整的签名文件。我们也需要 CoC。再次感谢! 尝试使用“证书”看看是不是你需要的 是的,我尝试使用“证书”,它只下载证书。谢谢

以上是关于PHP DocuSign:下载完成的签名文档时获取空文档的主要内容,如果未能解决你的问题,请参考以下文章

DocuSign栅格化质量差的PDF文件吗?

Docusign系列 - SOAP 方式调用Docusign

阅读 docusign 审核日志

DocuSign:在 JWT 令牌中设置过期 - 始终获取一小时过期的访问令牌

通过 DocuSign Rest API 创建 DocuSign 信封时出错(包含多个文档和多个收件人)

当我们进行API调用时,Docusign会保留发送文档的副本吗 - eSignRestAPI?