U bent hier

OData API


Let op: deze pagina beschrijft versie 1.0 van de API welke medio april 2019 wordt vervangen door versie 2.0. Zie het laatste nieuws voor meer informatie.

OData is een industrie standaard om data te ontsluiten. U kunt OData in sommige applicaties, bijvoorbeeld Excel, als bron opgeven. Hieronder vindt u enkele handige (Engelstalige) links over OData:

  • http://www.odata.org/
  • https://en.wikipedia.org/wiki/Open_Data_Protocol

Het Open Data Portaal heeft 1 versie van OData:

# URL OData versie API-data versie Opmerkingen
1 /OData/v3/1.0/ 3 (json + xml) 1.0 Maakt gebruik van OData v3 protocol, deze ondersteunt JSON en XML.
2 /OData/v1 3 (json + xml) 1.0 Deze wordt uitgefaseerd per 1/8/2018.

De gehele url is:
https://gegevensmagazijn.tweedekamer.nl/OData/v3/1.0/

    Data model OData

    De data in OData komt overeen met het Informatiemodel. Gegevens in OData zijn anders gemodelleerd dan in de REST. De REST is gebasseerd op XML opslag, OData slaat de data relationeel op waardoor het gemakkelijker zoeken en navigeren is. Per entiteit krijgt u steeds uitbreidingsmogelijkheden (expands) om gerelateerde data uit andere entiteiten erbij te zoeken.

    OData entiteiten Opmerkingen
    Activiteit  
    ActiviteitActor  
    Agendapunt  
    Besluit  
    Bestand  
    Commissie  
    CommissieAanvullendGegeven  
    CommissieOrganisatie  
    CommissieVastPersoon  
    CommissieVastVacature  
    CommissieVervangerPersoon  
    CommissieVervangerVacature  
    CommissieZetel  
    Fractie  
    FractieAanvullendGegeven  
    FractieLid  
    FractieOrganisatie  
    Kamerstuk  
    Kamerstukdossier  
    ParlementairDocument  
    ParlementairDocumentActor  
    ParlementairDocumentVersie  
    Persoon  
    PersoonAdres  
    PersoonContactinformatie  
    PersoonFunctie  
    PersoonGeschenk  
    PersoonLoopbaan  
    PersoonNevenfunctie  
    PersoonNevenfunctieInkomsten  
    PersoonOnderwijs  
    PersoonReis  
    Reservering  
    Stemming  
    Vergadering  
    Verslag Inclusief download link naar volledige XML
    Zaak  
    ZaakActor  
    Zaal  

    Algemene kolommen

    De Entiteiten hebben allen de volgende kolommen:

    • Id: GUID die tevens in REST zit.
    • GewijzigdOp: datum wanneer het bronsysteem het laatst deze data heeft aangepast.
    • ApiGewijzigdOp: datum wanneer het is aangemaakt / veranderd in de OData Api. Dit maakt het mogelijk om delta's op te halen.
    • Verwijderd: Komt overeen met openbaar=false op entiteit niveau uit de REST. Er is bewust voor gekozen geen data te verwijderen uit OData als deze nog in de REST staat. Afnemers dienen hier zelf op te filteren.

    Query voorbeelden

      Data heeft een eigen querytaal voor het opvragen van data. Het kan voor niet-gevorderde gebruikers lastig zijn om daarmee te werken. Hieronder staan een aantal query’s om mee te beginnen:

      OData voorbeeld queries
      Omschrijving Query
      Algemeen: opvragen beschikbare entiteiten /$metadata
      Opvragen commissieleden (Afkorting nu op FIN) (Bijvoorbeeld FIN, Buza, etc.) /Persoon?$expand=CommissieVastPersoon, CommissieVastPersoon/CommissieZetel/Commissie&$orderby=Achternaam&$filter=CommissieVastPersoon/any(aa: aa/CommissieZetel/Commissie/Afkorting eq 'FIN' and aa/TotEnMet eq null)&$inlinecount=allpages
      Opvragen medewerkers van een fractie (Bijvoorbeeld VVD, PvdA, etc.) /Persoon?$expand=Fractielid, Fractielid/Fractie&$filter=Fractielid/any(aa:aa/Fractie/Afkorting eq '<<afkorting hier invullen>>' and aa/TotEnMet eq null)&$orderby=Achternaam
      Kamerleden: alle actieve /Persoon?$filter=Fractielid/any(aa: aa/TotEnMet eq null)&$orderby=Achternaam&$expand=Afbeelding, Functie, Contactinformatie
      Activiteiten: per vergaderjaar /Activiteit?$filter=Vergaderjaar eq '2015-2016'&$orderby=Begin desc&$expand=Vergadering, VoortzettingDoor, VoortzettingVan, VervangingVan, Afgemeld, Bewindspersoon, Deelnemer, Interpellant, Initiatiefnemer, ParlementairDocument, Voortouwcommissie, Zaak
      Parlementaire documenten: moties, zoek in onderwerp (voorbeeld ‘beveiliging’) /ParlementairDocument?$filter=Soort eq 'Motie' and substringof('beveiliging', Onderwerp) eq true&$orderby=Datum desc&$expand=Activiteit, Agendapunt
      Activiteiten opvragen van een bepaalde maand (voorbeeld mei 2017) /Activiteit?$filter=year(Begin) eq 2017 and month(Begin) eq 5&$orderby=Begin desc&$expand=Vergadering
      Geef de vergaderingen met links naar de verslagen uit 2017-2008 in JSON formaat en oplopend gesorteerd op Begin.

      /Vergadering?$format=json&$expand=Verslag&$filter=Vergaderjaar eq '2017-2018'&$orderby=Begin desc
      (In de expand /Verslag staat de download naar de XML in: "odata.mediaReadLink".)

      (Let op: u moet het adres van het end-point voor de query plaatsen. Bijvoorbeeld: https://gegevensmagazijn.tweedekamer.nl/OData/v3/1.0/$metadata)

      Om de server niet te veel te belasten worden standaard maximaal 50 resultaten tegelijk weergegeven. Ook voor expands geldt een maximum van 50 resultaten per pagina. Aan het einde van het XML-bericht staat de verwijzing naar de volgende pagina met resultaten.
      Een voorbeeld: <link rel="next"
      href="https://gegevensmagazijn.tweedekamer.nl/OData/v3/1.0/Activiteit?$filter=year(Begin)%20eq%202017%20and%20mo
      nth(Begin)%20eq%205&$expand=Vergadering&$orderby=Begin%20desc&$skiptoken=datetime'2017-05-
      24T10%3A00%3A00',guid'4a0327a1-21a4-4540-a298-1a162846635c'"/>

      XML / JSON

      Standaard geeft het OData punt XML terug, eventueel kan OData JSON teruggeven. Om dit te doen dient u de volgende string in uw verzoek op te nemen: "$format=json". Een voorbeeld:

      • JSON: https://gegevensmagazijn.tweedekamer.nl/OData/v3/1.0/Persoon?$format=json
      • XML: https://gegevensmagazijn.tweedekamer.nl/OData/v3/1.0/Persoon

      Verbinden met Excel

      Binnen Excel kunt u rechtstreeks met OData verbinden. De opties staan onder Gegevens >Externe gegevens ophalen > OData gegevensfeed. Hier typt u dan het gewenste end-point in waarna er gevraagd wordt welke entiteiten u op wilt halen.