DocuSign API:将新收件人添加到信封时重复的initialHere选项卡

问题描述:

我的用例是一个文档必须由两个人签名:一个是我们有一个电子邮件地址的普通用户,另一个用户可以是任何我的应用程序。管理员用户是在普通用户签名后选择的。DocuSign API:将新收件人添加到信封时重复的initialHere选项卡

我当前使用DocuSign API实现时会创建一个包含两个签名者的信封,即常规用户和名为admin-placeholder的第二个签名者。

当管理员开始签名时,我会调用API以用实际管理员替换admin-placeholder

这里是我的PHP代码(callDocusign函数做什么它似乎做):

// fetch tabs of placeholder user 
$tabs= callDocusign($docusignLogin, 'GET', "envelopes/$envelopeId/recipients/$placeholderRecipient/tabs?include_anchor_tab_locations=true"); 

// remove tabIds to avoid issue on submission 
foreach(array_keys($tabs) as $kind) { 
    for ($i = 0; $i < count($tabs[$kind]); $i++) { 
     // sanitize_user_input removes all properties except those listed in its second argument 
     $tabs[$kind][$i] = sanitize_user_input($tabs[$kind][$i], ["documentId", "pageNumber", "xPosition", "yPosition", "anchorString", "anchorXOffset", "anchorYOffset", "anchorIgnoreIfNotPresent", "anchorUnits"]); 
    } 
} 

// add signer 
$data = [ 
    'signers' => [[ 
     'email' => $user['email'], 
     'clientUserId' => pseudo_encrypt($uid), 
     'recipientId' => pseudo_encrypt($uid), 
     'name' => user_full_name($user), 
    ]], 
]; 
callDocusign($docusignLogin, 'POST', "envelopes/$envelopeId/recipients", $data); 

// delete placeholder signer 
callDocusign($docusignLogin, 'DELETE', "envelopes/$envelopeId/recipients/$placeholderRecipient"); 

// for some reason setting tabs at signer creation doesn't work 
// we'll create them now 
callDocusign($docusignLogin, 'POST', "envelopes/$envelopeId/recipients/".pseudo_encrypt($uid).'/tabs', $tabs); 

所有工作正常,但这个过程结束了复制的占位符用户的所有initialHere标签。在我的使用案例中,第一个用户有14 initialHere选项卡,第二个签名者最终以28. 28.

我不确定为什么在您描述的场景中会出现重复的选项卡。 然而,这些方法的执行可能会消除这一问题:

  • ,而不是删除占位符收件人(和标签),并加入了新的收件人(和标签),只需更新第二收件人指定实际签名info(一旦知道它,即在为第二个签名者启动嵌入式签名会话之前)。

OR

  • 做的事情,你是 - 除了当您创建占位收件人不指定收件人的任何标签。然后,当您删除占位符收件人时,添加新收件人并为该新收件人指定标签。
+0

更新占位符用户而不是删除它确实可以解决我发现的API错误。谢谢 ! – olivieradam666