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.

POSTVoert een actie uit, bijvoorbeeld het maken van een selectie.
PUTMaakt een nieuw record of update een bestaand record.
DELETEVerwijderd 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:


$selectMet komma's gescheiden welke velden je wilt ontvangen. Indien leeg ontvang je alle velden
$whereZie hieronder
$orderMet komma's gescheiden op welke velden je wilt sorteren.
$limitHoeveel records je wilt terugkrijgen.
$offsetVanaf 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:

eqGelijk aan
neNiet gelijk aan
ltKleiner dan
gtGroter dan
sw (alleen strings)Begint met
ew (alleen strings)Eindigt met
co (alleen strings)Bevat