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); } ?>