Last active
December 14, 2015 20:39
-
-
Save Ergin008/5145085 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Input your info: | |
$email = "***"; // your account email | |
$password = "***"; // your account password | |
$integratorKey = "***"; // your account integrator key, found on (Preferences -> API page) | |
$recipientName = "***"; // provide a recipient (signer) name | |
$templateId = "***"; // provide a valid templateId of a template in your account | |
$templateRoleName = "***"; // use same role name that exists on the template in the console | |
$clientUserId = "***"; // to add an embedded recipient you must set their clientUserId property in addition to | |
// the recipient name and email. Whatever you set the clientUserId to you must use the same | |
// value when requesting the sending URL | |
// construct the authentication header: | |
$header = "<DocuSignCredentials><Username>" . $email . "</Username><Password>" . $password . "</Password><IntegratorKey>" . $integratorKey . "</IntegratorKey></DocuSignCredentials>"; | |
///////////////////////////////////////////////////////////////////////////////////////////////// | |
// STEP 1 - Login (retrieves baseUrl and accountId) | |
///////////////////////////////////////////////////////////////////////////////////////////////// | |
$url = "https://demo.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 webservice, status is:" . $status; | |
exit(-1); | |
} | |
$response = json_decode($json_response, true); | |
$accountId = $response["loginAccounts"][0]["accountId"]; | |
$baseUrl = $response["loginAccounts"][0]["baseUrl"]; | |
curl_close($curl); | |
//--- display results | |
echo "accountId = " . $accountId . "\nbaseUrl = " . $baseUrl . "\n"; | |
///////////////////////////////////////////////////////////////////////////////////////////////// | |
// STEP 2 - Create an envelope with an Embedded recipient (uses the clientUserId property) | |
///////////////////////////////////////////////////////////////////////////////////////////////// | |
$data = array("accountId" => $accountId, | |
"emailSubject" => "DocuSign API - Embedded Sending Example", | |
"templateId" => $templateId, | |
"templateRoles" => array( | |
array( "roleName" => $templateRoleName, "email" => $email, "name" => $recipientName, "clientUserId" => $clientUserId )), | |
"status" => "created"); | |
$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 webservice, status is:" . $status . "\nerror text is --> "; | |
print_r($json_response); echo "\n"; | |
exit(-1); | |
} | |
$response = json_decode($json_response, true); | |
$envelopeId = $response["envelopeId"]; | |
curl_close($curl); | |
//--- display results | |
echo "Envelope created! Envelope ID: " . $envelopeId . "\n"; | |
///////////////////////////////////////////////////////////////////////////////////////////////// | |
// STEP 3 - Get the Embedded Sending View (aka the "tag-and-send" view) | |
///////////////////////////////////////////////////////////////////////////////////////////////// | |
$data = array("returnUrl" => "http://www.docusign.com/devcenter"); | |
$data_string = json_encode($data); | |
$curl = curl_init($baseUrl . "/envelopes/$envelopeId/views/sender" ); | |
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); | |
$response = json_decode($json_response, true); | |
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE); | |
if ( $status != 201 ) { | |
echo "error calling webservice, status is:" . $status . "\nerror text is --> "; | |
print_r($json_response); echo "\n"; | |
exit(-1); | |
} | |
$url = $response["url"]; | |
//--- display results | |
echo "Embedded URL is: \n\n" . $url . "\n\nNavigate to this URL to start the tag-and-send view of the envelope\n"; | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment