This is an API client to access Webuntis. It is written as .NET Standard library to be used in .NET Framework projects and .NET Core projects as well.
WebUntisClient is the main entry point for you to use this library. The constructor needs several parameters which are mandantory to connect to your WebUntis instance. You don't have to deal with authentication and session handling. It's all done by this library.
using(var client = new WebUntisClient("https://my.webuntis.local/WebUntis/jsonrpc.do", "schoolname", "user", "password"))
{
var timetable = await client.GetTimetableAsync(ElementType.Student, 1497);
....
}
- GetTeachersAsync (Ref. 3)
- GetStudentsAsync (Ref. 4)
- GetClassesAsync (Ref. 5)
- GetSubjectsAsync (Ref. 6)
- GetRoomsAsync (Ref. 7)
- GetDepartmentsAsync (Ref. 8)
- GetHolidaysAsync (Ref. 9)
- GetTimegridAsync (Ref. 10)
- GetStatusDataAsync (Ref. 11)
- GetCurrentSchoolYearAsync (Ref. 12)
- GetSchoolYearsAsync (Ref. 13)
- GetTimetableAsync (Ref. 14)
- GetLatestImportTimeAsync (Ref. 17)
- GetPersonIdAsync (Ref. 18)
- GetClassRegEvents (Ref. 20)
- GetExamsAsync (Ref. 21)
- GetExamTypesAsync (Ref. 22, not tested)
- Request timetable for an element (customizable) (Ref. 15)
- Request substitutions (Ref. 19)
As Untis provides minimal support for it's API and the quality of their API documentation is not as good as it could be, I'd be happy to find someone to contribute or to provide a demo access to WebUntis. I tested the calls using the official instance, but the public users don't have suficcient rights for all actions.