docusignapi — DocuSign REST API (PHP) — предварительно заполнить пользовательские теги

Я работаю над проектом, в котором мне нужно использовать DocuSign API (PHP). Это мой первый опыт работы с DocuSign, и я успешно создал шаблон в консоли DocuSign с помощью roleName = signer. Там я также сделал пользовательские текстовые теги: address, city, state а также phone и перетащите их в нужное место в моем шаблоне. Я хочу, чтобы туда поместили информацию о моем клиенте (подписавшей стороне) из базы данных проекта.

Из моего проекта я успешно установил соединение с DocuSign через PHP API и получил URL-адрес Embedded Singing View, который открывает мой шаблон, где пользователь может без проблем подписать документ.

Но … все мои собственные текстовые теги пусты, и подписывающий может ввести их. Мне нужно предварительно заполнить их личными данными подписанта, которые поступают из базы данных. Я трижды проверяю правописание метки пользовательского тега, прописные / строчные буквы в моей консоли DocuSign и в моем коде, а также отношение roleName-> tagLabel. Мой код PHP ниже.

Может кто-нибудь, пожалуйста, подскажите, что я делаю не так?

Я потерял два дня на этом.

$data = array(
"accountId" => $accountId,
"emailSubject" => $this->_emailSubject,
"templateId" => $templateId,
"templateRoles" => array(
array(
"email" => $email,
"name" => $recipientName,
"clientUserId" => $clientUserId,
"roleName" => "signer",
"customFields" => array(
"textCustomFields" => array (
array (
"name" => "address",
"value" => "Address from DB",
"show" => "true",
),
array (
"name" => "city",
"value" => "City from DB",
"show" => "true",
),
array (
"name" => "state",
"value" => "State from DB",
"show" => "true",
),
array (
"name" => "phone",
"value" => "Phone from DB",
"show" => "true",
),

),
),
),
),
"status" => "sent");

1

Решение

Вам нужно использовать textTabs введите свой JSON, а не customFields который используется для чего-то еще. Например, если вы перетащите поле данных из пользовательского интерфейса на документ и дадите ему имя address, чтобы предварительно заполнить это поле, вам нужно сослаться на это tabLabel и значения полей, как это:

"roleName" => "signer",
"tabs" => array(
"textTabs" => array(
array(
"tabLabel"=> "address",
"value" => "123 Main St.")
)
)
1

Другие решения

Других решений пока нет …