Instructie
Moeilijkheidsgraad:
Algemene API informatie
Voorbeelden en uitleg over het gebruik van de API
Het is verstandig de request te testen in bijvoorbeeld de RESTClient Extentie in de Mozille webbrowser.
De API request gaat gepaard met een Content-Type header met waarde application/json.
Content-Type: application/json
Indien authenticatie bij de request moet worden meegezonden kun je kiezen voor Basic of oAuth.
Authorization: Basic GECODEERDEINFOkbdfgdfgWlu
Curl voorbeeld met Content-Type en Basic login headers
curl -X GET -k -H 'Content-Type: application/json' -H 'Authorization: Basic GECODEERDEINFOkbdfgdfgWlu' -i 'https://{domein}.i-reserve.net/api/rest/booking/current/'
Javascript voorbeeld
function fetchFeed() { var xhrRq = new XMLHttpRequest(); xhrRq.open('GET', 'https://domein.i-reserve.net/api/rest/bookingfilter?columns=CUST_COMP_NAME,COMP_NAME,OBJ_DESC,OBJ_LONG_DESC,OBJ_TXT_CUSTOM02,RES_CUSTOM03,RES_CUSTOM04,RES_FROMDATE,RES_FROMTIME,RES_TILTIME&search=startdatum >= "-1d"', true); xhrRq.setRequestHeader("Content-type", "application/json"); xhrRq.setRequestHeader("Authorization", "Basic " + btoa("API_loginnaam:API_wachtwoord")); xhrRq.send(); xhrRq.onload = function () { var response = JSON.parse(xhrRq.response); displayfeed(response) } xhrRq.onerror = function (e) { console.log("error event: "); console.log(e);} xhrRq.onabort = function (e) { console.log("abort event: "); } setTimeout(fetchFeed, 900000); //fetch new feed every 15 minutes } var maincontent = document.getElementById("maincontent"); function displayfeed(feeds) { var d = new Date(); var today = d.getFullYear()+'-'+('0' + (d.getMonth()+1)).slice(-2)+'-'+('0' + d.getDate()).slice(-2) ; var time_in_sec = Number(d.getHours()*60*60) + Number(d.getMinutes()*60) + Number(d.getSeconds()); addcontent=''; for (var i = 0; i < feeds.length; i++) { addcontent += "<div class='meeting"; if (today == feeds[i].RES_FROMDATE_raw && (feeds[i].RES_FROMTIME_raw<=time_in_sec && feeds[i].RES_TILTIME_raw>=time_in_sec) ){ addcontent +=" active"; } addcontent += "'><img src=\"https://domein.i-reserve.net/site/assets/files/image.png\"/><h1>" + feeds[i].COMP_NAME + " - " + feeds[i].OBJ_LONG_DESC + "</h1>"; addcontent += "<b>" + feeds[i].RES_FROMDATE + "<br/>" + feeds[i].RES_FROMTIME + " tot " + feeds[i].RES_TILTIME + " uur</b></div><br/>"; } maincontent.innerHTML=addcontent; }