Oppdeling
Detaljene i API'et er dokumentert i Swagger
Prod: https://api.fellesstudentsystem.no/swagger.html
Test/Demo: https://fsapi-test.uio.no/swagger.html
Utvikling: https://fsapi-utv.uio.no/swagger.html
API'et er delt opp i følgende hoveddeler, som igjen består av ressurser (viser eksempler):
Tverrgående
- Felles (kodeverk)
- Semester
- Land
- Campus
- ...
- Person
- Student
- Semesterregistrering
- ...
- Fagperson
- Personroller
- ...
- Deltaker
- Student
Modul-/områdespesifikk
- Studieprogram
- Kull
- Klasse
- Studierett
- Undervisning
- Undervisning(senhet)
- Undervisningsaktivitet
- Studentundervisning
- Studentundervisningsaktivitet
- EVU
- Kurs
- Aktivitet
- Kursdeltakelse
- Vurdering
- Vurderingsordning
- Vurderingstid
- Vurderingskombinasjon
- Vurderingsenhet
- Studentvurdering
Abstraksjon og ressursvarianter
Ressursene er ikke en 1:1-avbildning mot FS-tabeller, men et abstraksjonslag som skjuler teknisk kompleksitet. F.eks:
- "Person" er et begrep som inneholder student og/eller fagperson-informasjon
- Tekniske forskjeller som at forskjellige typer telefonnumre er skilt ut i en egen tabell (PersonTelefon), mens forskjellige typer adresser ligger "flatt", er standardisert slik at alt presenteres på samme form (lister av kontaktinformasjon av forskjellige typer)
- Kodeverk med mye informasjon som refereres mange steder tilgjengeliggjøres som egne ressurser, mens andre koder presenteres inline der de refereres
Hver ressurs forekommer i en collection-variant og en individvariant (alt etter om ID er angitt) samt et potensielt sett underressurser (sistnevnte er foreløpig ikke implementert).
Operasjoner
Hver ressurs har en URL, og kalles med en operasjon (HTTP-verb):
- GET: Henter informasjon
- POST: Lagrer informasjon
- PATCH: Lagrer informasjon med mulighet for blanking
- DELETE: Sletter informasjon
| Operasjon | Collection | Individ | Underressurs |
|---|---|---|---|
| GET | Henter liste av individer med evt. filter/sortering/paginering (default kun ID) | Henter et individ (default all informasjon) | Henter informasjon om et individ |
| POST | Oppretter et individ (ID er ikke kjent) | Endrer et individ (ID er kjent) | Lagrer informasjon om et individ |
| PATCH | N/A | Endrer et individ (ID er kjent) - Eksplisitt blanke felt gir blanking i basen (gjelder kun et utvalg felt) | Sletter (blanker) informasjon om et individ |
| DELETE | N/A | Sletter (ev. deaktiverer) et individ | Sletter (blanker) informasjon om et individ |
Dataformat
Data leveres på JSON- eller XML-format. Du kan velge mellom JSON og XML via Content-Type.
Felles studentsystem