Samples
This page contains examples of how to call the API methods for a number of different programming languages.
Python
### Example API calls for get post and put for aBILLity sites (Python 2.7)
### Depends on the requests module available from https://pypi.python.org/pypi/requests
import requests
class aBILLity_API():
def __init__(self):
self.authentication = {'SystemInformation':'SYSTEM',
'username':'USERNAME',
'password':'PASSWORD'}
self.uri = "https://api.abillity.co.uk/api/"
def get_site(self):
url = self.uri + 'site'
response = requests.get(url,headers=self.authentication)
print response.content
def post_site(self):
url = self.uri + 'site'
response = requests.post(url,headers=self.authentication)
data = {"CompanyId": 1,
"ShortName": "sample string"}
response = requests.post(url,headers=self.authentication,data=data)
print response.content
def put_site(self):
url = url = self.uri + 'site/157'
response = requests.post(url,headers=self.authentication)
data = {"SiteName": "sample string 1",
"ShortName": "sample string 2",
"Address": "sample string 3",
"Town": "sample string 4",
"County": "sample string 5",
"PostCode": "sample string 6",
"Fax": "sample string 7",
"Telephone": "sample string 8"}
response = requests.put(url,headers=self.authentication,data=data)
print response.content
PHP
1, "ShortName"=> "sample string 6"));
function CallAPI($method, $url, $data = false)
{
$url = "https://api.abillity.co.uk/api/".$url;
$curl = curl_init();
curl_setopt($curl,CURLOPT_HTTPHEADER,array('username:USERNAME',
'password:PASSWORD',
'SystemInformation:SYSTEM',
'Content-Type: application/json'));
$json = json_encode($data);
switch ($method)
{
case "POST":
curl_setopt($curl, CURLOPT_POST, 1);
if ($data)
curl_setopt($curl, CURLOPT_POSTFIELDS, $json);
break;
case "PUT":
curl_setopt($curl, CURLOPT_PUT, 1);
break;
default:
if ($data)
$url = sprintf("%s?%s", $url, http_build_query($data));
}
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
curl_close($curl);
return $result;
}?>
C#
// Example API call to get aBILLity sites
//using System;
//using System.Net.Http;
//using System.Net.Http.Headers;
var URL = "https://api.abillity.co.uk/api/";
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(URL + "site"); //making a site request
// Add an Accept header for JSON format.
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
//Authentication headers
client.DefaultRequestHeaders.Add("SystemInformation", "SYSTEM");
client.DefaultRequestHeaders.Add("username", "USERNAME");
client.DefaultRequestHeaders.Add("password", "PASSWORD");
// List data response.
HttpResponseMessage response = client.GetAsync(client.BaseAddress).Result;
if (response.IsSuccessStatusCode)
{
var dataObjects = response.Content.ReadAsStringAsync().Result;
//use dataObjects here
}
else
{
Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase);
}
JQuery/Ajax
// Example API calls for get for aBILLity sites
$(document).ready(function() {
$.ajax({
url: "https://api.abillity.co.uk/api/site",
type: 'GET',
dataType: 'json',
beforeSend: function(xhr){xhr.setRequestHeader('SystemInformation', 'SYSTEM');
xhr.setRequestHeader('username', 'USERNAME');
xhr.setRequestHeader('password', 'PASSWORD');},
}).then(function(data) {
//consume the data here
});
});
Visual Basic for Applications (VBA)
'Example API calls for get for aBILLity sites
Sub CallRESTAPI()
Dim restReq As XMLHTTP60, url
Set restReq = CreateObject("Microsoft.XMLHTTP")
url = "https://api.abillity.co.uk/api/site"
'Authentication
restReq.Open "GET", url, False
restReq.setRequestHeader "SystemInformation", "SYSTEM"
restReq.setRequestHeader "username", "USERNAME"
restReq.setRequestHeader "password", "PASSWORD"
restReq.send
'Read response
MsgBox (restReq.responseText)
End Sub