OData-API’et er et read-only API til at udlæse organisations- og identitetsdata. Det udstilles på:
https://kommune.sofd.io/odata/API-nøglen sendes i headeren ApiKey. Det fulde skema (entiteter og felter) kan
altid hentes som OData-metadata:
GET https://kommune.sofd.io/odata/$metadataEntiteter#
Følgende entiteter kan tilgås direkte med egne endpoints:
- Persons (
/odata/Persons) – personer (navn, CPR, kaldenavn, persontype med videre). - OrgUnits (
/odata/OrgUnits) – organisatoriske enheder (navn, CVR, EAN, type, overordnet enhed med videre). - Functions (
/odata/Functions) – funktioner.
Relaterede data hentes via $expand fra disse, for eksempel:
- fra Persons: tilknytninger, brugerkonti, telefoner, adresser, orlov, stedfortrædere, børn og foto.
- fra OrgUnits: adresser, telefoner, KLE, leder, tags og tilknytninger.
- fra en tilknytning (via en person eller enhed): enhed, person, KLE og funktioner.
Tilknytninger, brugerkonti, funktionstildelinger og foto indgår i datamodellen og
kan udlæses via $expand, men har ikke deres egne top-level endpoints.
Forespørgsler#
OData understøtter standard query-parametre, blandt andet $filter, $select,
$expand, $orderby, $count og $top. Eksempler:
# Personer der hedder Anders
GET /odata/Persons?$filter=Firstname eq 'Anders'
ApiKey: xxxx-xxxx-xxxx-xxxx
# Enheder, kun navn og EAN, sorteret efter navn
GET /odata/OrgUnits?$select=Name,Ean&$orderby=Name
# Personer med deres tilknytninger og brugerkonti
GET /odata/Persons?$expand=Affiliations,UsersFor den fulde OData-syntaks henvises til den officielle OData-dokumentation.
Adgangsbegrænsning#
Adgangen pr. nøgle kan begrænses til bestemte felter (fx adgang til navn, men ikke CPR) og til bestemte afsender-IP-adresser. Der kan kun læses via OData.