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

<?php // Example API calls for get and post for aBILLity sites // A generic function called CallAPI can be used to call relevant methods echo CallAPI("GET","site"); echo CallAPI("POST","site",array("CompanyId"=> 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