Gå til hovedinnhold

Fra FSWS-Alumni til FS GraphQL API

FSWS-Alumni er under utfasing og erstattes av FS GraphQL API. Alumni-tjenesten brukes til å hente data om innloggede brukere (autentisert via Feide/Dataporten):

  • Persondata (navn, epost, telefon, adresse)
  • Aktive studier med studieprograminformasjon
  • Oppnådde kvalifikasjoner (grader)

Under gir vi eksempler på hvordan du kan migrere fra FSWS-Alumni til FS GraphQL API. 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.

GET /alumni/data - Hent alumni-data

FSWS-Alumni returnerte et AlumniPerson-objekt med persondata, aktive studier og kvalifikasjoner for den innloggede brukeren.

I FS GraphQL API erstattes dette av spørringen studenterGittFeideBrukere.

Viktige forskjeller:

  • FS GraphQL API krever eierOrganisasjonskode som parameter (tilsvarer institusjonsnummeret)
  • Autentisering skjer via standard OAuth2/OIDC-flyt med access token
  • FS GraphQL API bruker Relay-style connections med edges og nodes for lister

Eksempel på GraphQL-spørring

query HentAlumniData($eierOrganisasjonskode: String!, $feideBrukere: [String!]!) {
studenterGittFeideBrukere(
eierOrganisasjonskode: $eierOrganisasjonskode
feideBrukere: $feideBrukere
) {
id
studentnummer
personProfil {
id
personlopenummer
fodselsdato
navn {
fornavn
etternavn
}
privatEpost
institusjonsEpost
mobilTelefon {
landnummer
nummer
}
postadresse {
co
gate
postnummerOgSted
land
}
folkeregistrertAdresse {
co
gate
postnummerOgSted
land
}
}
programStudieretter(filter: { aktivStatus: [AKTIV] }) {
edges {
node {
id
studierettperiode {
fraDato
tilDato
}
studieprogram {
kode
navnAlleSprak {
nb
nn
en
}
studienivaintervallkode
studieansvarligOrganisasjonsenhet {
id
forkortelse
}
forerTilKvalifikasjon {
id
navnAlleSprak {
nb
nn
en
}
}
}
kull {
id
navnAlleSprak {
no
en
}
terminV2 {
arstall
}
}
}
}
}
oppnaddKvalifikasjon {
id
datoOppnadd
erKunngjort
kvalifikasjon {
id
navnAlleSprak {
nb
nn
en
}
}
studieprogram {
kode
navnAlleSprak {
nb
nn
en
}
studienivaintervallkode
}
}
}
}

Variabler:

{
"eierOrganisasjonskode": "1234",
"feideBrukere": ["brukernavn@feide.no"]
}

Eksempel på svar

{
"data": {
"studenterGittFeideBrukere": [
{
"id": "OTk6MTIzNCw5Mzg",
"studentnummer": "123456",
"personProfil": {
"id": "NzY6MTIzNCw5Mzg",
"personlopenummer": "938",
"fodselsdato": "1990-01-15",
"navn": {
"fornavn": "Ola",
"etternavn": "Nordmann"
},
"privatEpost": "ola.nordmann@example.com",
"institusjonsEpost": "ola.nordmann@student.uio.no",
"mobilTelefon": {
"landnummer": "47",
"nummer": "12345678"
},
"postadresse": {
"co": null,
"gate": "Storgata 1",
"postnummerOgSted": "0123 Oslo",
"land": "Norge"
},
"folkeregistrertAdresse": null
},
"programStudieretter": {
"edges": [
{
"node": {
"id": "MTIzOjEyMzQsOTM4LFBST0ctMTIz",
"studierettperiode": {
"fraDato": "2020-08-01",
"tilDato": null
},
"studieprogram": {
"kode": "PROG-123",
"navnAlleSprak": {
"nb": "Bachelorprogram i informatikk",
"nn": null,
"en": "Bachelor's Programme in Informatics"
},
"studienivaintervallkode": "BACHELOR",
"studieansvarligOrganisasjonsenhet": {
"id": "T1I6MTIzNCwxMDAsMTAwLDEwMA",
"forkortelse": "IFI"
},
"forerTilKvalifikasjon": {
"id": "R1I6MTIzNCxCQUM",
"navnAlleSprak": {
"nb": "Bachelor",
"nn": "Bachelor",
"en": "Bachelor"
}
}
},
"kull": {
"id": "S1U6MTIzNCxQUk9HLTEyMywyMDIwLEjDmFNU",
"navnAlleSprak": {
"no": "Kull 2020",
"en": "Cohort 2020"
},
"terminV2": {
"arstall": 2020
}
}
}
}
]
},
"oppnaddKvalifikasjon": []
}
]
}
}

