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/
Supportvragen over de API kun je stellen via email via apisupport@csw.nl
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.
Methodes
De verbinding loopt via HTTPS op poort 443. De volgende request methods zijn mogelijk:
GET | Haalt de gegevens op. |
POST | Voert een actie uit, bijvoorbeeld het maken van een selectie. |
PUT | Maakt een nieuw record of update een bestaand record. |
DELETE | Verwijderd het geselecteerde record. |
Werking
Voor elk item-soort is een een enkel object en een list-object, bijvoorbeeld:
/customer/123 | Haal de customer op met ID 123 |
/customers | Haal alle customers op |
Indien je een nieuw item wilt toevoegen gebruik je hiervoor ID 0. Hierbij doe je dus een PUT naar: /customer/0.
Wanneer je een PUT doet krijg je altijd het complete aangemaakte record terug, met daarin dus ook het ID van het nieuwe item.
Let op: sommige objecten maken gebruik van boekjaren. Deze dien je ook in de url mee te geven, bijvoorbeeld:
/ledger//2025/123 | Haal de grootboekrekening uit 2025 op met ID 123 |
/ledgers/2025 | Haal alle grootboekrekeningen op uit 2025 |
Filteren via OData
Je kunt in de list-objecten ook filteren via OData. Hierbij bestaan de volgende variabelen:
$select | Met komma's gescheiden welke velden je wilt ontvangen. Indien leeg ontvang je alle velden |
$where | Zie hieronder |
$order | Met komma's gescheiden op welke velden je wilt sorteren. |
$limit | Hoeveel records je wilt terugkrijgen. |
$offset | Vanaf welk recordnummer je wilt terugkrijgen. |
Let bij OData wel op je encoding. Het beste werkt (als voorbeeld in PHP):
$url = 'customers?$where=' . rawurlencode('customerNumber eq 1024');
Filter met $where
Hiermee kun je filteren op inhoud, bijvoorbeeld:
customers?$where=customerNumber eq 1024
Hier krijg je de klanten terug met dit klantnummer. Je krijgt altijd een array terug, ook als er 1 item is gevonden.
De volgende operators zijn mogelijk:
eq | Gelijk aan |
ne | Niet gelijk aan |
lt | Kleiner dan |
gt | Groter dan |
sw (alleen strings) | Begint met |
ew (alleen strings) | Eindigt met |
co (alleen strings) | Bevat |