目标:使用beta Docusign PHP Client使用tabLabel / value键对服务器模板自动填充一些值。
我查看了很多stackoverflow帖子,不幸的是,似乎与我最相关的帖子似乎没有答案:Docusign API - prefilling tab values on envelope created from template
我无法在任何偏好中找到此“SecureField”选项。
目前,名称字段仅因为准确设置模板角色而自动填写。我没有使用tabLabel键执行此操作,这是自动完成的。我尝试过创建公司标签,但无法自动填充,我尝试过随机文本标签。
我目前已经分叉了库并使其与PSR-4兼容,为了实现这一目标,我更改了以下文件:
TemplateRole模型:修改了构造函数以包含$ tabs,如果设置了$ tabs,则设置$ this-> tabs。我添加了两个函数getTabs()/ setTabs($ tabs),其行为与get / set RoleName,Name,Email等相同。
RequestSignatureResource:在foreach($ templateRoles as $ templateRole)中,我向array_pusy添加了一个'tabs'键,并放入了$ templateRole-> getTabs()。
我创建了一个新的TemplateRole('角色名称','人名','电子邮件',$ tabs)。
我可以看到JSON请求数据中的选项卡。有什么我想念的吗?
我还应该注意到,我也使用这篇文章作为灵感:How to pre-fill tabs on a server template with the DocuSign API。这个问题是,如果我把textTabs:{text:{tabLabel:“something”,value:“some value”}}然后我从API获得我的请求无效的响应。如果需要,我可以根据请求提供该特定错误。
答案 0 :(得分:3)
以下对我有用:
$templateRole = new DocuSign\eSign\Model\TemplateRole();
$templateRole->setClientUserId($email);
$templateRole->setEmail($email);
$templateRole->setName($recipientName);
$templateRole->setRoleName($templateRoleName);
$textTab = new \DocuSign\eSign\Model\Text();
// I added this text field manually on docuSign site.
$textTab->setTabLabel("Field Label");
$textTab->setValue('Value');
$tabs = new DocuSign\eSign\Model\Tabs();
$tabs->setTextTabs(array($textTab));
$templateRole->setTabs($tabs);