Laravel8+PHP8.1集成DocuSign API:实现点击签名自动应用已存签名
解决DocuSign自动应用已保存签名的问题
核心方案:指定默认签名ID
要跳过签名选择步骤,关键是在创建签名标签时关联用户的默认签名ID,让DocuSign自动调用已保存的签名。
1. 获取用户默认签名ID
通过DocuSign的Users API获取当前用户的默认签名ID:
// 初始化Users API客户端 $userApi = new \DocuSign\eSign\Api\UsersApi($apiClient); // 获取用户信息,提取默认签名ID $userInfo = $userApi->getUserInfo($accountId); $defaultSignatureId = $userInfo->getUsers()[0]->getDefaultSignatureId();
2. 创建签名标签时配置自动填充
无论是锚点式签名(anchor_string)还是普通签名按钮,在生成SignHere标签时添加default_signature_id参数:
// 锚点式签名标签示例 $signHere = new \DocuSign\eSign\Model\SignHere([ 'anchor_string' => '请在此处签名', // 你的锚点字符串 'anchor_units' => 'pixels', 'anchor_y_offset' => '10', 'anchor_x_offset' => '20', 'default_signature_id' => $defaultSignatureId, // 关联默认签名 'recipient_id' => '1' ]); // 将标签绑定到收件人 $signer = new \DocuSign\eSign\Model\Signer([ 'email' => 'user@example.com', 'name' => '用户名', 'recipient_id' => '1', 'tabs' => new \DocuSign\eSign\Model\Tabs(['sign_here_tabs' => [$signHere]]) ]);
3. 可选:开启自动签名(内部用户场景)
如果是内部已验证用户,可开启auto_sign属性,实现无需点击直接完成签名:
$signer->setAutoSign(true);
注意:该属性仅对DocuSign平台已验证的内部用户生效,外部收件人无法使用。
配置完成后,用户点击签名锚点或按钮时,DocuSign会自动应用其已保存的默认签名,跳过手动选择步骤。
内容的提问来源于stack exchange,提问作者Daho
相关产品推荐
相关产品推荐

