A PHP based example on how to generate an API Key request token and redirect the user

  1. <pre>
  2. <?php
  3. /* In this demonstration we will be demonstrating how to authorize your application to use a TotalSend user's account */
  4.  
  5. require_once("../../php/panacea_api.php"); // Let's just include the Panacea Api class (downloadable at http://www.panaceamobile.com/developers/sample-code/php/)
  6. $api = new PanaceaApi();
  7.  
  8. /* First, we need to contact TotalSend servers in order to let them know that we will be sending a user to them for authorization */
  9.  
  10. $application_name = "My Application";
  11.  
  12. /**
  13.  * If needed, after the application has been authorized, TotalSend can redirect the user to a success page or failed page on your server
  14.  *
  15.  * If these values are not specified, the user will just be given the option to close the window (for use on Mobile phones for example)
  16.  *
  17.  * An HTTP GET variable 'request_key' will be appended to this URL for tracking purposes
  18.  *
  19.  */
  20.  
  21. $return_url = "http://smsapi.totalsend.com/examples/demos/api_key_creation/step2.php";
  22. $icon_url = null; /* A URL containing an icon to make your application easily identifiable to the user (optional) */
  23.  
  24. $request_key = $api->user_authorize_application($application_name, $icon_url, $return_url);
  25.  
  26. if($api->ok($request_key)) {
  27.     /* We have a request key to use */
  28.  
  29.     /* We are going to store the request key in a session for simplicity */
  30.  
  31.     $_SESSION['api_request_key'] = $request_key['details']['request_key'];
  32.  
  33.     /* Now we must present the user with the authorization page for TotalSend to allow this user to authorize our application */
  34.  
  35.     echo "<a href='".htmlspecialchars($request_key['details']['authorize_url'])."'>authorize now with TotalSend</a>";
  36.     exit(0);
  37. }
  38.  
  39. echo "Unable to generate request key";
  40.  
  41.  
  42.  
  43.  
  44. ?>
  45. </pre>