Update! — Het systeem heeft een gigantische update gehad. Lukt inloggen niet, vraag een nieuw wachtwoord aan. Alle gegevens zijn behouden gebleven. Vragen? Gebruik het contactformulier.

MeldingsMonitor API

Versie 1.0 — Volledige toegang tot meldingen, capcodes en voertuigen.

REST API JSON Webhooks

1. Authenticatie

De MeldingsMonitor API gebruikt Bearer Tokens (Laravel Sanctum) voor authenticatie. U kunt tokens aanmaken via uw API-instellingen.

Voeg het token toe aan elke request als Authorization header:

GET /api/v1/incidents HTTP/1.1
Host: meldingsmonitor.nl
Authorization: Bearer uw-api-token
Accept: application/json

Belangrijk: Bewaar uw token veilig. Het wordt slechts één keer getoond bij aanmaak. Bij verlies kunt u het token intrekken en een nieuw token aanmaken.

2. Base URL

https://meldingsmonitor.nl/api/v1

3. Rate Limits

Rate limits zijn afhankelijk van uw abonnement. De limieten worden meegestuurd als response headers.

Abonnement Requests/min Requests/dag Historie
Developer 30 5.000 30 dagen
Developer Pro 60 25.000 90 dagen

Response headers:

  • X-RateLimit-Limit — Maximale requests in de huidige periode
  • X-RateLimit-Remaining — Resterende requests
  • Retry-After — Seconden wachten bij overschrijding (429 status)

4. Paginering

De API gebruikt cursor-based paginering. Elke lijst-response bevat een meta object met een next_cursor waarde.

Parameters:

  • per_page — Aantal resultaten per pagina (standaard 25, max 50)
  • cursor — Cursor voor de volgende pagina (uit vorige response)
GET /api/v1/incidents?per_page=10
GET /api/v1/incidents?per_page=10&cursor=eyJpZCI6MTIz...

5. Meldingen (Incidents)

GET /api/v1/incidents

Lijst met meldingen, gesorteerd op datum (nieuwste eerst).

Filters

Parameter Type Omschrijving
prioritystringFilter op prioriteit (P1, P2, A1, etc.)
citystringFilter op plaatsnaam (gedeeltelijke match)
disciplineintegerFilter op discipline ID
capcodestringFilter op capcode (exact)
date_fromdateStartdatum (beperkt door abonnement)
date_todateEinddatum
searchstringZoek in meldingstekst

Voorbeeld response

{
  "data": [
    {
      "id": 12345,
      "occurred_at": "2026-02-13T14:30:00+00:00",
      "message": "P 1 BRT-01 DIA: Ja BR Gebouw Stationsstr Eext",
      "priority": "P1",
      "category": "Brand",
      "street": "Stationsstraat",
      "city": "Eext",
      "postal_code": "9463 TH",
      "latitude": "53.18765432",
      "longitude": "6.72543210",
      "disciplines": [{"id": 1, "name": "Brandweer"}],
      "capcodes": [{"id": 10, "capcode": "0120901", "description": "Brandweer Eext", "location": "Eext"}],
      "vehicles": [{"id": 5, "call_sign": "03-4231", "type": "Tankautospuit", "description": "...", "location": "Eext"}],
      "created_at": "2026-02-13T14:30:01+00:00",
      "updated_at": "2026-02-13T14:30:05+00:00"
    }
  ],
  "meta": {...},
  "links": {"next": "...", "prev": null}
}
GET /api/v1/incidents/{id}

Enkele melding ophalen met alle gerelateerde data.

6. Capcodes

GET /api/v1/capcodes

Lijst met capcodes.

Filters

Parameter Type Omschrijving
discipline_idintegerFilter op discipline
searchstringZoek op capcode, beschrijving of locatie

Voorbeeld response

{
  "data": [
    {
      "id": 10,
      "capcode": "0120901",
      "description": "Brandweer Eext",
      "location": "Eext",
      "discipline": {"id": 1, "name": "Brandweer"},
      "created_at": "2026-01-01T00:00:00+00:00",
      "updated_at": "2026-01-15T12:00:00+00:00"
    }
  ],
  "meta": {...},
  "links": {"next": "...", "prev": null}
}
GET /api/v1/capcodes/{id}

