--- title: "API Dokumentace Ječná Rozvrh" date: 2025-12-20 tags: ["api", "docs"] --- Vítejte v dokumentaci pro API systému Ječná Rozvrh. Toto API poskytuje programový přístup k rozvrhům, suplování a dalším informacím. ## Základní Informace ### URL Všechny cesty v této dokumentaci jsou relativní k následující základní URL: `https://jecnarozvrh.jzitnik.dev/` ### Zastaralý Endpoint: `GET /` Kořenový endpoint (`/`) je **zastaralý (deprecated)**. Ačkoliv v současnosti vrací stejná data jako `/versioned/v1`, jeho podpora může být v budoucnu ukončena. **Prosím, nepoužívejte tento endpoint pro nové projekty a existující projekty aktualizujte na verzované endpoint.** --- ## Dostupné Verze API API je verzované, aby byla zajištěna zpětná kompatibilita. Zde je seznam dostupných verzí: - ### [Verze 1 (v1)](../api-usage-v1) **Status:** Stabilní **Endpoint:** `/versioned/v1` Toto je aktuální a doporučená verze API. Klikněte na odkaz pro zobrazení kompletní dokumentace pro v1. --- ## Nezařazené Endpointy Některé jednodušší endpointy nejsou verzované. ### Stavový Endpoint: `GET /status` Tento endpoint slouží k rychlé kontrole stavu scraperu, který je zodpovědný za stahování a zpracování dat.
Zobrazit možné odpovědi - **Scraper je v pořádku:** ```json { "working": true } ``` - **Scraper narazil na problém:** ```json { "working": false, "message": "Zde bude podrobnější popis chyby, např. 'Failed to log in'." } ```
### Report Endpoint: `POST /report` Tento endpoint slouží k nahlášení chyby nebo nesrovnalosti v datech. **Tělo požadavku (Request Body):** Požadavek musí obsahovat JSON objekt s následujícími poli: - `class` (string, povinné): Název třídy, které se hlášení týká. - `location` (string, povinné): Místo, kde se chyba vyskytla. Povolené hodnoty jsou: - `"TIMETABLE"` - `"ABSENCES"` - `"OTHER"` - `content` (string, povinné): Popis problému.
Zobrazit příklad těla požadavku ```json { "class": "C4a", "location": "TIMETABLE", "content": "V páté hodině chybí předmět, ale má tam být suplování." } ```
**Odpovědi (Responses):** - **`200 OK`**: Hlášení bylo úspěšně přijato. ```json { "message": "Report received successfully." } ``` - **`400 Bad Request`**: Pokud chybí povinná pole nebo hodnota `location` je neplatná. ```json { "error": "Missing required fields." } ```