OS2sofd - Om OS2sofd: https://www.sofd.io/ - Brugervejledning: https://www.sofd.io/brugervejledning/ - Arkitektur: https://www.sofd.io/arkitektur/ - Implementeringsdrejebøger: https://www.sofd.io/implementation-guides/ - Drejebog: OPUS-kommune: https://www.sofd.io/implementation-guides/opus-loen-integration/ - Drejebog: SD-kommune: https://www.sofd.io/implementation-guides/sd-loen-integration/ - Brugerstyring: https://www.sofd.io/idm/ - Forudsætninger og forberedelse: https://www.sofd.io/idm/prerequisites/ - Processer og hændelser: https://www.sofd.io/idm/processes/ - Personinaktivering: https://www.sofd.io/idm/person-inactivation/ - Konfiguration: https://www.sofd.io/idm/configuration/ - Login og SAML: https://www.sofd.io/login/ - API: https://www.sofd.io/api/ - OData (læsning): https://www.sofd.io/api/odata/ - REST-API: https://www.sofd.io/api/rest/ - Fremtidig API-udvikling: https://www.sofd.io/api/strategi/ - Integrationer: https://www.sofd.io/integrationer/ - On-premise agenter: https://www.sofd.io/agents/ - Brugerkonto Agent: https://www.sofd.io/agents/user-account-agent/ - AD Writeback Agent: https://www.sofd.io/agents/ad-writeback-agent/ - AD Replikator Agent: https://www.sofd.io/agents/ad-replikator/ - AD indlæsningsintegration: https://www.sofd.io/agents/ad-indlaesningsintegration/ - OPUS indlæsningsintegration: https://www.sofd.io/agents/opus-indlaesningsintegration/ - Indlæsning af skoleelever: https://www.sofd.io/agents/skoleelev-indlaesning/ - OS2vikar - Brugerkonto Agent: https://www.sofd.io/agents/os2vikar-agent/ - Download: https://www.sofd.io/downloads/ - Ændringslog: https://www.sofd.io/changelog/ - Support og kontakt: https://www.sofd.io/support/ 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/$metadata ``` ## Entiteter 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,Users ``` For den fulde OData-syntaks henvises til den officielle [OData-dokumentation](https://www.odata.org/documentation/). ## 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.