Enkele capcode ophalen met discipline informatie.

7. Voertuigen (Vehicles)

GET /api/v1/vehicles

Lijst met voertuigen.

Filters

Parameter Type Omschrijving
typestringFilter op voertuigtype
searchstringZoek op roepnummer, beschrijving of locatie

Voorbeeld response

{
  "data": [
    {
      "id": 5,
      "call_sign": "03-4231",
      "type": "Tankautospuit",
      "description": "Tankautospuit Eext",
      "location": "Eext",
      "created_at": "2026-01-01T00:00:00+00:00",
      "updated_at": "2026-02-10T08:30:00+00:00"
    }
  ],
  "meta": {...},
  "links": {"next": "...", "prev": null}
}
GET /api/v1/vehicles/{id}

Enkel voertuig ophalen.

8. Webhooks

Webhooks stellen u in staat real-time notificaties te ontvangen bij nieuwe meldingen of wijzigingen. U kunt webhook-endpoints beheren via de API of via uw dashboard.

Beschikbare events

Event Omschrijving
incident.createdNieuwe melding aangemaakt
incident.updatedMelding bijgewerkt (locatie, categorie)
vehicle.updatedVoertuig bijgewerkt
capcode.updatedCapcode bijgewerkt

Webhook beheer endpoints

GET /api/v1/webhooks — Alle endpoints ophalen
POST /api/v1/webhooks — Nieuw endpoint registreren
PATCH /api/v1/webhooks/{id} — Endpoint bijwerken
DELETE /api/v1/webhooks/{id} — Endpoint verwijderen

Webhook payload

{
  "event": "incident.created",
  "timestamp": "2026-02-13T14:30:00+00:00",
  "data": {
    "id": 12345,
    "occurred_at": "2026-02-13T14:29:45+00:00",
    "message": "P 1 BRT-01 DIA: Ja BR Gebouw Stationsstr Eext",
    "priority": "P1",
    "city": "Eext",
    "disciplines": ["Brandweer"],
    "capcodes": [{"id": 10, "capcode": "0120901", "description": "Brandweer Eext"}],
    "vehicles": [{"id": 5, "call_sign": "03-4231", "type": "Tankautospuit"}]
  }
}

Signature verificatie

Elke webhook bevat een X-Webhook-Signature header waarmee u de authenticiteit kunt verifiëren:

X-Webhook-Signature: sha256=berekende-hmac-hash

Voorbeeld verificatie in PHP:

$payload = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_WEBHOOK_SIGNATURE'] ?? '';
$expected = 'sha256=' . hash_hmac('sha256', $payload, $yourSecret);

if (!hash_equals($expected, $signature)) {
    http_response_code(401);
    exit('Invalid signature');
}

Retries & deactivering

  • Bij een mislukte levering wordt maximaal 3 keer opnieuw geprobeerd (na 10s, 60s, 300s).
  • Na 10 opeenvolgende mislukkingen wordt het endpoint automatisch gedeactiveerd.
  • U kunt een gedeactiveerd endpoint opnieuw activeren via de API of het dashboard.

9. Foutcodes

Code Betekenis Omschrijving
401UnauthorizedOngeldig of ontbrekend API-token
403ForbiddenGeen API-toegang in uw abonnement
404Not FoundResource niet gevonden
422Validation ErrorOngeldige parameters of datumbereik overschreden
429Too Many RequestsRate limit overschreden

10. Voorwaarden

Het gebruik van de MeldingsMonitor API is onderhevig aan onze API-voorwaarden. Door de API te gebruiken gaat u akkoord met deze voorwaarden.

MeldingsMonitor
Inloggen
Vul je e-mailadres en wachtwoord in om in te loggen.
of
E-mailadres
Onthoud mij
Nog geen account?
MeldingsMonitor
Account aanmaken
Vul je gegevens in om een account aan te maken.
of
Naam
E-mailadres
Wachtwoord
Wachtwoord bevestigen
Geen creditcard nodig
Altijd opzegbaar
Heb je al een account?

Cookies

Wij gebruiken cookies om de werking van onze website te verbeteren en uw voorkeuren te onthouden. Door op "Accepteren" te klikken gaat u akkoord met ons gebruik van cookies. Lees meer in onze disclaimer en ons privacybeleid.