当我创建信封并设置选项卡时,如果信封被重新分配给另一个人,则在使用 API 检索时,所有选项卡数据均为空。
我从带有文本锚点的 PDF 创建一个信封。我设置选项卡并发送它。如果原始收件人完成了信封,我可以使用 ListTabs() 使用 API 检索选项卡数据
如果原始收件人将信封重新分配给另一个人,当我使用 ListTabs() 时,所有选项卡值均为空。
$textTabs = array();
$name = new DocuSigneSignModelText;
$name->setAnchorString('{{name}}');
$name->setDocumentId(1);
$name->setName('Name');
$name->setTabLabel('name');
$name->setWidth(200);
$textTabs[] = $name;
$tabs = new DocuSigneSignModelTabs;
$tabs->setTextTabs($textTabs);
$signer = new DocuSigneSignModelSigner;
$signer->setRecipientId(1);
$signer->setRoutingOrder(1);
$signer->setEmail($recipientEmail);
$signer->setName($recipientName);
$signer->setRoleName('agent');
$signer->setTabs($tabs);
如果信封已重新分配,则制表符为空:
$envelope = $envelopeApi->getEnvelope($accountId,$envelopeId);
$tabs = $envelopeApi->listTabs($accountId, $envelopeId, 1);
var_dump($tabs);
结果:
object(DocuSigneSignModelTabs)#6 (1) {
["container":protected]=>
array(25) {
["approve_tabs"]=>
NULL
["checkbox_tabs"]=>
NULL
... etc
所有字段均为空。如果信封尚未重新分配,则可以访问创建信封时最初设置的所有选项卡。
更新:在德鲁的帮助下,我得到了我需要的东西。我只是从文档中检索收件人 ID 并将其传递给 listTabs 调用,如下所示:
$rs = $envelopeApi->listRecipients($accountId,$envelopeId);
$recipientId = '';
foreach($rs["signers"] as $s) {
$recipientId = $s["recipient_id_guid"];
}
$tabs = $envelopeApi->listTabs($accountId, $envelopeId, $recipientId);
对我有用!
者重新分配可能会导致执行操作的用户具有不同的收件人 ID。如果您提取该新 ID 的收件人信息,您应该会找到您的标签数据。
还可以尝试 EnvelopeFormData::get API 调用来获取当前选项卡值。