Below, find examples written in different programming languages to show how to use the Babelway REST API within your application. These are just starting points to build upon.
Java
Download the last 25 messages in ERROR. It requires using Apache Commons httpclient, codec and logging for HTTP calls and SAX for XML parsing
import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.UsernamePasswordCredentials; import org.apache.commons.httpclient.auth.AuthScope; import org.apache.commons.httpclient.methods.GetMethod; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class RESTClient { public static void main(String[] args) throws Exception { String baseUrl = "https://www.babelway.net/SelfService3/rest/v2/"; Long myHub = 0L; // You can find this on the My Account page String user = "";// the username you use to connect to Babelway String pwd = ""; // the password you use to connect to Babelway // Download the last 25 messages in ERROR String request = baseUrl "hub-" myHub "/messages.xml?status=ERROR"; HttpClient client = new HttpClient(); client.getState().setCredentials(AuthScope.ANY_REALM, "www.babelway.net", new UsernamePasswordCredentials(user, pwd)); GetMethod method = new GetMethod(request); // Send the request int statusCode = client.executeMethod(method); // read the result if (statusCode == 200) { InputStream rstream = null; rstream = method.getResponseBodyAsStream(); BufferedReader br = new BufferedReader(new InputStreamReader(rstream)); SAXParser sxp = SAXParserFactory.newInstance().newSAXParser(); sxp.parse(rstream, new SaxHandler()); } } private static final class SaxHandler extends DefaultHandler { // invoked when document-parsing is started: public void startDocument() throws SAXException { System.out.println("Document processing started"); } // notifies about finish of parsing: public void endDocument() throws SAXException { System.out.println("Document processing finished"); } // we enter to element 'qName': public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException { // Do your processing System.out.println("Element " qName); } // we leave element 'qName' without any actions: public void endElement(String uri, String localName, String qName) throws SAXException { // do nothing; } } }C#
using System; using System.Text; using System.Net; using System.IO; namespace RESTClient { class Program { static void Main(string[] args) { string baseURL = "https://www.babelway.net/SelfService3/rest/v2/"; long myHub = 0; // You can find this on the My Account page String user = "";// the username you use to connect to Babelway String pwd = ""; // the password you use to connect to Babelway // Download the last 25 messages in ERROR String request = baseURL "hub-" myHub "/messages.xml?status=ERROR"; HttpWebRequest webRequest = WebRequest.Create(request) as HttpWebRequest; // Add authentication to request webRequest.Credentials = new NetworkCredential(user, pwd); // Get Response HttpWebResponse response = webRequest.GetResponse() as HttpWebResponse; // Read the result if (webRequest.HaveResponse == true && response != null) { // Get the response stream StreamReader reader = new StreamReader(response.GetResponseStream()); // Console application output Console.WriteLine(reader.ReadToEnd()); } } } }
Python
This code snippet requires Python 2.6 or newer. No extra modules are required
import json import urllib2 base_url = "https://www.babelway.net/SelfService3/rest/v2/"; my_hub = 0 #You can find this on the My Account page user = "" #the username you use to connect to Babelway pwd = "" #the password you use to connect to Babelway request = "%shub-%s/messages.json" %(base_url, my_hub) # Create a pwd manager that handles any realm (default realm) pwd_manager = urllib2.HTTPPasswordMgrWithDefaultRealm() # Create the authentication handler, add the login/pwd to it auth_handler = urllib2.HTTPBasicAuthHandler(pwd_manager) auth_handler.add_password(None, request, user, pwd) # Build the URL Opener opener = urllib2.build_opener(auth_handler) urllib2.install_opener(opener) # Read and parse the JSON response try: f = urllib2.urlopen(request) print json.load(f) except urllib2.HTTPError as e: print ePHP
This code snippet requires PHP version 5.2.0 or newer. No extra modules are required.
$base_url = "https://www.babelway.net/SelfService3/rest/v2/"; $my_hub = 0; // You can find this on the My Account page : $user = ""; // the username you use to connect to Babelway $pwd = ""; // the password you use to connect to Babelway // Download all your tickets for the month of July 2010 $from = mktime(0, 0, 0, 7, 1, 2010); $to = mktime(23, 59, 59, 7, 31, 2010); // Generate the URL for the tickets: $url = $base_url . "hub-" . $my_hub . "/messages.json?since=" . $from . "&before=" . $to; // Make the REST query $context = stream_context_create(array( 'http' => array( 'method' => 'GET', 'header' => sprintf("Authorization: Basic %s\r\n", base64_encode($user.':'.$pwd))."\r\n", 'timeout' => 5, ), )); $content = file_get_contents($url, false, $context); // Decode the JSON $data = json_decode($content); // Display them echo ''; print_r($data); echo ''; ?>