Gå til hovedinnhold

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 endepunktBeskrivelseFS GraphQL API erstatning
GET /semreg/gyldigSjekk om student har gyldig semesterregistreringmegVedLarested
GET /semreg/infoHent fullstendig studentinformasjon for studentbevismegVedLarested
GET /semreg/devices/\{userid\}Hent aktiv enhet for brukerIngen erstatning
PUT /semreg/devices/\{userid\}Sett aktiv enhet for brukerIngen erstatning

Merk: Enhetsendepunktene (/semreg/devices) har ingen erstatning i FS GraphQL API.

Viktige forskjeller

  • Autentisering: Semreg brukte X-Dataporten-userid-sec-header med format feide:brukernavn@domene eller nin:fødselsnummer. FS GraphQL API bruker standard OAuth2/OIDC med access token.
  • Identifikasjon: Semreg bestemte institusjon ut fra Feide-domene eller institusjonsnr-parameter. Med megVedLarested i 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 gyldig og datoGyldigTil basert på semesterregistreringer. I GraphQL gir gjeldendeSemesterkvittering tilsvarende data direkte via erGyldigNaa og utlopsdato.
  • Studentbeviskode: Semregs strekkode-felt heter studentbeviskode i 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 feltFS GraphQL API (sti fra megVedLarested)
navnnavn.fornavn + navn.etternavn
brukernavnfeideBruker
fodselsdatofodselsdato
studentnrstudent.studentnummer
gyldigRegistrertstudent.gjeldendeSemesterkvittering.erGyldigNaa
terminstudent.gjeldendeSemesterkvittering.termin.arstall + student.gjeldendeSemesterkvittering.termin.betegnelse.kode
datoGyldigTilstudent.gjeldendeSemesterkvittering.utlopsdato
studiestedstudent.larested.navnAlleSprak.nb
studiestedEnstudent.larested.navnAlleSprak.en
bilde.bildeBase64student.bilde.bilde
bilde.bildetypestudent.bilde.filtype
strekkodestudent.studentbeviskode
escnInfoUrlstudent.escUrl

Gyldighetsstatus (GET /semreg/gyldig)

FSWS-Feide SemregFS GraphQL API
Returnerer true/falsegjeldendeSemesterkvittering.erGyldigNaa

Kontakt oss for hjelp ved behov

Kontakt kontakt@sikt.no dersom du trenger hjelp til å komme i gang, eller underveis i migreringen.