Я работаю над проектом, в котором мне нужно использовать 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");
Вам нужно использовать textTabs
введите свой JSON, а не customFields
который используется для чего-то еще. Например, если вы перетащите поле данных из пользовательского интерфейса на документ и дадите ему имя address
, чтобы предварительно заполнить это поле, вам нужно сослаться на это tabLabel
и значения полей, как это:
"roleName" => "signer",
"tabs" => array(
"textTabs" => array(
array(
"tabLabel"=> "address",
"value" => "123 Main St.")
)
)
Других решений пока нет …