Gegevens kunnen worden opgehaald via de standaard GET
-methode van HTTP.
Je kan bijvoorbeeld eenvoudig volgende URL in een browser invoeren om een lijst van klanten te verkrijgen in XML-formaat:
- /api/v1/clients
Een ander voorbeeld:
- /api/v1/invoices/1001/payments
Deze URL retourneert een lijst met alle betalingen van factuur 1001.
Formaat van de response
Het formaat van het antwoord bepaal je op één van twee manieren:
- via de Accept-header in de aanvraag, bijvoorbeeld: Accept: application/json
- of via een format-parameter in de querystring, bijvoorbeeld: ?format=json
Ondersteunde formaten
- xml (standaard)
- json
- csv (bruikbaar in Excel)
- html (tabelweergave)
Voorbeelden
Ophalen gegevens via curl:
curl -X GET "https://eenvoudigfactureren.be/api/v1/clients" \ -H "X-API-Key: your_api_key_here" \ -H "Content-Type: application/json" \ -H "Accept: application/json"
Ophalen gegevens in JavaScript:
fetch("https://eenvoudigfactureren.be/api/v1/clients", { method: "GET", headers: { "X-API-Key": "your_api_key_here", "Content-Type": "application/json", "Accept": "application/json" } }) .then(async response => { const contentType = response.headers.get("Content-Type"); const isJson = contentType && contentType.includes("application/json"); const data = isJson ? await response.json() : await response.text(); if (!response.ok) { // HTTP-fout (zoals 400, 403, 500, ...) throw new Error(data.error || data || `Request failed with status ${response.status}`); } console.log(data); }) .catch(error => { console.error("Error:", error.message); });
Ophalen gegevens in PHP:
$p = curl_init('https://eenvoudigfactureren.be/api/v1/clients'); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET"); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "X-API-Key: your_api_key_here", "Content-Type: application/json", "Accept: application/json" ]); curl_setopt($p, CURLOPT_RETURNTRANSFER, TRUE); $response = curl_exec($p); if (curl_errno($ch)) { echo 'Error:' . curl_error($ch); } else { echo $response; } curl_close($p);
Foutmeldingen
Indien je een verkeerde URL opgeeft omdat bijvoorbeeld de gevraagde klant niet bestaat dan krijg je als response ook een JSON (of het gevraagde formaat) terug met de reden van de fout.
Vraagt je bijvoorbeeld de gegevens aan voor de onbestaande klant met ID 1001 met URL /api/v1/clients/1001 dan krijg je terug:
{ "error": "client_id unknown" }