Fra FSWS-Feide Semreg til FS GraphQL API
FSWS-Feide Semreg er under utfasing og erstattes av FS GraphQL API. Semreg-tjenesten brukes til å hente studentdata for digitalt studentbevis, inkludert:
- Validering av gyldig semesterregistrering
- Studentinformasjon (navn, studentnummer, fødselsdato)
- Semesterregistreringsstatus med gyldig-til-dato
- Studentbilde, studentkort og studentbeviskode
- Studiested (institusjonsnavn)
- European Student Card (ESC) URL
Under gir vi eksempler for endepunktene som skal migreres. GraphQL gir imidlertid stor fleksibilitet når det gjelder hvordan du henter dataene. Vi anbefaler at du bruker tid på å sette sammen spørringer som passer ditt behov.
Oversikt
| FSWS-Feide Semreg endepunkt | Beskrivelse | FS GraphQL API erstatning |
|---|---|---|
GET /semreg/gyldig | Sjekk om student har gyldig semesterregistrering | megVedLarested |
GET /semreg/info | Hent fullstendig studentinformasjon for studentbevis | megVedLarested |
GET /semreg/devices/\{userid\} | Hent aktiv enhet for bruker | Ingen erstatning |
PUT /semreg/devices/\{userid\} | Sett aktiv enhet for bruker | Ingen erstatning |
Merk: Enhetsendepunktene (/semreg/devices) har ingen erstatning i FS GraphQL API.
Viktige forskjeller
- Autentisering: Semreg brukte
X-Dataporten-userid-sec-header med formatfeide:brukernavn@domeneellernin:fødselsnummer. FS GraphQL API bruker standard OAuth2/OIDC med access token. - Identifikasjon: Semreg bestemte institusjon ut fra Feide-domene eller
institusjonsnr-parameter. MedmegVedLarestedi GraphQL trenger du ikke oppgi institusjon - spørringen returnerer automatisk data for alle læresteder den innloggede brukeren er registrert ved og som klienten har tilgang til. - Respons: Semreg returnerte et flatt
Student-objekt med all informasjon samlet. GraphQL returnerer strukturerte, typede objekter med separate felt for ulike dataområder. - Gyldighetsstatus: Semreg beregnet en enkel boolean
gyldigogdatoGyldigTilbasert på semesterregistreringer. I GraphQL girgjeldendeSemesterkvitteringtilsvarende data direkte viaerGyldigNaaogutlopsdato. - Studentbeviskode: Semregs
strekkode-felt heterstudentbeviskodei GraphQL. Feltet returnerer samme verdi basert på lærestedets konfigurasjon (studentnummer, studentkortnummer eller lånetaker-ID).
GET /semreg/gyldig
Semreg returnerte en enkel boolean som angir om studenten har gyldig semesterregistrering.
I GraphQL bruker du megVedLarested for å hente personprofiler for den innloggede brukeren, og navigerer til student.gjeldendeSemesterkvittering som gir feltet erGyldigNaa - en direkte erstatning for Semregs gyldighetsstatus.
FSWS-Feide Semreg eksempel:
GET /semreg/gyldig
X-Dataporten-userid-sec: feide:ola@uio.no
FSWS-Feide Semreg respons:
true
FS GraphQL API spørring:
query SjekkGyldigSemesterregistrering {
megVedLarested {
student {
gjeldendeSemesterkvittering {
erGyldigNaa
utlopsdato
termin {
arstall
betegnelse {
kode
}
}
}
}
}
}
Eksempel på respons:
{
"data": {
"megVedLarested": [
{
"student": {
"gjeldendeSemesterkvittering": {
"erGyldigNaa": true,
"utlopsdato": "2026-08-31",
"termin": {
"arstall": 2026,
"betegnelse": {
"kode": "VÅR"
}
}
}
}
}
]
}
}
GET /semreg/info
Semreg returnerte et komplett Student-objekt med all informasjon som trengs for digitalt studentbevis.
I GraphQL bruker du megVedLarested og navigerer via PersonProfil til student for å hente tilsvarende data.
FSWS-Feide Semreg eksempel:
GET /semreg/info
X-Dataporten-userid-sec: feide:ola@uio.no
FSWS-Feide Semreg respons (forenklet):
{
"navn": "Ola Nordmann",
"brukernavn": "ola",
"fodselsdato": "1990-01-15",
"studentnr": "123456",
"strekkode": "123456",
"gyldigRegistrert": true,
"termin": "2026V",
"datoGyldigTil": "2026-08-16",
"studiested": "Universitetet i Oslo",
"studiestedEn": "University of Oslo",
"escnInfoUrl": "https://myesc.org/12345678",
"bilde": {
"bildeBase64": "/9j/4AAQSkZJRgABAQ...",
"bildetype": "JPG"
}
}
FS GraphQL API spørring:
query HentStudentInfo {
megVedLarested {
navn {
fornavn
etternavn
}
fodselsdato
feideBruker
student {
studentnummer
studentbeviskode
larested {
navnAlleSprak {
nb
en
}
}
gjeldendeSemesterkvittering {
erGyldigNaa
utlopsdato
termin {
arstall
betegnelse {
kode
}
}
}
escUrl
bilde {
bilde
filtype
}
}
}
}
Eksempel på respons:
{
"data": {
"megVedLarested": [
{
"navn": {
"fornavn": "Ola",
"etternavn": "Nordmann"
},
"fodselsdato": "1990-01-15",
"feideBruker": "ola@uio.no",
"student": {
"studentnummer": "123456",
"studentbeviskode": "123456",
"larested": {
"navnAlleSprak": {
"nb": "Universitetet i Oslo",
"en": "University of Oslo"
}
},
"gjeldendeSemesterkvittering": {
"erGyldigNaa": true,
"utlopsdato": "2026-08-31",
"termin": {
"arstall": 2026,
"betegnelse": {
"kode": "VÅR"
}
}
},
"escUrl": "https://myesc.org/12345678",
"bilde": {
"bilde": "/9j/4AAQSkZJRgABAQ...",
"filtype": "JPG"
}
}
}
]
}
}
Alternative oppslag
Dersom du ikke bruker Feide-autentisering, kan du bruke studenterGittFeideBrukere eller studenterGittFodselsnumre. Disse returnerer StudentVedLarested direkte, så persondata hentes via personProfil:
query HentStudentInfoGittFeideBrukere {
studenterGittFeideBrukere(
eierOrganisasjonskode: "1234"
feideBrukere: ["ola@uio.no"]
) {
studentnummer
studentbeviskode
personProfil {
navn { fornavn etternavn }
fodselsdato
feideBruker
}
larested {
navnAlleSprak { nb en }
}
gjeldendeSemesterkvittering {
erGyldigNaa
utlopsdato
termin {
arstall
betegnelse { kode }
}
}
escUrl
bilde {
bilde
filtype
}
}
}
query HentStudentInfoGittFodselsnumre {
studenterGittFodselsnumre(
eierOrganisasjonskode: "1234"
fodselsnumre: ["XXXXXXXXXXX"]
) {
studentnummer
studentbeviskode
personProfil {
navn { fornavn etternavn }
fodselsdato
feideBruker
}
larested {
navnAlleSprak { nb en }
}
gjeldendeSemesterkvittering {
erGyldigNaa
utlopsdato
termin {
arstall
betegnelse { kode }
}
}
escUrl
bilde {
bilde
filtype
}
}
}
Feltmapping: FSWS-Feide Semreg til FS GraphQL API
Student-objektet (GET /semreg/info)
| FSWS-Feide Semreg felt | FS GraphQL API (sti fra megVedLarested) |
|---|---|
navn | navn.fornavn + navn.etternavn |
brukernavn | feideBruker |
fodselsdato | fodselsdato |
studentnr | student.studentnummer |
gyldigRegistrert | student.gjeldendeSemesterkvittering.erGyldigNaa |
termin | student.gjeldendeSemesterkvittering.termin.arstall + student.gjeldendeSemesterkvittering.termin.betegnelse.kode |
datoGyldigTil | student.gjeldendeSemesterkvittering.utlopsdato |
studiested | student.larested.navnAlleSprak.nb |
studiestedEn | student.larested.navnAlleSprak.en |
bilde.bildeBase64 | student.bilde.bilde |
bilde.bildetype | student.bilde.filtype |
strekkode | student.studentbeviskode |
escnInfoUrl | student.escUrl |
Gyldighetsstatus (GET /semreg/gyldig)
| FSWS-Feide Semreg | FS GraphQL API |
|---|---|
Returnerer true/false | gjeldendeSemesterkvittering.erGyldigNaa |
Kontakt oss for hjelp ved behov
Kontakt kontakt@sikt.no dersom du trenger hjelp til å komme i gang, eller underveis i migreringen.