104 lines
2.6 KiB
Markdown
104 lines
2.6 KiB
Markdown
---
|
|
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.
|
|
|
|
<details>
|
|
<summary>Zobrazit možné odpovědi</summary>
|
|
|
|
- **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'."
|
|
}
|
|
```
|
|
</details>
|
|
|
|
### 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.
|
|
|
|
<details>
|
|
<summary>Zobrazit příklad těla požadavku</summary>
|
|
|
|
```json
|
|
{
|
|
"class": "C4a",
|
|
"location": "TIMETABLE",
|
|
"content": "V páté hodině chybí předmět, ale má tam být suplování."
|
|
}
|
|
```
|
|
</details>
|
|
|
|
**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."
|
|
}
|
|
```
|
|
</details>
|