1
0

fix: Idk
All checks were successful
Remote Deploy / deploy (push) Successful in 5s

This commit is contained in:
2025-12-20 19:14:37 +01:00
parent 86153a6e15
commit 9fa5ba1d08

View File

@@ -0,0 +1,103 @@
---
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)](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>