我的用例是文档必须由两个人签名:我们有电子邮件地址的普通用户,以及可以是我的应用程序的任何管理员用户的另一个用户。在常规用户签名后选择管理员用户。
我目前使用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个。
答案 0 :(得分:1)
我不确定为什么你会在你所描述的场景中获得重复的标签。 但是,这些方法中的任何一种都可能消除这个问题:
OR