0

所以我对此没有太大希望,但它就是这样。我正在使用 DocuSign Connect 将信封数据和文档推送到我的 http 侦听器。有没有办法将完成证书重命名为它没有在名称末尾附加信封ID的地方?

我问是因为当我们的听众提取 XML 文件、解析它并将 PDF 写入单独的文件时,我让它创建一个以信封 id 命名的文件夹并将它们与我们的 CSV 文件一起放置在文件夹中。当 Filer 读取 CSV 文件时,我们让 Oracle 抓取所有 PDF,但是当它(Filer)点击证书时,名称太长(36 个字符限制)并且出错。我们有一种可能的解决方法,但我想我会问是否有更简单的方法来做到这一点。

4

3 回答 3

1

你负责写出实际的文件,对吗?您可以设置一个重命名功能来获取任何模式并将其重命名为您喜欢的任何内容。

于 2013-09-27T22:33:47.210 回答
0

所以我在修改 XML 文件时遇到了麻烦,相反,因为我们只是将 PDF 存储在数据库中,所以我决定只修改循环中的名称以创建 PDF。我修改后的代码如下:

//Loop to print out each PDF to separate file
$oldcertname = "CertificateOfCompletion_" . $xml->EnvelopeStatus->EnvelopeID. ".pdf";
$newcertname = "CertificateOfCompletion.pdf";
foreach($xml->DocumentPDFs->DocumentPDF as $value) {
    if($value->Name == $oldcertname) {
        $value->Name = $newcertname;
    }
    $binary = base64_decode($value->PDFBytes);
    file_put_contents($xml->EnvelopeStatus->EnvelopeID . "/" . $value->Name, $binary);
}

它有效,所以感谢您的指导。

于 2013-09-30T18:32:39.887 回答
0

我认为您无法修改 DocuSign Connect 服务发送的文件名,但到目前为止我能想到的三种解决方法:

1.  Have a script rename the file to a shorter name before it's parsed.
2.  Make an API call to retrieve the envelope certificate.

第一个选项可能是最简单的,也许是您已经想到的解决方法。如果您只是将文件重命名为更短的名称,应该可以满足您的需求。

对于 #2,DocuSign Connect 的好处在于,由于平台将数据推送给您而不是您从系统中提取数据,因此它不计入您的每小时 api 调用限制,但是这是一个很难达到的非常高的限制(每个帐户每小时 1000 个电话)。 API 演练 #6展示了如何下载信封文档,您可以将其修改为仅使用其 URI 下载证书。REST API 指南中也有此页面,其中解释了如何执行此操作:

http://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#REST API References/Get Envelope Documents and Certificate.htm%3FTocPath%3DREST%20API%20References%7C_____52
于 2013-09-27T22:43:42.090 回答