Koppelingen & API

Koppel Stallingo makkelijk aan alles wat je al gebruikt

Je website, je boekhouding, je slagboom of je eigen Excel-rapportage: met de Stallingo API haal je gegevens op en zet je ze weg, veilig en met precies de rechten die jij bepaalt. Je maakt zelf een API-key aan — geen ticket, geen wachttijd.

curl https://stallingo.nl/api/mij -H "Authorization: Bearer sk_live_…"
# → { "data": { "stalling": "Stalling Flevoland", "via": "api-key", "scopes": ["klanten:lezen", …] } }

Zelf een key aanmaken

Als eigenaar maak je in Instellingen → API-koppelingen binnen een minuut een key aan. Geen aanvraag, geen wachttijd.

Scoped: alleen wat nodig is

Per key kies je exact welke rechten gelden: bijvoorbeeld alleen klanten lezen, of alleen afspraken aanmaken. Intrekken kan altijd met één klik.

Gewoon REST + JSON

Dezelfde API die onze eigen app gebruikt. Werkt met elke taal en met tools als Zapier, Make, n8n of Power Automate.

Wat kun je ermee?

Koppelingen die stallingen dagelijks gebruiken

Inschrijfformulier op je eigen website

Nieuwe klanten melden zich aan op jouw site en verschijnen direct op de wachtlijst in Stallingo — inclusief objecttype en lengte.

Boekhouding automatisch bij

Verzonden en betaalde facturen ophalen en doorzetten naar Exact, Moneybird, e-Boekhouden of SnelStart.

Toegang en slagboom

Controleer bij de poort of een kenteken bij een klant met een geplande haal-afspraak hoort.

Eigen dashboards

Bezetting per loods, omzet en openstaande posten in Power BI, Google Sheets of je eigen rapportage.

Afspraken vanuit je planning

Plan haal- en brengafspraken vanuit een extern planbord; de klant krijgt automatisch een bevestiging per e-mail.

Meerdere vestigingen

Consolideer gegevens van al je locaties in één overzicht, met per vestiging een eigen key.

Zo werkt het

In drie stappen gekoppeld

  1. 1

    Maak een API-key aan

    Ga naar Instellingen → API-koppelingen, geef de key een naam en vink de scopes aan die de koppeling nodig heeft.

  2. 2

    Stuur de key mee als Bearer-token

    Elke aanvraag krijgt een header Authorization: Bearer sk_live_… . Test direct met GET /api/mij.

  3. 3

    Lees en schrijf via JSON

    Gebruik de endpoints hieronder. Wat je via de API doet, zie je meteen terug in de app — en andersom.

Documentatie

API-referentie

Alle endpoints spreken JSON en zitten onder de basis-URL hieronder. Antwoorden hebben de vorm { data: … }; fouten de vorm { error, message, details }.

Basis-URLhttps://stallingo.nl/api

Authenticatie

Stuur je API-key mee in de Authorization-header als Bearer-token. Keys beginnen met sk_live_ en zijn gekoppeld aan één stalling. Bewaar ze als geheim (nooit in frontend-code of in een repository). Een ingetrokken of verlopen key geeft 401.

Authorization: Bearer sk_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Scopes

Elke key heeft een set scopes. Een aanvraag naar een endpoint waarvoor de key geen scope heeft, geeft 403 met de ontbrekende scope in de melding. Gebruikers- en instellingenbeheer is bewust nooit via de API beschikbaar.

klanten:lezenKlanten lezen
klanten:schrijvenKlanten aanmaken en wijzigen
objecten:lezenObjecten lezen
objecten:schrijvenObjecten aanmaken en wijzigen
afspraken:lezenHaal-/brengafspraken lezen
afspraken:schrijvenHaal-/brengafspraken aanmaken en wijzigen
plekken:lezenLoodsen en rijen lezen
plekken:schrijvenLoodsen en rijen aanmaken en wijzigen
facturen:lezenFacturen lezen
facturen:schrijvenFacturen aanmaken en wijzigen
contracten:lezenContracten lezen
contracten:schrijvenContracten aanmaken en wijzigen
{ "error": "fout", "message": "API-key mist scope 'facturen:schrijven'" }

