Inleiding

Er is een REST API beschikbaar van GO. Via de API kan de database uitgelezen worden. Dit kun je bijvoorbeeld gebruiken om andere systemen aan GO te koppelen. Meer informatie hierover vind je op: https://srv5.automaat.online/swagger/


Naast de REST API zijn er ook een aparte API's om voor de planning en om artikelen op te halen en eventueel bestellingen door te sturen.


Note: Supportvragen over de API kun je stellen via email via [email protected]


Let op: De API heeft een rate-limit. Je kunt max. 1800 requests per minuut sturen. Hierna krijg je een HTTP statuscode 429 terug. Wanneer er meer dan 2000 requests gedaan worden, wordt het IP-adres geblokkeerd.




REST API

Verbinding maken

De verbinding loopt via HTTPS op poort 443. De volgende request methods zijn mogelijk:

GET

Haalt de gegevens op.

PUT

Maakt een nieuw record of update een bestaand record.

PRINT

Haalt een PDF op van het meegegeven document.

DELETE

Verwijderd het geselecteerde record.


Authenticatie

Authenticatie wordt gedaan via een API-key. Deze kun je in GO aanmaken als je links-onderin naar het tandwieltje gaat. Instellingen > Beveiligingen > tabblad 'API-keys'. Hier vind je ook met welke server je moet verbinden.


PHP Voorbeeld

$apiKey = '00000-0000000-000000-0000'; 
$serverUrl = 'https://srv?.automaat.online/api/v2/'; 

$headers = array(); 
$headers[] = 'Content-Type: application/json'; 
$headers[] = 'Authorization: apikey ' . $apiKey; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $serverUrl . "customer/1"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
$data = json_decode(curl_exec($ch)); 
curl_close($ch);




Artikelen

Artikelen ophalen

https://srv3.automaat.online/articles/ga.php?output=table

output: plain, json, xml, table, waarbij plain het snelste is.
count: aantal artikelen op te halen
pictures: 1 als je de afbeeldingen ook op wilt halen
from: het laatst opgehaalde ID
fromdate: haalt de artikelen op die geupdate zijn na die datum

Foto's kun je ophalen met:
https://srv3.automaat.online/articles/ga.php?output=picture&articleId=31&index=1


Actuele voorraad ophalen - bestelling inschieten

Via een XML-aanroep kun je eenvoudig de huidige voorraad van 1 of meerdere artikelen ophalen en deze vervolgens ook bestellen. In dit XML-bericht kun je dan <Type>Query</Type> eenvoudig aanpassen naar Order.


Je kunt via hier het bericht bekijken en een test-aanvraag sturen: http://srv3.automaat.online/articles/test.php?apikey=

Hier vind je ook hoe de XML eruit hoort te zien.




Planning

In plaats van de standaard online planningsmodule, kun je ook zelf een planningsmodule maken. Je kunt hiervoor de plan-informatie (beschikbaarheid en plansoorten) ophalen en na afloop de planningsaanvraag inschieten.


Let op: voor de planning gebruik je geen API-key!


Planinformatie ophalen

De planinformatie kun je (als json-bericht) ophalen via: https://srv0.automaat.online/planning/planning.php?cdkey=CSW-1707908&aid=0&action=settings



Planningsaanvraag inschieten

De planaanvraag kun je inschieten met een POST naar:

https://srv0.automaat.online/planning/planning.php?cdkey=CSW-1707908&aid=0&action=save


Met de volgende velden:

license: kenteken

mileage: km. stand

vv: soort vervangend vervoer

date: datum (yyyy-mm-dd hh:MM)

todo: wat te doen

plantype: plansoort (vanuit planinformatie)

apk: true of false

name: naam

phone: telefoonnummer

email: emailadres

remarks: eventueel commentaar


Indien het een huidige klant is kun je ook de volgende velden meegeven:

oid: offerte-id

kid: klanten-id

aid: auto-id