Eksempler
Alle Java-eksempler benytter seg av Apache HTTP Client
Alle eksempler går mot vår kurs/utv-base så eventuelle data man ser her er fiktive.
Tilgjengelige grensesnitt
- Oppslag i godkjenningssaker for Lånekassen
- Hent undervisning for en student
- Hent eksamener for en student
- Hent studieprogram for en student
- Hent aktive emner
- Hent emner med eksamen
- Hent undervisningsaktiviteter
- Oppdater undervisningsaktiviteter fra TP
- Hente data for en student
- Hente ut studenter med endrede data siden en angitt tid
Oppslag i godkjenningssaker for Lånekassen
Denne tjenesten slår opp i godkjenningssaker for en student. Denne tjenesten brukes av Lånekassen for å sjekke om en student har et gyldig utenlandsopphold i.f.m. stipend. Dette er en POST-metode som tar en xml-spørring som parameter og returnerer en xml som svar.
URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/lanekassen/delstudier
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/lanekassen/delstudier
Eksempel på XML-spørring
<delstudie> <fnr>9539190153</fnr> <instnr>1234</instnr> <delstudie_start dtf="yyyy-MM-dd">2014-01-01</delstudie_start> <delstudie_slutt dtf="yyyy-MM-dd">2015-12-31</delstudie_slutt> </delstudie>
Java eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; public class GetDelstudier { private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/lanekassen/delstudier"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpPost post = new HttpPost(theUrl); List<NameValuePair> parameters = new ArrayList<NameValuePair>(); parameters.add(new BasicNameValuePair("xml", "<delstudie><fnr>9539190153</fnr><instnr>1234</instnr><delstudie_start dtf=\"yyyy-MM-dd\">2014-01-01</delstudie_start><delstudie_slutt dtf=\"yyyy-MM-dd\">2015-12-31</delstudie_slutt></delstudie>")); post.setEntity(new UrlEncodedFormEntity(parameters)); HttpResponse response = client.execute(post); response.getEntity().writeTo(System.out); } }
Hent undervisning for en student
Denne tjenesten henter undervisning for en student basert på år og termin. Dette er en GET-tjeneste som tar Query-parametre og returnerer et JSON-objekt. Henter fra Undervisningsaktivitet og undervisningsmelding.
URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/undervisning?brukernavn=<brukernavn>&arstall=<årstall>&terminkode=<termin>
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/undervisning?brukernavn=t<brukernavn>&arstall=<årstall>&terminkode=<termin>
- brukernavn - Brukernavnet til studenten
- arstall - Årstall man skal hente fra
- terminkode - Ett-bokstavs terminkode (H/V)
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetUndervisning { private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/undervisning?brukernavn=testbruker123&arstall=2015&terminkode=H"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
{ "timestamp":"2015-07-08T08:11:09Z", "semesterkode":"15h", "emner":[ { "emnekode":"UND12", "terminnr":1, "fellesundervisning":[ { "aktivitetkode":"1", "undervisningsformkode":"FOR" } ], "partiundervisning":[ { "aktivitetkode":"2-1", "undervisningsformkode":"GR", "partinummer":1 }, { "aktivitetkode":"3-2", "undervisningsformkode":"PRA-I", "partinummer":2 } ] }, { "emnekode":"UND23", "terminnr":1, "fellesundervisning":[ ], "partiundervisning":[ { "aktivitetkode":"2-2", "undervisningsformkode":"GR", "partinummer":2 } ] }, { "emnekode":"UND14", "terminnr":1, "fellesundervisning":[ { "aktivitetkode":"1-2", "undervisningsformkode":"FOR" }, { "aktivitetkode":"1-3", "undervisningsformkode":"FOR" }, { "aktivitetkode":"1", "undervisningsformkode":"FOR" }, { "aktivitetkode":"1-1", "undervisningsformkode":"FOR" }, { "aktivitetkode":"1-8", "undervisningsformkode":"FOR" }, { "aktivitetkode":"1-4", "undervisningsformkode":"FOR" }, { "aktivitetkode":"1-6", "undervisningsformkode":"FOR" }, { "aktivitetkode":"1-7", "undervisningsformkode":"FOR" }, { "aktivitetkode":"1-5", "undervisningsformkode":"FOR" } ], "partiundervisning":[ { "aktivitetkode":"3-1", "undervisningsformkode":"KOL", "partinummer":1 }, { "aktivitetkode":"2-4", "undervisningsformkode":"BASIS", "partinummer":4 } ] } ] }
Hent eksamener for en student
Denne tjenesten henter eksamener for en student basert på år og termin. Dette er en GET-tjeneste som tar Query-parametre og returnerer et JSON-objekt. Henter fra Undervisningsaktivitet og undervisningsmelding.
URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/eksamen?brukernavn=<brukernavn>&arstall=<årstall>&terminkode=<termin>
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/eksamen?brukernavn=t<brukernavn>&arstall=<årstall>&terminkode=<termin>
- brukernavn - Brukernavnet til studenten
- arstall - Årstall man skal hente fra
- terminkode - Ett-bokstavs terminkode (H/V)
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetEksamen { private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/eksamen?brukernavn=testbruker123&arstall=2015&terminkode=H"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
{ "timestamp":"2015-07-08T08:25:10Z", "semesterkode":"15h", "eksamener":[ { "emnekode":"UNDPRA02", "ordninger":[ { "navn":"Praksis 1. trinn", "eksamensdeler":[ { "navn":"Praksis 1. trinn", "form":"P" } ] } ] }, { "emnekode":"UNDPRA03", "ordninger":[ { "navn":"Praksis 1. trinn", "eksamensdeler":[ { "navn":"Praksis 1. trinn", "form":"P" } ] } ] }, { "emnekode":"UND08", "ordninger":[ { "navn":"Skriftlig eksamen", "eksamensdeler":[ { "navn":"Skriftlig eksamen", "form":"S" } ] } ] } ] }
Hent studieprogram for en student
Denne tjenesten henter studieprogram for en student. Dette er en GET-tjeneste som tar Query-parametre og returnerer et JSON-objekt. Henter fra Undervisningsaktivitet og undervisningsmelding.
URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/studieprogram?brukernavn=<brukernavn>
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/studieprogram?brukernavn=t<brukernavn>
- brukernavn - Brukernavnet til studenten
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetStudieprogram { private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/studieprogram?brukernavn=testbruker123"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
{ "studieprogrammer":[ { "programkode":"HFB3-SPR" }, { "programkode":"KK24-SPR" } ] }
Hent aktive emner
Denne tjenesten henter aktive emner for et gitt semester. Dette er en GET-tjeneste som tar query-parametre og returnerer et JSON-objekt.
URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/aktiveemner?arstall=<årstall>&terminkode=<termin>
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/aktiveemner?arstall=<årstall>&terminkode=<termin>
- arstall - Årstall man skal hente fra
- terminkode - Ett-bokstavs terminkode (H/V)
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetAktiveemner { private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/aktiveemner?arstall=2015&terminkode=H"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
{ "semesterkode":"15h", "timestamp":"2015-07-08T08:35:13Z", "emner":[ { "emnekode":"BIO1000", "terminnr":1, "stedkode":185140000, "emnenavn":"Grunnkurs i biologi" }, { "emnekode":"UND15", "terminnr":1, "stedkode":185150000, "emnenavn":"Undervisningskursemne" }, { "emnekode":"UND18", "terminnr":1, "stedkode":185150000, "emnenavn":"Undervisningskursemne" } ] }
Hent emner med eksamen
Denne tjenesten henter emner som har eksamen for et gitt semester. Dette er en GET-tjeneste som tar query-parametre og returnerer et JSON-objekt.
URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/emner_eksamen?arstall=<årstall>&terminkode=<termin>
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/emner_eksamen?arstall=<årstall>&terminkode=<termin>
- arstall - Årstall man skal hente fra
- terminkode - Ett-bokstavs terminkode (H/V)
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetAktiveemner { private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/emner_eksamen?arstall=2015&terminkode=H"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
{ "semesterkode": "15v", "timestamp": "2016-04-13T07:48:16Z", "emner": [ { "emnekode": "NOR4390", "emnenavn": "Masteroppgave i nordisk, særlig norsk, litteraturvitenskap", "stedkode": "185 14 35 40", "versjonskode": "1" }, { "emnekode": "ITA4190", "emnenavn": "Masteroppgave i italiensk språk", "stedkode": "185 14 34 60", "versjonskode": "1" }, { "emnekode": "MAT0100V", "emnenavn": "Matematikk 2 for grunnskolelærere", "stedkode": "185 15 13 00", "versjonskode": "1" } ] }
Hent undervisningsaktiviteter
Denne tjenesten henter undervisningsaktivteter for et gitt emne i et gitt semester.
Dette er en GET-tjeneste som tar query-parametre og returnerer et JSON-objekt.
URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/undervisningsaktiviteter?arstall=<årstall>&terminkode=<termin>&emnekode=<emnekode>
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/undervisningsaktiviteter?arstall=<årstall>&terminkode=<termin>&emnekode=<emnekode>
- arstall - Årstall man skal hente fra
- terminkode - Ett-bokstavs terminkode (H/V)
- emnekode - Emnekoden man vil hente for
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetUndervisningsaktiviteter { private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/undervisningsaktiviteter?arstall=2015&terminkode=H&emnekode=BIO1000"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
{ "semesterkode":"15h", "timestamp":"2015-07-08T08:42:58Z", "emnekode":"BIO1000", "versjonskode":"1", "terminer":[ { "terminnr":1, "aktiviteter":[ { "aktivitetkode":"1", "aktivitetsnavn":"Forelesning", "undformkode":"FOR", "undpartilopenr":null, "timeplan":[ { "undplanlopenr":1, "aktivitetsnavn":"Forelesning", "plasser":"60", "romtypekode":"AUD", "klokkeslett-fra":"12:15:00+0100", "klokkeslett-til":"15:00:00+0100", "dato-fra":"2015-08-02", "dato-til":"2015-12-12", "timetall-pr-uke":2, "dag":"MON", "aar":2015, "bygning":null, "publiseres":"J", "undformkode":"FOR", "aktivitetkode-ref":null, "undplanlopenr-ref":null, "uker":"31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50", "rom":[ { "bygningkode":"FB", "romkode":"A2" } ], "personrolle":[ ], "fag":[ ] } ] } ] } ] }
Oppdater undervisningsaktiviteter fra TP
Denne tjenesten oppdaterer undervisningsaktiviteter FS fra timeplanleggingssystemet til UiO (TP). Dette er en POST-tjeneste som tar Form-parametre og returnerer et JSON-objekt.
URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/oppdater_undakt/
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/oppdater_undakt;
- institusjonsnr - Form-parameter Institusjonsnummer for undervisningsaktiviteten
- json - Form-parameter JSON objekt med data til en undervisningsaktivitet med tihørende undervisningsplaner, rom og personroller som skal oppdateres.
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetListe { private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/oppdater_undakt"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpPost post = new HttpPost(theUrl); post.setEntity(new StringEntity("json-objekt")); HttpResponse response = client.execute(post); response.getEntity().writeTo(System.out); } }
Eksempler på json-objekt
Det er to måter å oppdatere en undervisniningsaktivitet. Med parametere eller med TPid i JSON-objektet. Se under for eksempler på begge måtene
Eksempel på JSON-objekt med TPID
{ "properties": { "id": "02V-EXPHIL-1-1-1", "typename": "blabla", "timestamp" : "2018-08-21T07:40:30Z", "data" : [ { "id": "02V-EXPHIL-1-1-1-5", "undplanlopenr": 5, "klokkeslettstart": "14:15", "klokkeslettslutt": "16:00", "uker": "34,35,36,37,38,39,40,42,43,44,45,46,47,48", "startdato": "2018-08-20", "sluttdato": "2018-11-26", "dag": "M", "timeplanaktivitetsnavn": "LAb 2", "rom" : [ { "romkode" : "SR40", "bygningskode" : "NT" } ], "personrolle" : [ { "brukernavn" : "16583790113", "rolle" : "HOVEDLÆRER", "dato-start" : "2018-08-21", "dato-slutt" : "2018-11-28" } ] }, { "id": "02V-EXPHIL-1-1-1-4", "undplanlopenr": 4, "klokkeslettstart": "14:15", "klokkeslettslutt": "16:00", "uker": "34,35,36,37,38,39,40,42,43,44,45,46,47,48", "startdato": "2018-08-20", "sluttdato": "2018-11-26", "dag": "M", "timeplanaktivitetsnavn": "LAb", "rom" : [ { "romkode" : "SR40", "bygningskode" : "NT" } ], "personrolle" : [ { "brukernavn" : "16583790113", "rolle" : "HOVEDLÆRER", "dato-start" : "2018-08-21", "dato-slutt" : "2018-11-28" } ] } ] } }
Eksempel på JSON-objekt med parametere
{ "properties" : { "emnekode": "EXPHIL", "artermin": "02V", "versjonskode": "1", "terminnr": 1, "aktivitetkode": "1", "typename": "Type 2", "timestamp" : "2018-08-21T07:40:30Z", "data" : [ { "undplanlopenr": 1, "klokkeslettstart": "14:15", "klokkeslettslutt": "16:00", "uker": "34,35,36,37,38,39,40,42,43,44,45,46,47,48", "startdato": "2018-08-20", "sluttdato": "2018-11-26", "dag": "M", "timeplanaktivitetsnavn": "Akt1", "rom": [ { "romkode": "SR40", "bygningskode": "NT" } ], "personrolle": [ { "brukernavn": "16583790113", "rolle": "HOVEDLÆRER", "dato-start": "2018-08-21", "dato-slutt": "2018-11-28" } ] }, { "undplanlopenr": 3, "klokkeslettstart": "14:15", "klokkeslettslutt": "16:00", "uker": "34,35,36,37,38,39,40,42,43,44,45,46,47,48", "startdato": "2018-08-20", "sluttdato": "2018-11-26", "dag": "M", "timeplanaktivitetsnavn": "Akt2", "rom" : [ { "romkode" : "SR40", "bygningskode" : "NT" } ], "personrolle" : [ { "brukernavn" : "16583790113", "rolle" : "HOVEDLÆRER", "dato-start" : "2018-08-21", "dato-slutt" : "2018-11-28" } ] } ] } }
Eksempel på svar
{ "altOK": true, "antallIkkeOppdatert": 0, "rapporter": [ { "timeplanId": "02V-EXPHIL-1-1-1-1", "tilbakemeldingTimeplan": "Timeplanen ble oppdatert.\n", "tilbakemeldingRom": "Status FS oppdatert: J. Rommet (SR40, NT) ble oppdatert.\n", "tilbakemeldingRoller": "Status FS oppdatert: J Personrollen (HOVEDLÆRER) ble oppdatert.\n" }, { "timeplanId": "02V-EXPHIL-1-1-1-3", "tilbakemeldingTimeplan": "Timeplanen ble oppdatert.\n", "tilbakemeldingRom": "Status FS oppdatert: J. Rommet (SR40, NT) ble oppdatert.\n", "tilbakemeldingRoller": "Status FS oppdatert: J Personrollen (HOVEDLÆRER) ble oppdatert.\n" } ], "aktiviteterFraFS": [ { "id": "2V-EXPHIL-1-1-1", "institusjonsnr": 185, "arstall": 2002, "terminkode": "VÅR", "terminnr": 1, "emnekode": "EXPHIL", "versjonskode": "1", "aktivitetkode": "1", "timeplaner": [ { "id": "2V-EXPHIL-1-1-1-1", "undplanlopenr": 1, "klokkeslettstart": "14:15", "klokkeslettslutt": "16:00", "uker": "34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48", "startdato": "2018-08-20", "sluttdato": "2018-11-26", "dag": "M", "merknad": "Oppdatert fra TP 06.09.2018", "timeplanaktivitetsnavn": null, "personrolle": [ { "brukernavn": "16583790113", "rolle": "HOVEDLÆRER", "dato-start": "2018-08-21", "dato-slutt": "2018-11-28" } ], "rom": [ { "romkode": "SR40", "bygningskode": "NT" } ] }, { "id": "2V-EXPHIL-1-1-1-2", "undplanlopenr": 2, "klokkeslettstart": "14:15", "klokkeslettslutt": "16:00", "uker": "34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48", "startdato": "2018-08-20", "sluttdato": "2018-11-26", "dag": "M", "merknad": "Oppdatert fra TP 04.09.2018", "timeplanaktivitetsnavn": null, "personrolle": [ { "brukernavn": "16583790113", "rolle": "HOVEDLÆRER", "dato-start": "2018-08-21", "dato-slutt": "2018-11-28" } ], "rom": [ { "romkode": "SR40", "bygningskode": "NT" } ] }, { "id": "2V-EXPHIL-1-1-1-3", "undplanlopenr": 3, "klokkeslettstart": "14:15", "klokkeslettslutt": "16:00", "uker": "34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48", "startdato": "2018-08-20", "sluttdato": "2018-11-26", "dag": "M", "merknad": "Oppdatert fra TP 06.09.2018", "timeplanaktivitetsnavn": null, "personrolle": [ { "brukernavn": "16583790113", "rolle": "HOVEDLÆRER", "dato-start": "2018-08-21", "dato-slutt": "2018-11-28" } ], "rom": [ { "romkode": "SR40", "bygningskode": "NT" } ] }, { "id": "2V-EXPHIL-1-1-1-4", "undplanlopenr": 4, "klokkeslettstart": "14:15", "klokkeslettslutt": "16:00", "uker": "34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48", "startdato": "2018-08-20", "sluttdato": "2018-11-26", "dag": "M", "merknad": "Oppdatert fra TP 04.09.2018", "timeplanaktivitetsnavn": null, "personrolle": [ { "brukernavn": "16583790113", "rolle": "HOVEDLÆRER", "dato-start": "2018-08-21", "dato-slutt": "2018-11-28" } ], "rom": [ { "romkode": "SR40", "bygningskode": "NT" } ] }, { "id": "2V-EXPHIL-1-1-1-5", "undplanlopenr": 5, "klokkeslettstart": "14:15", "klokkeslettslutt": "16:00", "uker": "34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48", "startdato": "2018-08-20", "sluttdato": "2018-11-26", "dag": "M", "merknad": "Oppdatert fra TP 04.09.2018", "timeplanaktivitetsnavn": null, "personrolle": [ { "brukernavn": "16583790113", "rolle": "HOVEDLÆRER", "dato-start": "2018-08-21", "dato-slutt": "2018-11-28" } ], "rom": [ { "romkode": "SR40", "bygningskode": "NT" } ] } ] }, { "id": "2V-EXPHIL-1-1-10", "institusjonsnr": 185, "arstall": 2002, "terminkode": "VÅR", "terminnr": 1, "emnekode": "EXPHIL", "versjonskode": "1", "aktivitetkode": "10", "timeplaner": [ { "id": "2V-EXPHIL-1-1-10-1", "undplanlopenr": 1, "klokkeslettstart": "11:15", "klokkeslettslutt": "13:00", "uker": null, "startdato": "2002-01-20", "sluttdato": "2002-05-15", "dag": "F", "merknad": null, "timeplanaktivitetsnavn": null, "personrolle": null, "rom": null } ] }, { "id": "2V-EXPHIL-1-1-2", "institusjonsnr": 185, "arstall": 2002, "terminkode": "VÅR", "terminnr": 1, "emnekode": "EXPHIL", "versjonskode": "1", "aktivitetkode": "2", "timeplaner": [ { "id": "2V-EXPHIL-1-1-2-1", "undplanlopenr": 1, "klokkeslettstart": "09:15", "klokkeslettslutt": "11:00", "uker": null, "startdato": "2002-01-20", "sluttdato": "2002-05-15", "dag": "TI", "merknad": null, "timeplanaktivitetsnavn": null, "personrolle": null, "rom": null } ] }, { "id": "2V-EXPHIL-1-1-3", "institusjonsnr": 185, "arstall": 2002, "terminkode": "VÅR", "terminnr": 1, "emnekode": "EXPHIL", "versjonskode": "1", "aktivitetkode": "3", "timeplaner": [ { "id": "2V-EXPHIL-1-1-3-1", "undplanlopenr": 1, "klokkeslettstart": "09:11", "klokkeslettslutt": "11:00", "uker": null, "startdato": "2002-01-20", "sluttdato": "2002-05-15", "dag": "O", "merknad": null, "timeplanaktivitetsnavn": null, "personrolle": null, "rom": null } ] }, { "id": "2V-EXPHIL-1-1-4", "institusjonsnr": 185, "arstall": 2002, "terminkode": "VÅR", "terminnr": 1, "emnekode": "EXPHIL", "versjonskode": "1", "aktivitetkode": "4", "timeplaner": [ { "id": "2V-EXPHIL-1-1-4-1", "undplanlopenr": 1, "klokkeslettstart": "09:11", "klokkeslettslutt": "11:00", "uker": "3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24", "startdato": "2002-01-20", "sluttdato": "2002-06-15", "dag": "TO", "merknad": null, "timeplanaktivitetsnavn": null, "personrolle": null, "rom": null } ] }, { "id": "2V-EXPHIL-1-1-5", "institusjonsnr": 185, "arstall": 2002, "terminkode": "VÅR", "terminnr": 1, "emnekode": "EXPHIL", "versjonskode": "1", "aktivitetkode": "5", "timeplaner": [ { "id": "2V-EXPHIL-1-1-5-1", "undplanlopenr": 1, "klokkeslettstart": "09:11", "klokkeslettslutt": "11:00", "uker": null, "startdato": "2002-01-20", "sluttdato": "2002-05-15", "dag": "F", "merknad": null, "timeplanaktivitetsnavn": null, "personrolle": null, "rom": null }, { "id": "2V-EXPHIL-1-1-5-5", "undplanlopenr": 5, "klokkeslettstart": "14:15", "klokkeslettslutt": "16:00", "uker": "34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48", "startdato": "2018-08-20", "sluttdato": "2018-11-26", "dag": "M", "merknad": "Oppdatert fra TP 03.09.2018", "timeplanaktivitetsnavn": null, "personrolle": null, "rom": null } ] }, { "id": "2V-EXPHIL-1-1-6", "institusjonsnr": 185, "arstall": 2002, "terminkode": "VÅR", "terminnr": 1, "emnekode": "EXPHIL", "versjonskode": "1", "aktivitetkode": "6", "timeplaner": [ { "id": "2V-EXPHIL-1-1-6-1", "undplanlopenr": 1, "klokkeslettstart": "11:15", "klokkeslettslutt": "13:00", "uker": null, "startdato": "2002-01-20", "sluttdato": "2002-05-15", "dag": "M", "merknad": null, "timeplanaktivitetsnavn": null, "personrolle": null, "rom": null }, { "id": "2V-EXPHIL-1-1-6-5", "undplanlopenr": 5, "klokkeslettstart": "14:15", "klokkeslettslutt": "16:00", "uker": "34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48", "startdato": "2018-08-20", "sluttdato": "2018-11-26", "dag": "M", "merknad": "Oppdatert fra TP 31.08.2018", "timeplanaktivitetsnavn": null, "personrolle": null, "rom": null } ] }, { "id": "2V-EXPHIL-1-1-7", "institusjonsnr": 185, "arstall": 2002, "terminkode": "VÅR", "terminnr": 1, "emnekode": "EXPHIL", "versjonskode": "1", "aktivitetkode": "7", "timeplaner": [ { "id": "2V-EXPHIL-1-1-7-1", "undplanlopenr": 1, "klokkeslettstart": "11:15", "klokkeslettslutt": "13:00", "uker": null, "startdato": "2002-01-20", "sluttdato": "2002-05-15", "dag": "TI", "merknad": null, "timeplanaktivitetsnavn": null, "personrolle": null, "rom": null } ] }, { "id": "2V-EXPHIL-1-1-8", "institusjonsnr": 185, "arstall": 2002, "terminkode": "VÅR", "terminnr": 1, "emnekode": "EXPHIL", "versjonskode": "1", "aktivitetkode": "8", "timeplaner": [ { "id": "2V-EXPHIL-1-1-8-1", "undplanlopenr": 1, "klokkeslettstart": "11:15", "klokkeslettslutt": "13:00", "uker": null, "startdato": "2002-01-15", "sluttdato": "2002-05-15", "dag": "O", "merknad": null, "timeplanaktivitetsnavn": null, "personrolle": null, "rom": null } ] }, { "id": "2V-EXPHIL-1-1-9", "institusjonsnr": 185, "arstall": 2002, "terminkode": "VÅR", "terminnr": 1, "emnekode": "EXPHIL", "versjonskode": "1", "aktivitetkode": "9", "timeplaner": [ { "id": "2V-EXPHIL-1-1-9-1", "undplanlopenr": 1, "klokkeslettstart": "11:15", "klokkeslettslutt": "13:00", "uker": null, "startdato": "2002-01-20", "sluttdato": "2002-05-15", "dag": "TO", "merknad": null, "timeplanaktivitetsnavn": null, "personrolle": null, "rom": null } ] } ] }
Hente data for en student
Denne tjenesten henter ut data for en student. Dette er en GET-tjeneste som tar Query-parametre og returnerer et JSON-objekt. Henter fra person, student, studieprogramstudent, registerkort, fakturareskontro, vurdkombmelding.
URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/studentdata?fnr=<fødselsnummer>&bruker=<brukernavn>&arstall=<årstall>&terminkode=<terminkode>&gyldig=<gyldig>
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/studentdata?fnr=<fødselsnummer>&bruker=<brukernavn>&arstall=<årstall>&terminkode=<terminkode>&gyldig=<gyldig>
- fnr - fødselsnummeret til studenten (overstyrer brukernavn dersom begge er gitt som parametre)
- bruker - brukernavnet til studenten
- arstall - Årstall man skal hente fra
- terminkode - Terminkoden (V/H) det skal hentes fra
- gyldig - Flagg (J/N): Dersom "Ja" eller ikke oppgitt settes følgende parametre og overstyrer eventuelle manuelt angitte parametre:
- Arstall inneværende år [registerkort, fakturareskontro, vurdkombmelding]
- Terminkode inneværende termin (V/H) [registerkort, fakturareskontro, vurdkombmelding]
- Status_Reg_OK "J" [registerkort]
- Status_Bet_OK "J" [registerkort]
- StudentStatKode "AKTIV" [studieprogramstudent]
Kun fnr eller bruker er påkrevde parametre.
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetStudentdata { private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/studentdata?bruker=04577690095&arstall=2015&gyldig=Nei"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
{ "fornavn":"Natascha", "etternavn":"Gourova", "emailadresse":null, "telefonnrMobil":"+4712341234", "fodselsdato":45776, "personnr":90095, "studentnrTildelt":100077, "studieprogram":[ { "studentStatKode":"AKTIV", "studieprogramKode":"FLERKULT" }, { "studentStatKode":"AKTIV", "studieprogramKode":"BAFY-UIO" }, { "studentStatKode":"INNDRATT", "studieprogramKode":"BAIV-NIH" }, { "studentStatKode":"INNDRATT", "studieprogramKode":"BAVKFF-HIL" }, { "studentStatKode":"INNDRATT", "studieprogramKode":"TEST" } ], "registerkort":[ { "terminkode":"HØST", "arstall":2015, "statusRegOk":"J", "statusKvitteringSkrevet":null }, { "terminkode":"VÅR", "arstall":2015, "statusRegOk":"J", "statusKvitteringSkrevet":null } ], "fakturareskontro":[ { "terminkode":"VÅR", "arstall":2015, "statusBetalt":"J" } ], "vurdKombMelding":[ { "emnekode":"AST2120", "terminkode":"HØST", "arstall":2015 }, { "emnekode":"AST2120", "terminkode":"HØST", "arstall":2015 }, { "emnekode":"AST2180", "terminkode":"HØST", "arstall":2015 }, { "emnekode":"AST2180", "terminkode":"HØST", "arstall":2015 }, { "emnekode":"AST2180", "terminkode":"HØST", "arstall":2015 }, { "emnekode":"AST2180", "terminkode":"HØST", "arstall":2015 }, { "emnekode":"VK3A", "terminkode":"HØST", "arstall":2015 }, { "emnekode":"TEST", "terminkode":"HØST", "arstall":2015 }, { "emnekode":"AST2110", "terminkode":"VÅR", "arstall":2015 }, { "emnekode":"FYS-MEK1100", "terminkode":"VÅR", "arstall":2015 }, { "emnekode":"FYS-MEK1100", "terminkode":"VÅR", "arstall":2015 }, { "emnekode":"MAT-INF1100", "terminkode":"VÅR", "arstall":2015 }, { "emnekode":"MAT-INF1100", "terminkode":"VÅR", "arstall":2015 } ], "emailadressePrivat":"jkleiser+tor04@fsat.no", "semesteradrLinje2":null, "semesteradrLinje3":"1545 HVITSTEN" }
Hente ut studenter med endrede data siden en angitt tid
Denne tjenesten henter ut brukernavn for alle studenter som har endrede data i basen siden en angitt tid. Dette er en GET-tjeneste som tar Query-parametre og returnerer et JSON-objekt.
URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/endredeStudenter?siden=<java timestamp>
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/endredeStudenter?siden=<java timestamp>
- siden - Java-tid (millisekunder siden 1. jan. 1970 kl. 00:00:00)
Java-eksempel
import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicScheme; import org.apache.http.impl.client.BasicAuthCache; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; public class GetEndredeStudenter { private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/endredeStudenter?siden=1466420231234"; public static void main(String[] args) throws Exception { HttpHost target = new HttpHost("fs-test.uio.no", 443, "https"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials("brukernavn", "passord")); CloseableHttpClient client = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); HttpGet get = new HttpGet(theUrl); HttpResponse response = client.execute(get); response.getEntity().writeTo(System.out); } }
Eksempel på svar
{ "endredeStudenter":[ "23568590015", "13518290031", "28587890005", "29548190086" ] }