Цель: автоматическое заполнение некоторых значений с помощью пары клавиш tabLabel / value для шаблонов серверов с использованием бета-версии PHP-клиент Docusign.
Я просмотрел довольно много сообщений от stackoverflow, и, к сожалению, тот, который кажется мне ближе всего, кажется без ответа: Docusign API — предварительное заполнение значений вкладок на конверте, созданном из шаблона
Мне не удалось найти эту опцию «SecureField» в любом виде предпочтений.
В настоящее время поле имени заполняется автоматически только из-за точной установки роли шаблона. Мне не нужно было делать это с помощью клавиши tabLabel, это было сделано автоматически. Я попытался создать вкладку компании, но она не заполняется автоматически, как и случайная текстовая вкладка, которую я пробовал.
В настоящее время я разветвил библиотеку и сделал ее совместимой с PSR-4, и для достижения этой цели я изменил следующие файлы:
ModelRole Model: Модифицировал конструктор, включив в него $ tabs, и установил $ this-> tabs, если установлено $ tabs. Я добавил две функции getTabs () / setTabs ($ tabs), которые ведут себя так же, как get / set RoleName, Name, Email и т. Д.
RequestSignatureResource: в foreach ($ templateRoles as $ templateRole) я добавил ключ ‘tabs’ в array_pusy и поместил $ templateRole-> getTabs ().
Я создал новое TemplateRole («имя роли», «имя человека», «электронная почта», $ tabs).
Я вижу вкладки в данных запроса JSON. Я что-то пропустил?
Я должен также отметить, что я использовал этот пост также для вдохновения: Как предварительно заполнить вкладки в шаблоне сервера с помощью API DocuSign. Проблема в том, что если я добавлю textTabs: {text: {tabLabel: «что-то», значение: «какое-то значение»}}, то я получу ответ от API о том, что мой запрос был недействительным. Я могу предоставить эту конкретную ошибку по запросу, если это необходимо.
Следующее работало для меня:
$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);
Других решений пока нет …