Blip API-documentatie

Binnen De Bolk wordt de informatie over alle leden opgeslagen in LDAP. Het Bolks Ledeninformatiepunt (Blip) biedt een makkelijke manier om informatie over leden op te vragen en te gebruiken bij het bouwen van je eigen applicaties voor De Bolk. Je kunt het vergelijken met een Facade pattern.

Beveiliging

Dit is een OAuth2 resource server. De informatie wordt beveiligd met OAuth2 via https://auth.debolk.nl/. Voor ieder endpoint heb je een correct OAuth2-token nodig. Je kunt dat aanleveren als GET-parameter /?access_token=1234 of als header "Bearer: 1234".

Toegang

De API is bereikbaar op https://people.i.bolkhuis.nl. Dat vereist dat je toegang hebt tot het interne netwerk (Bolknet of VPN). Specifieke functies met minder informatie zijn ook van buiten beschikbaar op https://people.debolk.nl/. Dat staat expliciet aangegeven bij die endpoints.

Vragen en Hulp

Heb je hulp nodig bij het gebruiken van Blip? Neem dan contact op met Jakob of Max. Je kunt onze contactgegevens krijgen bij het bestuur.

Licentie

Copyright 2013-2015 Jakob Buis, Max Maton. Blip is beschikbaar onder GPL3. De code is te vinden op https://github.com/debolk/blip

Person

De basiseenheid van de API is een Person. Je kunt deze aanmaken, updaten en lezen via de API. De attributen van een Person staan hieronder vermeld:

Attribuut Inhoud Leesbaar Schrijfbaar
uiduniek idjanee
hrefURL van resourcejanee
initialsinitialenjaja
firstnamevoornaamjaja
lastnameachternaamjaja
namevolledige naamjanee
emaile-mailadresjaja
gendergeslacht (M|F)jaja
phonetelefoonnummer vastjaja
mobiletelefoonnummer mobieljaja
phone_parentstelefoonnummer oudersjaja
addressadres van het lidjaja
dateofbirthgeboortedatum (YYYY-MM-DD)jaja
membershiphuidige status (lid, kandidaatlid, oudlid, lidvanverdienste, geenlid)jaja

Methodes

Alle methodes van de API accepteren en retourneren alleen JSON.

GET /persons Alle informatie over alle personen

Retourneert de id, het e-mailadres, de volledige naam. Ook wordt de URL van ieder lid bijgevoegd.

OAuth toegangsniveau

Alleen leden

Parameters

geen

Resultaat

[{"id": "peter", "href": "http://blip.i.bolkhuis.nl/persons/peter", "email": "peter@nieuwedelft.nl", "name": "Peter Dummy"}]
POST /persons Maakt een nieuwe persoon

Accepteert een JSON-object dat een nieuwe persoon beschrijft, maakt deze aan in LDAP en retourneert de gegevens van de nieuwe persoon.

OAuth toegangsniveau

Alleen bestuur

Parameters

zie boven

Resultaat

{ "uid": "peter", "initials": "P", "firstname": "Peter", "lastname": "Dummy", "email": "pdummy@debol.nl", "mobile": "06-123456789", "phone_parents": "0031229218245", "address": "Buitenwatersloot 1-3\r\n2613TA Delft", "dateofbirth": "1960-10-27", "gender": "M", "href": "https://people.i.bolkhuis.nl/persons/pdummy", "name": "Peter Dummy", "membership": "lid" }
GET /persons/{uid} Informatie over een persoon

Retourneert de id, het e-mailadres, de volledige naam. Ook wordt de URL van ieder lid bijgevoegd. Vervang het {uid} door de gebruikersnaam van de gebruiker.

OAuth toegangsniveau

Alleen leden

Parameters

geen

Resultaat

[{ "uid": "peter", "initials": "P", "firstname": "Peter", "lastname": "Dummy", "email": "pdummy@debol.nl", "mobile": "06-123456789", "phone_parents": "0031229218245", "address": "Buitenwatersloot 1-3\r\n2613TA Delft", "dateofbirth": "1960-10-27", "gender": "M", "href": "https://people.i.bolkhuis.nl/persons/pdummy", "name": "Peter Dummy", "membership": "lid" }]
GET /persons/{uid}/basic Basale details van een gebruiker

Retourneert alleen de volledige naam en e-mailadres van een gebruiker. Dit endpoint is ook buiten het interne netwerk beschikbaar via https://people.debolk.nl/persons/{uid}/basic.

OAuth toegangsniveau

Alleen leden

Parameters

geen

Resultaat

