PHP:Docusign API自动填充模板的选项卡

时间:2015-09-24 21:51:36

标签: php docusignapi

目标:使用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获得我的请求无效的响应。如果需要,我可以根据请求提供该特定错误。

1 个答案:

答案 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);