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系列 - SOAP 方式调用Docusign
DocuSign:在 JWT 令牌中设置过期 - 始终获取一小时过期的访问令牌