{"name": "Peter Dummy", "email": "peter@debolk.nl"}
GET /persons/{uid}/photo/{width}/{height} Foto van een gebruiker

Retourneert een foto van de gebruiker. De benodigde parameters zijn de userid, breedte en hoogte van de foto. Dit endpoint is ook buiten het interne netwerk beschikbaar via https://people.debolk.nl/persons/{uid}/photo/{width}/{height}.

OAuth toegangsniveau

Alleen leden

Parameters

geen

Resultaat

data:image/jpeg;base64,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
PATCH /persons/{uid} Update de gegevens van een bestaand persoon

Accepteert een JSON-object dat de nieuwe gegevens van de persoon beschrijven. Parameters (zie onder) die niet worden meegegeven worden genegeerd. De methode retourneert de complete gegevens van het nieuwe lid.

OAuth toegangsniveau

Alleen bestuur

Parameters

zie boven

Resultaat

{ "uid": "peter", "initials": "P", "firstname": "Peter", "lastname": "Dummy", "email": "pdummy@debol.nl", "mobile": "06-123456789", "phone_parents": "0031229218245", "address": "Buitenwatersloot 1-3\r\n2613TA Delft", "dateofbirth": "1960-10-27", "gender": "M", "href": "https://people.i.bolkhuis.nl/persons/pdummy", "name": "Peter Dummy", "membership": "lid" }
GET /members Informatie over alle leden

Retourneert de gegevens van alle huidige, kandidaat- en oud-leden van De Bolk.

OAuth toegangsniveau

Alleen leden

Parameters

geen

Resultaat

[{ "uid": "peter", "initials": "P", "firstname": "Peter", "lastname": "Dummy", "email": "pdummy@debol.nl", "mobile": "06-123456789", "phone_parents": "0031229218245", "address": "Buitenwatersloot 1-3\r\n2613TA Delft", "dateofbirth": "1960-10-27", "gender": "M", "href": "https://people.i.bolkhuis.nl/persons/pdummy", "name": "Peter Dummy", "membership": "lid" }]
GET /members/current Informatie over alle huidige leden

Retourneert de gegevens van alle huidige, normale leden van De Bolk.

OAuth toegangsniveau

Alleen leden

Parameters

geen

Resultaat

[{ "uid": "peter", "initials": "P", "firstname": "Peter", "lastname": "Dummy", "email": "pdummy@debol.nl", "mobile": "06-123456789", "phone_parents": "0031229218245", "address": "Buitenwatersloot 1-3\r\n2613TA Delft", "dateofbirth": "1960-10-27", "gender": "M", "href": "https://people.i.bolkhuis.nl/persons/pdummy", "name": "Peter Dummy", "membership": "lid" }]
GET /members/list Gebruikersnaam en volledige naam van alle leden

Retourneert alle kandidaat-leden en gewone leden, maar alleen hun gebruikersnaam en volledige naam. Dit is handig voor het maken van drop-downs, etc. Dit endpoint is ook buiten het interne netwerk beschikbaar via https://people.debolk.nl/members/list.

OAuth toegangsniveau

Alleen leden

Parameters

geen

Resultaat

[{"uid": "peter", "name": "Peter Dummy"}]
GET /members/past Informatie over alle oud-leden

Retourneert de gegevens van alle oud-leden van De Bolk.

OAuth toegangsniveau

Alleen leden

Parameters

geen

Resultaat

[{ "uid": "peter", "initials": "P", "firstname": "Peter", "lastname": "Dummy", "email": "pdummy@debol.nl", "mobile": "06-123456789", "phone_parents": "0031229218245", "address": "Buitenwatersloot 1-3\r\n2613TA Delft", "dateofbirth": "1960-10-27", "gender": "M", "href": "https://people.i.bolkhuis.nl/persons/pdummy", "name": "Peter Dummy", "membership": "lid" }]
GET /members/candidate Informatie over alle kandidaatleden

Retourneert de gegevens van alle kandidaatleden van De Bolk.

OAuth toegangsniveau

Alleen leden

Parameters

geen

Resultaat

[{ "uid": "peter", "initials": "P", "firstname": "Peter", "lastname": "Dummy", "email": "pdummy@debol.nl", "mobile": "06-123456789", "phone_parents": "0031229218245", "address": "Buitenwatersloot 1-3\r\n2613TA Delft", "dateofbirth": "1960-10-27", "gender": "M", "href": "https://people.i.bolkhuis.nl/persons/pdummy", "name": "Peter Dummy", "membership": "kandidaatlid" }]