Feltmapping

Tabellene under viser hvordan feltene i FSWS-Alumni mapper til FS GraphQL API.

AlumniPerson (persondata)

FSWS-Alumni feltFS GraphQL API felt
idpersonProfil.personlopenummer
firstNamepersonProfil.navn.fornavn
lastNamepersonProfil.navn.etternavn
emailpersonProfil.privatEpost eller personProfil.institusjonsEpost
phoneNumberpersonProfil.mobilTelefon.landnummer + personProfil.mobilTelefon.nummer
dobpersonProfil.fodselsdato
startOfStudyTidligste programStudieretter.edges[].node.studierettperiode.fraDato

AlumniAddress (adresse)

FSWS-Alumni feltFS GraphQL API felt
streetpersonProfil.postadresse.gate
citypersonProfil.postadresse.postnummerOgSted
postCode(inkludert i postnummerOgSted)
countrypersonProfil.postadresse.land
countryNameNor, countryNameEnMå hentes separat via land-oppslag

AlumniActiveStudy (aktive studier)

FSWS-Alumni feltFS GraphQL API felt
placeprogramStudieretter.edges[].node.studieprogram.studieansvarligOrganisasjonsenhet
program.codeprogramStudieretter.edges[].node.studieprogram.kode
program.nameNorwegianprogramStudieretter.edges[].node.studieprogram.navnAlleSprak.nb
program.nameEnglishprogramStudieretter.edges[].node.studieprogram.navnAlleSprak.en
studyClass.yearprogramStudieretter.edges[].node.kull.terminV2.arstall
studyClass.nameNorwegianprogramStudieretter.edges[].node.kull.navnAlleSprak.no
studyClass.nameEnglishprogramStudieretter.edges[].node.kull.navnAlleSprak.en
qualification.levelprogramStudieretter.edges[].node.studieprogram.studienivaintervallkode
qualification.nameNorwegianprogramStudieretter.edges[].node.studieprogram.forerTilKvalifikasjon.navnAlleSprak.nb
qualification.nameEnglishprogramStudieretter.edges[].node.studieprogram.forerTilKvalifikasjon.navnAlleSprak.en

AlumniQualification (oppnådde kvalifikasjoner)

FSWS-Alumni feltFS GraphQL API felt
leveloppnaddKvalifikasjon.studieprogram.studienivaintervallkode
codeoppnaddKvalifikasjon.kvalifikasjon.id
nameNorwegianoppnaddKvalifikasjon.kvalifikasjon.navnAlleSprak.nb
nameEnglishoppnaddKvalifikasjon.kvalifikasjon.navnAlleSprak.en
dateoppnaddKvalifikasjon.datoOppnadd
areaOfStudy.codeoppnaddKvalifikasjon.studieprogram.kode
areaOfStudy.nameNorwegianoppnaddKvalifikasjon.studieprogram.navnAlleSprak.nb
areaOfStudy.nameEnglishoppnaddKvalifikasjon.studieprogram.navnAlleSprak.en

Kontakt oss for hjelp ved behov

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