VOOR DE WEKELIJKSE SELECTIE

Een upload.
Een verse agenda.

Publiceer alle markten van deze kalenderweek met één beveiligde API-aanroep. Iedere geslaagde upload vervangt de volledige vorige selectie.

Basis-URL: https://vlooienkrabber.itcleric.com
Regio: maximaal 40 km hemelsbreed vanaf Tilburg (51.5555, 5.0913).
Kalenderweek: maandag t/m zondag, tijdzone Europe/Amsterdam.
OpenAPI-schema voor tools en GPT Actions ↗

Authenticatie

Lezen is openbaar. Schrijven vereist de header Authorization: Bearer JOUW_TOKEN. Het gegenereerde token staat alleen in je lokale bestand .private/api-token.txt. Op de server wordt alleen een SHA-256-hash opgeslagen, buiten de publieke webmap. Zet het token uitsluitend in de geheime configuratie van je uploadtool.

Endpoints

MethodePadGedrag
GET/api/markets.phpHuidige week, laatste upload, stale-status en markten.
PUT/api/markets.phpVervangt de volledige dataset. POST wordt als alternatief ondersteund.

Maximaal 200 markten en 1 MB per aanvraag. Alle records worden gecontroleerd vóór opslaan. Bij één fout wordt de hele upload geweigerd en blijft de vorige dataset behouden. Gelijktijdige uploads zijn geserialiseerd; de laatste succesvolle upload geldt. Upload alleen de complete selectie, nooit één tegel per aanvraag.

Uploadvoorbeeld

De data hieronder is een voorbeeld voor 19 t/m 25 oktober 2026. Gebruik altijd de huidige maandag voor week_start en pas alle evenementdatums aan de gecontroleerde kalenderweek aan.

{
  "week_start": "2026-10-19",
  "markets": [
    {
      "id": "werft-2026-10-25",
      "title": "Vlooienmarkt De Werft",
      "description": "Een overdekte markt met tweedehands spullen en curiosa.",
      "date": "2026-10-25",
      "start_time": "09:00",
      "end_time": "16:00",
      "location": "Sporthal De Werft",
      "address": "Huygenstraat 73, 5171 EP Kaatsheuvel",
      "city": "Kaatsheuvel",
      "latitude": 51.659,
      "longitude": 5.066,
      "url": "https://www.deevenementenlijn.nl/",
      "category": "Vlooienmarkt",
      "price": "€ 3",
      "image_url": "/assets/market-hall.webp",
      "image_is_illustrative": true
    }
  ]
}
export VK_API_TOKEN='vul-het-geheime-token-lokaal-in'
curl --fail-with-body --request PUT \
  'https://vlooienkrabber.itcleric.com/api/markets.php' \
  --header "Authorization: Bearer $VK_API_TOKEN" \
  --header 'Content-Type: application/json' \
  --data-binary @week.json

Succes: HTTP 200 met {"success":true,"replaced":true,"count":1,...}. Lees daarna GET terug en vergelijk de week, het aantal en de id's.

Velden & regels

VeldRegel
week_startVerplicht. De maandag van de huidige kalenderweek in YYYY-MM-DD.
marketsVerplichte lijst. Maximaal 200 objecten.
idUniek, max. 80 tekens, alleen a-z, 0-9 en koppeltekens.
title / descriptionVerplicht, max. 160 / 1600 bytes. Eigen Nederlandse beschrijving.
dateVerplicht, YYYY-MM-DD binnen de huidige kalenderweek.
start_time / end_timeHH:mm. Lege string of weglaten bij onbekend. Eindtijd na begintijd.
location / address / cityVerplicht. Naam locatie, volledig adres en plaats.
latitude / longitudeVerplichte getallen van de werkelijke locatie. De server berekent de afstand en weigert alles boven 40 km.
urlVerplichte HTTPS-link naar de marktbron.
categoryRommelmarkt, Vlooienmarkt, Brocante, Boekenmarkt, Kofferbakmarkt of Vintage. Standaard Rommelmarkt.
priceBijvoorbeeld € 3, Gratis of Onbekend. Standaard Onbekend.
image_urlHTTPS-afbeelding of /assets/market-hall.webp, /assets/vintage-stall.webp, /assets/books.webp. Standaard market-hall.webp.
image_is_illustrativeBoolean, standaard true. Lokale beelden zijn altijd sfeerbeelden.
confirm_emptyAlleen verplicht bij markets: []. Zet true om bewust alles te wissen.

De grens van 40 km is hemelsbreed, geen rijafstand. Coördinaten moeten door de uploader bij een betrouwbare kaartbron worden gecontroleerd. De API kan niet vaststellen of een aangeleverde locatie inhoudelijk klopt. Datums van vorige weken worden automatisch verborgen; oude data wordt bij de volgende geldige upload vervangen. Em dashes en en dashes in invoerteksten worden naar een gewoon koppelteken omgezet.

Foutcodes

400: ongeldige JSON. 401: Bearer-token ontbreekt of klopt niet. 405: methode niet toegestaan. 413: meer dan 1 MB. 415: Content-Type is geen application/json. 422: ongeldige datum, afstand, velden, dubbele id of lege lijst zonder bevestiging. 500: opslagfout. 503: uploadconfiguratie ontbreekt.

ChatGPT koppelen

  1. Configureer een tool die HTTPS PUT kan uitvoeren. Voor een eigen GPT kun je het OpenAPI-schema importeren als Action en authenticatie instellen op API Key, Bearer. Vul de ruwe tokenwaarde in als geheim.
  2. Test eerst één volledige upload in dezelfde omgeving waarin de geplande taak zal draaien. Een leesbrowser kan deze API niet bijwerken. Een GPT Action is niet automatisch beschikbaar in elke geplande taak.
  3. Plak de setup-prompt hieronder in de chat die je bestaande vlooienmarkten-taak beheert. De prompt laat de bestaande taak aanpassen en voorkomt een duplicaat.
  4. Controleer na de eerste geplande run of de API echt is bijgewerkt. De website zelf bevat geen ingebouwde verzamelaar of zaterdagplanner; de gekoppelde ChatGPT-taak voert de verzameling en upload uit.

Gebaseerd op de officiële documentatie voor GPT Action-authenticatie en geplande taken. Beschikbare tools en uitvoeromgevingen hangen af van je account en configuratie.

Setup-prompt voor je bestaande taak

Download als tekstbestand ↗

Token vernieuwen

Genereer een cryptografisch willekeurig token van minimaal 32 bytes. Vervang uitsluitend token_hash in het private config.php-bestand door de SHA-256-hash van het nieuwe token. Werk daarna het geheim in de uploadtool bij. Het oude token werkt direct niet meer. Het token staat nooit in de openbare website of dit schema.