Showing posts with label CURL. Show all posts
Showing posts with label CURL. Show all posts

Tuesday, May 6, 2014

FuseDesk API Integration

FuseDesk PHP API Integration Class Wrapper.
Use the cases method to add, find and update cases.
see full documentation: https://fusedesk.com/help/api/cases/

Source Code:
<?php
class fusedesk_api
{
 public $fusedeskAppName = 'XXXXXXXX'; // Your fusedesk app name
 public $fusedeskApiKey  = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // Your fusedesk api key
 
 function _newcase($params)
 {
  $err = array();
  
  $args['repid']  = (!empty($params['repid']) ? $params['repid'] : ''); 
  $args['contactid']  = (!empty($params['contactid']) ? $params['contactid']: '');
  $args['status']  = (!empty($params['status']) ? $params['status']: '');
  $args['companyid']  = (!empty($params['companyid']) ? $params['companyid']: '');
  $args['date_assigned']  = (!empty($params['date_assigned']) ? $params['date_assigned']: '');
  $args['date_opened']  = (!empty($params['date_opened']) ? $params['date_opened']: '');
  $args['companyid']  = (!empty($params['companyid']) ? $params['companyid']: '');
  
  date_default_timezone_set('Australia/Sydney');
  $args['date_updated']  = date('Y-m-d H:i:s',time());  
  
  if(!empty($params['email'])){
   $args['email']      = $params['email']; 
  }
  
  if(!empty($params['depid'])){
   $args['depid']   = $params['depid'];   
  }else{
   $err[] = 'depid';
  }
  
  if(!empty($params['summary'])){
   $args['summary']  = $params['summary'];    
  }else{
   $err[] = 'summary';
  }

  if(!empty($params['details'])){
   $args['details']  = $params['details'];  
  }else{
   $err[] = 'details';
  }
  
  if(!empty($params['openedby'])){
   $args['openedby']  = $params['openedby']; 
  }else{
   $err[] = 'openedby';
  }

  if(empty($err)){
   $results =  json_encode($this->_apicall("/cases/", $args, 'POST'));
  }else{
   $results = json_encode(array('error' => 'Invalid submission! Please refresh the page and try again.'));
  }
  
  return $results;
 }
 
 function _apicall( $url, $args = array(), $type = 'GET' )
 {
     $fullurl = 'https://'.$this->fusedeskAppName.'.fusedesk.com/api/v1'.$url; 
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $fullurl);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FuseDesk-API-Key: '.$this->fusedeskApiKey));

     if($type == 'POST') {
         curl_setopt($ch, CURLOPT_POST, true);
         curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
     } else {
         curl_setopt($ch, CURLOPT_URL, $fullurl.'?'.http_build_query($args));
     }
 
  $result = json_decode(curl_exec($ch));
  curl_close($ch);
  
     return $result;
 }
}
?>

Sample Code:

<?php
$params['repid']   = (int) 1;
$params['depid']   = (int) 001;
$params['summary'] = 'Test API summary';
$params['details'] = 'Test API details';
$params['openedby'] = 'Juan Dela Cruz';

$payload = new fusedesk_api();
$cases = $payload->_newcase($params);
print_r($cases);

?>

Wednesday, April 30, 2014

Send SMS PHP Integration Using Twilio API

This sample source code is a simple PHP Integration which uses Twilio API.

Get Your API ACCOUNT SID and AUTH TOKEN 
http://www.twilio.com/user/account/

Source Code
<?php

   require_once 'Services/Twilio.php';

   define('ACCOUNT_SID', '<YOUR-ACCOUNT-SID>');  
   define('AUTH_TOKEN', '<YOUR-AUTH-TOKEN>');  
   
   $client = new Services_Twilio(ACCOUNT_SID, AUTH_TOKEN);
   
   /* Send an SMS */
   
   $twilioNumber = "XXX-XXX-XXXX";  /* Twilio number that you've purchased*/
   $mobilePhoneNumber = "+63XXXXXXXXXXX"; /* the number you are sending */
   
   $artist = "Juan Dela Cruz";
   $message = "Rock N Roll!. - {$artist}";
   
   $sendSMS = $client->account->sms_messages->create($twilioNumber , $mobilePhoneNumber , $message );
   
   /* Response */
   echo $sendSMS->sid;
   
  
?>
   

Simple Google URL Shortener PHP Class Wrapper

This is a simple PHP Class Wrapper using Google API URL

<?php

class GoogleUrlShortener 
{
        public $endPoint = 'https://www.googleapis.com/urlshortener/v1/url';
        public $key      = 'YOUR_GOOGLE_API_KEY';
        
        /* Shorten a long URL */
        function shorten($url)
        {
            $data = $this->execute($url,1);
            
            if(isset($data['id'])){
                    $result = $data['id'];
                }else{
                    $result = FALSE;
            }
            
            return $result;
        }
        
        /* Expand a short URL */
        function expand($url) 
        {
            $data = $this->execute($url,0);
            
            if(isset($data['longUrl'])){
                    $result = $data['longUrl'];
                }else{
                    $result = FALSE;
            }
            
            return $result;
        }
        
        /* Send Request to Google */
        function execute($url,$status) 
        {
            $curl           = curl_init();
            $googleApiUrl   = $this->endPoint.'?key='.$this->key;
            
            if($status == 1) {
                    curl_setopt($curl,CURLOPT_URL,$googleApiUrl);
                    curl_setopt($curl,CURLOPT_POST,1);
                    curl_setopt($curl,CURLOPT_POSTFIELDS,json_encode(array("longUrl"=>$url)));
                    curl_setopt($curl,CURLOPT_HTTPHEADER,array("Content-Type: application/json"));
                }else {
                    curl_setopt($curl,CURLOPT_URL,$googleApiUrl.'&shortUrl='.$url);
            }
            
            curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
            $res = curl_exec($curl);
            curl_close($curl);
            
            return json_decode($res,true);
        }    
}

Examples
  • Shorten URL
<?php

$shorten_my_url = new GoogleUrlShortener();
echo $shorten_my_url->shorten("http://wpmigrator.wordpress.com");
output : http://goo.gl/MZ4bW
  • Expand URL
<?php

$expand_my_url = new GoogleUrlShortener();
echo $expand_my_url->expand("http://goo.gl/MZ4bW");
output : http://wpmigrator.wordpress.com
Genesis Framework for WordPress