You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PHP(Laravel) SDK根据DocuSign模板ID查找字段数据标签名称

通过DocuSign PHP SDK(Laravel)获取模板字段名称的实现思路

核心实现步骤

1. 初始化TemplatesApi客户端

先确保已通过Composer安装DocuSign PHP客户端包,在Laravel项目中配置好认证信息后,初始化TemplatesApi实例:

use DocuSign\eSign\Client\ApiClient;
use DocuSign\eSign\Api\TemplatesApi;

// 初始化API客户端
$apiClient = new ApiClient();
$apiClient->setOAuthBasePath('https://account-d.docusign.com'); // 测试环境,生产环境替换为account.docusign.com
$apiClient->setAccessToken('你的访问令牌', 3600); // 令牌有效期按需设置

// 实例化TemplatesApi
$templatesApi = new TemplatesApi($apiClient);

2. 调用接口获取模板详情

使用getTemplate方法传入账户ID和目标模板ID,获取包含字段信息的完整模板数据:

$accountId = '你的DocuSign账户ID';
$templateId = '需要查询的模板ID';

// 获取模板完整信息
$template = $templatesApi->getTemplate($accountId, $templateId);

3. 提取字段名称

模板数据中,字段(数据标签)存放在收件人对象的tabs属性下,遍历提取即可:

$fieldLabels = [];

// 遍历所有收件人类型(签署人、抄送人等)
foreach (['signers', 'carbonCopies', 'certifiedDeliveries'] as $recipientType) {
    if (property_exists($template->getRecipients(), $recipientType)) {
        $recipients = $template->getRecipients()->{$recipientType};
        foreach ($recipients as $recipient) {
            $tabs = $recipient->getTabs();
            // 遍历所有类型的标签(文本框、复选框等)
            foreach ($tabs as $tabGroup) {
                foreach ($tabGroup as $tab) {
                    $fieldLabels[] = $tab->getTabLabel();
                }
            }
        }
    }
}

// 去重后得到所有字段名称
$uniqueFieldLabels = array_unique($fieldLabels);

注意事项

  • 确保访问令牌拥有template_read权限范围,否则会返回权限不足错误
  • 测试环境与生产环境的API基础路径不同,需根据实际环境切换
  • 若模板包含全局自定义字段,可通过$template->getCustomFields()提取

内容的提问来源于stack exchange,提问作者Manish Kumar Pathak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 16:39:51