Endpoints

Lijst-endpoints geven maximaal 500 rijen, gesorteerd op aanmaakdatum. Bedragen zijn altijd in centen (integer); datums in ISO 8601.

MethodePadScopeOmschrijving
GET/api/mijGegevens van de stalling en scopes van de key (test-endpoint)
GET/api/klantenklanten:lezenAlle klanten
POST/api/klantenklanten:schrijvenKlant aanmaken
GET/api/klanten/{id}klanten:lezenEén klant met objecten
PATCH/api/klanten/{id}klanten:schrijvenKlant wijzigen
GET/api/objectenobjecten:lezenAlle caravans, campers en boten
POST/api/objectenobjecten:schrijvenObject aanmaken
PATCH/api/objecten/{id}objecten:schrijvenObject wijzigen of verplaatsen
GET/api/loodsenplekken:lezenLoodsen met rijen en bezetting
GET/api/rijenplekken:lezenRijen met vrije lengte
GET/api/afsprakenafspraken:lezenHaal-/brengafspraken (filter: ?status=gepland)
POST/api/afsprakenafspraken:schrijvenAfspraak inplannen (klant krijgt bevestiging)
PATCH/api/afspraken/{id}afspraken:schrijvenStatus of tijdstip wijzigen
GET/api/inschrijvingenklanten:lezenWachtlijst / inschrijvingen
GET/api/facturenfacturen:lezenFacturen (filter: ?status=verzonden)
POST/api/facturenfacturen:schrijvenFactuur aanmaken (concept)
POST/api/facturen/{id}facturen:schrijvenActie: verzenden (met iDEAL-link), betaald, annuleren
GET/api/contractencontracten:lezenContracten
POST/api/contractencontracten:schrijvenContract aanmaken (PDF)

Voorbeeld: klant aanmaken en afspraak inplannen

Maak eerst de klant aan, koppel daarna een object en plan een brengafspraak. De klant ontvangt automatisch een bevestiging per e-mail namens jouw stalling.

# 1. Klant aanmaken
curl -X POST https://stallingo.nl/api/klanten \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"naam":"J. de Vries","email":"j.devries@example.com","telefoon":"06-12345678"}'
# → { "data": { "id": "6f1c…", "klantnummer": "K1041", … } }

# 2. Object koppelen
curl -X POST https://stallingo.nl/api/objecten \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"klantId":"6f1c…","type":"caravan","merk":"Hobby De Luxe 495","kenteken":"WK-12-34","lengteCm":650}'

# 3. Brengafspraak inplannen (klant krijgt e-mailbevestiging)
curl -X POST https://stallingo.nl/api/afspraken \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"objectId":"9a2b…","type":"brengen","gepland":"2026-09-04T10:30:00+02:00"}'

Foutcodes

  • 400Ongeldige invoer — details bevat per veld wat er mis is
  • 401Geen of ongeldige API-key
  • 402API-toegang niet in het pakket (upgrade naar Onbeperkt)
  • 403Key mist de benodigde scope
  • 404Niet gevonden (of hoort bij een andere stalling)
  • 409Conflict, bv. e-mailadres bestaat al

Limieten & gebruik

Maximaal 20 actieve keys per stalling. Wees redelijk met polling (bv. elke 5 minuten); voor realtime-behoeften komen webhooks. Elke key toont in de app wanneer hij voor het laatst is gebruikt.

Webhooks (binnenkort)

Meldingen bij nieuwe inschrijvingen, betaalde facturen en gewijzigde afspraken. Wil je hier vroeg mee aan de slag? Laat het ons weten.

API-toegang zit in het pakket Onbeperkt

Onbeperkt objecten en gebruikers, meerdere vestigingen, API-keys en een vast aanspreekpunt. Overstappen kan per direct, ook vanuit Starter of Professioneel.

Klaar om je stalling makkelijker te runnen?

Vraag een gratis demo aan. We laten je in een half uur zien hoe Stallingo werkt met jouw loodsen, klanten en tarieven.

Geen creditcard nodig · Persoonlijke rondleiding · In het Nederlands