REST API

Strandposten API

Endpoint voor het ophalen van strandposten, inclusief locatie, gemeente, provincie, vlagstatus, toezichtstatus en marker/icon data.

Endpoint

GET https://dashboard.staging.strand-app.nl/api/beachposts/v1/overview
GET https://dashboard.staging.strand-app.nl/api/beachposts/v1/overview?municipality=schouwen-duiveland

Query parameters

Parameter Type Verplicht Omschrijving
municipality string Nee Filtert strandposten op gemeente-slug, bijvoorbeeld schouwen-duiveland, ameland of den-haag. Zonder parameter worden alle beschikbare strandposten opgehaald.

Response structuur

Veld Type Omschrijving
getstrandposten string Status van de response. Bij succes: success.
strandposten array Lijst met strandpost-objecten.

Strandpost object

Veld Type Voorbeeld Omschrijving
idinteger93Interne Strand App ID.
external_idinteger101Externe Strandveilig ID.
namestringHoofdpost NoordNaam van de strandpost.
descriptionstringOmschrijving...Omschrijving of aanvullende info.
phonestring0612345678Telefoonnummer.
latfloat52.1085111Latitude.
lngfloat4.2714783Longitude.
municipalityobject|string{"name":"Den Haag","slug":"den-haag"}Gemeente. Kan leeg zijn wanneer niet gekoppeld.
provinceobject|string{"name":"Zuid-Holland","slug":"zuid-holland"}Provincie. Kan leeg zijn wanneer niet gekoppeld.
flagstringgele-vlagActieve vlag.
flag_colorstringFFD628Hexkleur zonder #.
flag_imgstringURLAfbeelding van vlag met tekst.
flag_img_no_textstringURLAfbeelding van vlag zonder tekst.
flag_statusbooleantrueGeeft aan of er een actieve vlag is.
flag_textstringPas op met zwemmen!Korte vlagtekst.
flag_extended_textstringTekstUitgebreide publieksmelding voor de vlag.
statestringLifeguards houden toezichtToezichtstatus als tekst.
state_colorstring333333Statuskleur zonder #.
state_statusbooleanfalsetrue wanneer lifeguards toezicht houden.
status_alarm_teambooleanfalseGeeft aan of dit een alarmploeg-locatie is.
marker_iconstringURLMarker voor kaartweergave.
state_iconstring|falseURL of falseOptioneel statusicoon.
state_textstringTekstToezichtstatus als losse tekst.
state_imgstringURLAfbeelding voor open/gesloten status.

Voorbeeld response

{
  "getstrandposten": "success",
  "strandposten": [
    {
      "id": 93,
      "external_id": 101,
      "name": "Hoofdpost Noord (Scheveningen)",
      "description": "",
      "phone": "",
      "lat": 52.1085111,
      "lng": 4.2714783,
      "municipality": {
        "name": "Den Haag",
        "slug": "den-haag"
      },
      "province": {
        "name": "Zuid-Holland",
        "slug": "zuid-holland"
      },
      "flag": "gele-vlag",
      "flag_color": "FFD628",
      "flag_img": "https://strand-app.nl/assets/flags/HSV_Vlag_Geel-small.jpg",
      "flag_img_no_text": "https://strand-app.nl/assets/flags/hsv-vlag-geel-notext.png",
      "flag_status": true,
      "flag_text": "Pas op met zwemmen! Gevaarlijk",
      "flag_extended_text": "Let op: De lifeguards hebben de gele waarschuwingsvlag gehesen...",
      "state": "Let op! Geen toezicht, lifeguards niet aanwezig.",
      "state_color": "FFF101",
      "state_status": false,
      "status_alarm_team": false,
      "marker_icon": "https://strand-app.nl/assets/img/markers/marker-closed.png",
      "state_icon": "https://strand-app.nl/assets/picto/picto-yellow-flag.svg",
      "state_text": "Let op! Geen toezicht, lifeguards niet aanwezig.",
      "state_img": "https://www.strand-app.nl/assets/img/strandpost-gesloten-v3.png"
    }
  ]
}

Voorbeeld gebruik JavaScript

fetch('https://dashboard.staging.strand-app.nl/api/beachposts/v1/overview?municipality=schouwen-duiveland')
  .then(response => response.json())
  .then(data => {
    if (data.getstrandposten !== 'success') {
      return;
    }

    data.strandposten.forEach(post => {
      console.log(post.name, post.lat, post.lng, post.state_status);
    });
  });