Schnittstellen zum Server - HochschuleHofStundenplanapp/iOS-App GitHub Wiki

Achtung! Diese Infos sind nur ein Zwischenstand der sich jederzeit ändern kann! Die genaue Dokumentation der Schnittstelle muss noch erstellt werden!

Server und Password

Server: https://www.hof-university.de/soap/

Testserver: http://sh-web02.hof-university.de/soap/client.php
Kennung: test
Password:test

Kommandos

Eine Liste der Kommandos wird in der Datei https://github.com/HochschuleHofStundenplanapp/Schnittstelle/blob/master/php/docs.php beschrieben

Beispiele (angelehnt an die Doku)

<Server>/client.php?f=Courses&tt=SS

SS in URL steht für Sommer Semester, WS ist auch möglich

Beispiel:

{  "course": "MC",
   "year": "2016",          
        "labels": {             
            "de": "Mobile Computing",          
            "en": "Mobile Computing"          
        },           
        "semester": [           
            "1",        
            "2",                 
            "4",         
            "6"           
        ]          
}

course: Studiengangkürzel.
year: Aktuelles Jahr.
labels: Studiengang auf deutsch und englisch.
semester: Angebotene Semester.
Achtung! Es sind nicht nur die "normalen Werte" 1,2,3,4,... möglich sondern auch andere Zeichenketten. Diese Werte müssen korrekt bei den anderen Aufrufen verwendet werden.

<Server>/client.php?f=Schedule&stg=Inf&sem=6&tt=SS

Im Link: stg="Studiengangkürzel" sem="Semester" tt="SS oder WS"

0: {          
     "id": "1565520"          
     "label": "RESTful Web Services"        
     "docent": "Prof. Dr. Andrej Bachmann"       
     "type": "Vorlesung"         
     "group": ""            
     "starttime": "09:45"           
     "endtime": "11:15"             
     "startdate": "07.03.2016"          
     "enddate": "23.01.2017"         
     "day": "Montag"          
     "room": "FG028/029"          
     "splusname": "Restful§abach_2%48144 $ 2" 
     "comment": "(Inf5+MC5+MI5)"        
}

Fünf verschiedene Arten von "type": "Vorlesung", "Vorlesung Fixzeit", "Übungen", "Blockveranstaltung" und "Praktikumsblock".
Bei Blockveranstaltungen und Praktikumsblöcken ist das startdate und enddate gleich.

Achtung, die Werte für startdate und enddate können unter Umständen falsch sein! Im Wintersemester liegt das startdate immer im vorhergehenden Semester. Beim Sommersemester ist das enddate falsch, es liegt ausserhalb des Semesters.

Für die Dauer der Semester gilt:

  • Das Wintersemester beginnt am 1. Oktober und endet am 25. Januar.
  • Das Sommersemester beginnt am 15. März und endet am 10. Juli.

Liegt das Anfangsdatum an einem Freitag, Samstag oder Sonntag, beginnt das Semester erst am darauffolgenden Montag. Liegt das Enddatum an einem Samstag, Sonntag oder Montag, endet das Semester am vorherigen Freitag.

<Server>/client.php?f=MySchedule&id[]=1332256

{        
       "id": "1565520",       
       "label": "RESTful Web Services",        
       "docent": "Prof. Dr. Andrej Bachmann",       
       "type": "Vorlesung",        
       "group": "",         
       "starttime": "09:45",        
       "endtime": "11:15",         
       "startdate": "07.03.2016",         
       "enddate": "23.01.2017",        
       "day": "Montag",          
       "room": "FG028\/029",           
       "splusname": "Restful§abach_2%48144 $ 2"
       "comment": "(Inf5+MC5+MI5)"          
}

Hier muss die ID der Vorlesungsstunde angegeben werden, jede Vorlesung in der Woche hat eine eigene ID

<Server>/client.php?f=Changes&stg=Inf&sem=6&tt=SS

{          
       "id": "729255",        
       "label": "Fortgeschrittene Themen der Swift3 Programmierung",         
       "docent": "Prof. Dr. Peter Stöhr",        
       "comment": "",        
       "reason": "Dienstlich",          
       "group": "",
       "splusname": "Swift3§pstöhr_2%48039 $ 2 Vertretung01",           
       "original": {        
           "day": "Dienstag",         
           "time": "08:00",          
           "date": "04.10.2016",         
           "room": "FB004B"     
        },       
        "alternative": {
            "day": "Mittwoch",
            "time": "09:45",
            "date": "12.10.2016",
            "room": "FD242"
         }
}

Im Link: stg="Studiengangkürzel" sem="Semester" tt="SS oder WS"

Liefert Änderungen für bestimmten Studiengang in bestimmten Semester

<Server>/client.php?f=MSchedule&stg=md&sem=4&tt=SS

{    
       "label": "RESTful Web Services",      
       "docent": "Prof. Dr. Andrej Bachmann",       
       "type": "Vorlesung",      
       "group": "",        
       "starttime": "09:45",          
       "endtime": "11:15",      
       "startdate": "07.03.2016",         
       "enddate": "23.01.2017",         
       "day": "Montag",              
       "room": "FG028\/029",             
       "changes": null             
}

Im Link: stg="Studiengangkürzel" sem="Semester" tt="SS oder WS"

Liefert Stundenplan für bestimmten Studiengang in bestimmten Semester

Bekannte Probleme

  1. Start- beziehungsweise Endzeitpunkt sind teilweise falsch!
⚠️ **GitHub.com Fallback** ⚠️