This blog post has been superseded with our website documentation
credits
This document is referred to by the REST SMS Gateway API – Specification Document.
Resource URI:
http://api.textmarketer.co.uk/services/rest/credits
Actions on the account credits.
- GET method – get the number of credits currently available on your account
- POST method – transfer credits between accounts
GET
Get the number of credits currently available on your account.
Example usage
http://api.textmarketer.co.uk/services/rest/credits
Example GET response
<response processed_date="2010-03-19T15:19:33+00:00"> <credits>37</credits> </response>
Read the advanced specification of this response
.
Specific error codes
N/A
Example PHP code
<?php
/**
* GET request on the 'credits' resource
*/
$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);
}
?>
P
Transfer credits from the source/master account to the target/sub account.
Example usage
http://api.textmarketer.co.uk/services/rest/credits
Post arguments
| parameter | usage |
| quantity | the number of credits to transfer from the source account to the target account. Must be a positive integer. |
| target | the account number of the account to transfer the credits to (this can be found in the Settings > Account Settings page in the Web interface) |
| username | (optional) required if not using HTTP Digest authentication – this is the username of the source/master account |
| password | (optional) required if not using HTTP Digest authentication – this is the password of the source/master account |
or
OR you can specify the target account user name and password, rather than the target account number
| parameter | usage |
| quantity | the number of credits to transfer from the source account to the target account. Must be a positive integer. |
| target_username | this is the username of the target/sub account to transfer credits TO |
| target_password | this is the password of the target/sub account to transfer credits TO |
| username | (optional) required if not using HTTP Digest authentication – this is the username of the source/master account to transfer credits FROM |
| password | (optional) required if not using HTTP Digest authentication – this is the password of the source/master account to transfer credits FROM |
Example POST
Example POST response
<response processed_date="2010-03-23T10:31:39+00:00"> <source_credits_before>1000</source_credits_before> <source_credits_after>900</source_credits_after> <target_credits_before>0</target_credits_before> <target_credits_after>100</target_credits_after> </response>
Read the advanced specification of this response
.
Specific error codes
| Code | Meaning |
| 0 | there are insufficient credits available to transfer the specified quantity, or the specified quantity is not a positive number |
| 1 | the target account number specified is not a valid number or username/password combination does not refer to any known account |
Example XML
Example XML error response
<response processed_date="2010-03-24T14:37:41+00:00">
<errors>
<error code="0">Invalid number of credits specified: -1</error>
<error code="1">Invalid destination account number</error>
</errors>
</response>
Example PHP code
<?php
/**
* POST request on the 'credits' resource (credit transfer)
*/
$url = 'http://api.textmarketer.co.uk/services/rest/credits';
// uncomment for testing:
//$url = 'http://sandbox.textmarketer.biz/services/rest/credits';
$username = 'myAPIusername'; // CHANGE THIS!!! - the username of the account you're transferring FROM
$password = 'myAPIpassword'; // CHANGE THIS!!!
$targetAccountNumber = 0; // CHANGE THIS!!
$data = array('quantity'=>'1',
'target'=>$targetAccountNumber,
// or you could use the target username/password instead of 'target'
// 'target_username'=>$targetUserName, 'target_password'=>$targetPassword,
'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 "Source account credits before: $xml_obj->source_credits_before\n";
echo "Source account credits after: $xml_obj->source_credits_after\n";
echo "Target account credits before: $xml_obj->target_credits_before\n";
echo "Target account credits after: $xml_obj->target_credits_after\n";
} else {
// handle the error here
var_dump($responseInfo);
var_dump($responseBody);
}
?>