Я использую встроенный API Docusign для встраивания документа для подписи. Я сохраняю имя, фамилию и адрес электронной почты в СЕССИИ из формы ранее. Я попытался изменить адрес электронной почты в templateRoles на адрес электронной почты, который хранится в СЕССИИ из формы, но я либо обнаружил тайм-аут, либо получаю сообщение об ошибке, что адрес электронной почты неверный:
"templateRoles" => array(
array( "roleName" => $templateRoleName, "email" => $email, "name" => $recipientName, "clientUserId" => $clientUserId )),
Я использую PHP. Любая помощь приветствуется. Мне нужно отправить электронное письмо встроенному подписавшему с заполненной формой, если это возможно, после завершения подписания.
Спасибо!
РЕДАКТИРОВАТЬ Полный звонок
session_start();
$results = array();
foreach($_SESSION['forms'] as $row){
$results[] = $row;
}
$first_name = $results[0];
$last_name = $results[1];
$email2 = $results[2];
/////////////////////////////////////////////////////////////////////////////////////////////////
// STEP 1 - Login (retrieves baseUrl and accountId)
/////////////////////////////////////////////////////////////////////////////////////////////////
$url = "https://www.docusign.net/restapi/v2/login_information";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("X-DocuSign-Authentication: $header"));$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);if ( $status != 200 ) {
echo "error calling (condition 1) webservice, status is:" . $status;
exit(-1);
}
$response = json_decode($json_response, true);
$accountId = $response["loginAccounts"][0]["accountId"];
$baseUrl = $response["loginAccounts"][0]["baseUrl"];
$headers = curl_getinfo($curl, CURLINFO_HEADER_OUT);
curl_close($curl);/////////////////////////////////////////////////////////////////////////////////////////////////
// STEP 2 - Create an envelope with an Embedded recipient (uses the clientUserId property)
/////////////////////////////////////////////////////////////////////////////////////////////////
$data = array("accountId" => $accountId,
"emailSubject" => "Document",
"templateId" => $templateId,
"templateRoles" => array(
array( "roleName" => $templateRoleName, "email" => $email2, "name" => $recipientName, "clientUserId" => $clientUserId )),
"status" => "sent");
$data_string = json_encode($data);
$curl = curl_init($baseUrl . "/envelopes" );
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string),
"X-DocuSign-Authentication: $header" )
);$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ( $status != 201 ) {
echo "error calling (condition 2) webservice, status is:" . $status . "<br>\nerror text is --> ";
print_r($json_response); echo "<br>\n";
exit(-1);
}
$headers = curl_getinfo($curl, CURLINFO_HEADER_OUT);
$response = json_decode($json_response, true);
$envelopeId = $response["envelopeId"];
curl_close($curl);/////////////////////////////////////////////////////////////////////////////////////////////////
// STEP 3 - Get the Embedded Signing View
/////////////////////////////////////////////////////////////////////////////////////////////////
$data = array("returnUrl" => "http://www.theURL.com/docusign/thank-you",
"authenticationMethod" => "None", "email" => $email,
"userName" => $recipientName, "clientUserId" => $clientUserId
);
$data_string = json_encode($data);
$curl = curl_init($baseUrl . "/envelopes/$envelopeId/views/recipient" );
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string),
"X-DocuSign-Authentication: $header" )
);$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ( $status != 201 ) {
echo "error calling webservice (condition 3), status is:" . $status . "\nerror text is --> ";
print_r($json_response); echo "\n";
exit(-1);
}
$headers = curl_getinfo($curl, CURLINFO_HEADER_OUT);
$response = json_decode($json_response, true);
$url = $response["url"];
if ( $detect->isMobile() ) {
echo "<p style='color:white;'>Click to Sign the Consent Form on your mobile device:</p>";
echo "<a href='$url' style='width:100%; padding: 10px 20px; border: 3px solid white; color: white;'>Sign eConsent Form</a>";
} else {
echo "<iframe src='$url' style='width:100%; height:100%; min-height: 800px;overflow:scroll;'></iframe>";
}
Авторизация находится в другом файле с templateID, адресом электронной почты и паролем, clientID и т. Д.
Вы захотите включить настройку в своей учетной записи, когда войдете в систему как администратор.
Настройки> Функции> Использовать электронную почту с конвертами для (не подавленных) встроенных подписантов
Других решений пока нет …