Overslaan en naar de inhoud gaan

De uitgestoken hand - DAVIE API

De uitgestoken hand - DAVIE API

Zoek je een manier om efficiënter te werken met DAVIE, het data-aanleverportaal? Dan hebben we een handig hulpmiddel voor je: de DAVIE API. Deze API ondersteunt geautomatiseerde workflows door periodiek data op te laden en af te laden en is gebouwd volgens REST-principes met HATEOAS links die, afhankelijk van de interne toestand, acties mogelijk maken. Zo kunnen gebruikers efficiënt werken en integreren met de assetdatabank. Benieuwd wat dit precies inhoudt?

Eerst en vooral: ”Wat is DAVIE nu ook alweer?"

In al onze BIM-projecten speelt ons DAVIE-dataportaal een cruciale rol. (DAVIE is een letterwoord dat staat voor Data Acceptatie, Validatie en Informatie Extractie.) Het is de toegangspoort naar de reeds beschikbare OTL-conforme data in onze asset databank en dé manier om als opdrachtnemer de nodige OTL-conforme data aan te leveren. Via ons DAVIE-dataportaal dien je als opdrachtnemer in een BIM-project de gevraagde OTL-conforme data aan te leveren, waarna een controle-flow start.
 

Wat is de DAVIE API en hoe kan deze jou helpen?

Om het mogelijk te maken deze toegangspoort naar de OTL-data in toepassingen te verwerken, stellen we een DAVIE API ter beschikking.

Opdrachtnemers of partners die vaak met OTL-data werken kunnen hier gebruik van maken bij de automatisering van hun workflow. Via de DAVIE API is het bijvoorbeeld mogelijk periodiek aanleveringen op te laden. Of om op regelmatige basis de voor je organisatie interessante asset data af te laden in een bepaalde regio. Zo kan je een applicatie of webservice bouwen die in sync is met de beschikbare OTL-conforme data in de asset databank. Om dit mogelijk te maken kan je een interactie opzetten met de DAVIE API. Daarna kan je langs deze weg aanleveringen aanmaken, en beide flows uitvoeren: 

  • Bestaande toestand data aanvragen (asis aanvraag)
  • Data aanleveren 
     

Hoe gaat de Technische info over de DAVIE API juist in zijn werk?

De DAVIE API is gebouwd volgens REST principes en gebruikt HTTP-methoden om data van de asset databank via het dataportaal op te halen en te posten. Deze kunnen ingezet worden voor het opzetten van een B2B integratie.

Dit wil zeggen dat, de representatie die je terugkrijgt, een zicht geeft op de werkelijke toestand van de aanlevering. Enkel details die relevant zijn voor de B2B interactie, zijn zichtbaar. 

De DAVIE API maakt veelvuldig gebruik van HATEOAS links. Deze links geven weer welke acties mogelijk zijn voor een entiteit op een gegeven ogenblik. Welke acties mogelijk zijn, hangt af van de interne toestand van de entiteit (bv aanlevering), en kan dus evolueren in de tijd. Bijvoorbeeld, je kan het opladen van bestanden van een aanlevering enkel finaliseren als alle benodigde bestanden zijn opgeladen. Als alle benodigde bestanden zijn opgeladen, dan kan de finaliseren link aanwezig zijn. Als er nog geen bestanden zijn opgeladen, dan zal deze link niet aanwezig zijn.
 

Een voorbeeld nodig van het gebruik van de DAVIE API? 

In dit voorbeeld tonen we hoe je de DAVIE API kan gebruiken om data af te laden. Voor de eenduidigheid van het voorbeeld tonen we hier het afladen van één OTL assettype (namelijk de Straatkolk) in een bepaalde zone. Je kan deze functie uiteraard ook gebruiken voor het afladen van data van meerdere OTL assettypes. We gaan er in dit voorbeeld vanuit dat je reeds een aanlevering hebt aangemaakt (dit kan eveneens via de API gebeuren). 

De DAVIE API bereik je via https://apps.mow.vlaanderen.be/davie-aanlevering/api.
Om de data te kunnen opvragen stuur je naar DAVIE welke asset types je de data van wil opvragen, en een WKT string van de zone. 

Daarnaast geef je ook aan of je al dan niet de relaties mee wil afladen (bv. “includeRelaties”: true), welk formaat je wil gebruiken (bv. "exportType": "csv v1"), en welke geometrie je wil afladen (bv. ("levelOfGeometry": "LOG0”)

Om dit te doen, sturen we een POST request naar: /aanleveringen/{ID}/asisaanvragen. Waarbij {ID} de indentificator is van de DAVIE aanlevering
 

Voorbeeld van een asis aanvraag via de DAVIE API:

Voorbeeld van een ‘Request URL’

https://apps.mow.vlaanderen.be/davie-aanlevering/api/aanleveringen/
e6859a35-d794-4485-a4c2-1fd1b1d1eab2/asisaanvragen

Stuk uit een ‘upload body’ als voorbeeld

{
"typeUri": "https://wegenenverkeer.data.vlaanderen.be/ns/onderdeel#Straatkolk",
       "geometrie": "POLYGON ((147944.66 158031.68,147944.82 157971.22,147947.51 157926.92,147947.52 157926.81,147959.64 157904.69,147997.79 157860.28,148009.01 157862.99,148009.20 157863.07,148035.77 157946.54,147955.48 158032.12,147944.85 158031.71,147944.66 158031.68))"
}

Wanneer DAVIE deze data heeft voorbereid, kunnen we het bestand afladen. Om dit te doen, sturen we een GET request naar: /aanleveringen/{ID}/asisaanvragen/export

Hieronder een beeld van de dataset verkregen met de API call: De straatkolken in de gedefinieerde zone:

Wil je zelf aan de slag met de DAVIE API?
Alle details rond benodigde query parameters, bodies, antwoorden, verplichte en optionele velden, andere mogelijkheden of beperkingen, zijn verkrijgbaar als swagger documentatie.

Wil je een integratie opzetten via de DAVIE API: neem dan contact op! We begeleiden je door de nodige stappen. Je kan steeds terecht bij de BIM-projectondersteuner of op ons generieke mailadres TeamBim@verzendlijst.wegenenverkeer.be.