Updates

PDOK kent twee type updates: de data update en de dataset update.

Updates van de data betreffen het aanleveren van nieuwere data, en géén wijziging in het datamodel en/of de service.

Het updaten van de data is mogelijk op twee manieren: handmatig en automatisch. Het handmatig aanleveren is bedoeld voor een dataset die maximaal 3 keer per jaar wordt aangeleverd. Mocht een dataset vaker moeten worden geüpdatet zoals maandelijks of iedere dag dan zal dit proces worden geautomatiseerd. Dit wordt met u als data aanbieder besproken.

Een update van de dataset betreft juist wel een wijziging van het model en/of service, waardoor de structuur van de dataset verandert en er daardoor geen 1: 1 geautomatiseerde update meer mogelijk is. De kosten van een update van de dataset worden door PDOK vooraf via offerte benoemd.

PDOK verzorgt voor u als aanbieder standaard de communicatie bij het beschikbaar stellen van updates van uw datasets op PDOK.

 

Automatisch updaten van dataset

Het aanleveren van een dataset met als doel om deze geautomatiseerd te updaten, gaat als volgt:

PDOK genereert een API-key en verstrekt deze met de bijbehorende datasetnaam via de mail aan de data-aanbieder. Let op! De datasetname in de body moet wel overeenkomen met de datasetname waarop de API-key is gegenereerd. Als dit niet het geval is zal het request worden afgewezen.

Stappen:

  • Schiet een POST request in op URL: https://delivery.pdok.nl/aanleveringen/upload
  • Voeg een Authorization header toe: [{"key":"Authorization","value":"Bearer {INSERT_TOKEN HERE}"}]
  • Voeg een Content-Type header toe: [{"key":"Content-Type","value":"application/json"}]
  • DataValidTo: is de datum van de aanlevering (JJJJ-MM-DD)
  • UpdateType: is altijd Full
  • URL: moet publiek zijn
  • Voeg een body toe in het volgende formaat zoals het onderstaande.

Voorbeeld:

POST /aanleveringen/upload
Host: https://delivery.pdok.nl
Authorization: Bearer {INSERT_TOKEN HERE}
Content-Type: application/json
Cache-Control: no-cache
{
    "datasetName": " datasetnaam ",
    "dataValidTo": "2017-06-02",
    "updateType": "FULL",
    "files": [
        {
         "url": http://geodata.nationaalgeoregister.nl/vin/extract/vin.zip,
          "name": "vin.zip"
     }
    ]
}

 

Of door middel van een cli command

curl -X POST -H "Content-Type: application/json" \
    -H " Authorization: Bearer {INSERT_TOKEN HERE}" \
     -d '{"datasetName":"vin","dataValidTo":"2024-09-17","files": [
      {
   "url": https://service.pdok.nl/bzk/bro-grondwatergebruiksysteem/atom/downloads/brogufvolledigeset.gpkg,
    "name": " brogufvolledigeset.gpkg "
     }
   ]}' https://delivery.pdok.nl/aanleveringen/upload

 

Na het inschieten van dit post-bericht krijg je een ‘200 ok’ als de datasetnaam overeenkomt met de gegenereerde API-key. Op het moment dat dit bericht wordt ontvangen door PDOK gaan de update straten lopen. Er wordt gekeken welke services bij deze aangeleverde dataset horen, en naar de namen van de aangeleverde bestanden of deze overeenkomen met wat PDOK verwacht. Bijvoorbeeld bij een GPKG wordt deze nog een keer gecontroleerd door de geopackage-validator. Ook wordt het te updaten bestand gecontroleerd met de bestaande inrichting van de betreffende dataset. Als dit allemaal goed is wordt het aangeleverde bestand met data verwerkt door de PDOK update straat.

Elke keer als wij een bericht binnenkrijgen worden de bijbehorende services / API's bijgewerkt met de nieuwe data. En ook de metadata servicerecords in NGR worden aangepast met de datum die ingevuld is in het aanleverbericht (dataValidTo). Hier kan je ook controleren of de update geslaagd is, want als dit veld wordt aangepast betekent het dat de services zijn geüpdatet met de nieuwe data. Mocht de update falen dan krijgt u daarvan een bericht met de reden waarom dit zo is.