This blog post has been superseded with our website documentation
In our REST API specification document we saw, in general terms, how to make a request to our REST SMS API and how to deal with the response. Here we provide you with some more concrete examples that you can copy & paste!
NOTE: You will want to add additional error checking to the examples below.
In each of the languages used here we create a request, send it, receive the response, and parse its contents.
PHP
Example for getting the number of credits:
$url = 'http://api.textmarketer.co.uk/services/rest/credits'; $username = 'myAPIusername'; // CHANGE THIS!!! $password = 'myAPIpassword'; // CHANGE THIS!!! $url = "$url?username=$username&password=$password"; // we're using the curl library to make the request $curlHandle = curl_init(); curl_setopt($curlHandle, CURLOPT_URL, $url); curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, true); $responseBody = curl_exec($curlHandle); $responseInfo = curl_getinfo($curlHandle); curl_close($curlHandle); // deal with the response if ($responseInfo['http_code']==200) { $xml_obj = simplexml_load_string($responseBody); $credits = (int) $xml_obj->credits; // do something with the result echo $credits; } else { // handle the error var_dump($responseBody); }
Example for getting the list of delivery reports:
$url = 'http://api.textmarketer.co.uk/services/rest/deliveryReports'; $username = 'myAPIusername'; // CHANGE THIS!!! $password = 'myAPIpassword'; // CHANGE THIS!!! $url = "$url?username=$username&password=$password"; // we're using the curl library to make the request $curlHandle = curl_init(); curl_setopt($curlHandle, CURLOPT_URL, $url); curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, true); $responseBody = curl_exec($curlHandle); $responseInfo = curl_getinfo($curlHandle); curl_close($curlHandle); // deal with the response if ($responseInfo['http_code']==200) { $xml_obj = simplexml_load_string($responseBody); $atts = $xml_obj->reports->attributes(); $num_reports = (int) $atts->quantity; if ($num_reports > 0) { echo "$num_reports reports\n"; $reports = array(); foreach ($xml_obj->reports->report as $xml_report) { $atts = $xml_report->attributes(); $name = (string) $atts->name; $updated = (string) $atts->last_updated; $reports[] = array('name'=>$name, 'modified'=>$updated); } // do something with the report details var_dump($reports); } else { echo 'No reports available'; } } else { // handle the error var_dump($responseBody); }
Example for getting the details of a particular delivery report:
// TODO the URL will change according to the delivery report to retrieve... $url = 'http://api.textmarketer.co.uk/services/rest/deliveryReport/GatewayAPI_09-02-10'; $username = 'myAPIusername'; // CHANGE THIS!!! $password = 'myAPIpassword'; // CHANGE THIS!!! $url = "$url?username=$username&password=$password"; // we're using the curl library to make the request $curlHandle = curl_init(); curl_setopt($curlHandle, CURLOPT_URL, $url); curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, true); $responseBody = curl_exec($curlHandle); $responseInfo = curl_getinfo($curlHandle); curl_close($curlHandle); // deal with the response if ($responseInfo['http_code']==200) { $xml_obj = simplexml_load_string($responseBody); $reportRows = array(); foreach ($xml_obj->report->reportrow as $xml_reportRow) { $atts = $xml_reportRow->attributes(); $mobile = (string) $atts->mobile_number; $updated = (string) $atts->last_updated; $msgID = (int) $atts->message_id; $status = (string) $atts->status; $reports[] = array('mobile'=>$mobile, 'modified'=>$updated, 'messageID'=>$msgID, 'status'=>$status); } // do something with the report details var_dump($reports); } else { // handle the error var_dump($responseBody); }
Example for sending an SMS:
$url = 'http://api.textmarketer.co.uk/services/rest/sms'; $username = 'myAPIusername'; // CHANGE THIS!!! $password = 'myAPIpassword'; // CHANGE THIS!!! $data = array('message'=>'hello','mobile_number'=>'447777777777', 'originator'=>'me', 'username'=>$username, 'password'=>$password); $data = http_build_query($data, '', '&'); // we're using the curl library to make the request $curlHandle = curl_init(); curl_setopt($curlHandle, CURLOPT_URL, $url); curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, true); curl_setopt($curlHandle, CURLOPT_POSTFIELDS, $data); curl_setopt($curlHandle, CURLOPT_POST, 1); $responseBody = curl_exec($curlHandle); $responseInfo = curl_getinfo($curlHandle); curl_close($curlHandle); // deal with the response if ($responseInfo['http_code']==200) { $xml_obj = simplexml_load_string($responseBody); // do something with the result echo "Message ID: $xml_obj->message_id\n"; echo "Credits used: $xml_obj->credits_used\n"; var_dump($responseBody); } else { // handle the error var_dump($responseInfo); var_dump($responseBody); }
Example for transferring credits:
?>
For more details on creating REST requests in PHP, see here.