Endpont 'muj_rozvrh'
Rozvrh NG » REST API pro export dat » Endpont 'muj_rozvrh'
Tento endpoint exportuje podmnožinu dat, která je zobrazena na stránce Můj rozvrh vybraného uživatele. Konkrétně se jedná o export seznamu přednášek a cvičení, které student navštěvuje resp. učitel učí ve zvolených semestrech. V tuto chvíli se exportují pouze lístky pravidelné výuky typu P (přednášky) a X (cvičení), volitelně lze přidat jednorázovou a blokovou výuku (viz extras).
Endpoint má tyto rozšiřující parametry:
- ukco - UK číslo osoby studenta/učitele, jehož rozvrh má být vrácen (tento parametr je povinný).
- semesters - pole semestrů, pro které je rozvrh exportován. Semestry jsou zapsány jako řetězce ve formátu YYYY-S, kde YYYY je kalendářní rok, ve kterém začíná zvolený akademický rok a S je semestr tohoto roku (1 = zimní, 2 = letní). Např. "2016-2" je letní semestr 2016/17. Pokud nejsou žádné semestry vybrány, automaticky se vrátí aktuální semestr a poslední semestr před aktuálním.
- extras - pole obsahující rozšiřující příznaky, které ovlivňují zobrazení výsledku. Momentálně jsou implementovány tyto příznaky:
- annotations - přidá k lístkům anotace předmětů
- expand - provede rozbalení výuky na jednotlivé události (dny kdy se učí)
- includeSingle - přidá do výstupu také lístky jednorázové výuky (pouze v kombinaci s expand)
- includeBlock - přidá do výstupu také lístky blokové výuky (pouze v kombinaci s expand)
Příklad:
?...&ukco=12345678&semesters[]=2016-1&semesters[]=2016-2&extras[]=annotations
vrátí rozvrh uživatele s UKČO 12345678 pro celý rok 2016/17 a u rozvrhových lístků budou navíc uvedeny anotace pro příslušný předmět.
Hodnota paramretru ukco musí navíc být přidána jako třetí salt atribut. Autentizační token pro tento endpoint bychom symbolicky zapsali jako
<unixTS> + ',' + <fakulta> + ',' + <ukco> + '$' + SHA256(<unixTS> + ',' + <fakulta> + ',' + <ukco> + ',' + <tajny_retezec>)
Výsledkem je JSON objekt se dvěma položkami -- ukco a events. Položka ukco opakuje UKCO z URL, events je pole objektů, kde každý objekt reprezentuje jeden lístek. Objekty mají následující atributy:
- id - unikátní ID lístku (RL z databáze)
- course - kód předmětu (povinn.kod)
- type typ lístku (P - přednáška, X - cvičení)
- affiliation - jaký je vztah uživatele k danému lístku (možné hodnoty jsou 'student', 'teacher', 'guarantor')
- year - rok, ve kterém začíná daný akademický rok (2016 = 2016/17)
- semester - 1 = zimní, 2 = letní
- day_of_week - den v týdnu, 0 = neděle, 1 = pondělí, ...
- time - čas začátku v minutách od půlnoci (např. 740 = 12:20)
- length - délka v minutách
- room - název učebny
- caption_cs, caption_en - název výuky (lístku) v češtině a angličtině
- fortnight - příznak čtrnáctidenní výuky (true = jednou za 14 dní)
- firstweek - který logický týden výuka začíná (1 = první týden semestru); většinou má smysl jen u 14-denní výuky, aby bylo poznat, zda probíhá v lichých nebo sudých týdnech.
Pokud jsou v extra atributech vyžádány anotace, objeví se navíc parametry annotation_cs a annotation_en - anotace příslušného předmětu v češtině a angličtině.
Pokud je pomocí extra příznaku vyžádána expanze, přídá se pole days - seznam všech jednotlivých dnů, kdy probíhá výuka (každý den je reprezentován juliánským datem)