1
0
Files
jecnarozvrh/web/content/posts/api-usage/index.md
jzitnik-dev 0dbe1ed796
All checks were successful
Remote Deploy / deploy (push) Successful in 6s
fix: Fix
2025-12-20 19:18:19 +01:00

2.6 KiB

title, date, tags
title date tags
API Dokumentace Ječná Rozvrh 2025-12-20
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)

    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:

    {
      "working": true
    }
    
  • Scraper narazil na problém:

    {
      "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
{
  "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.
    {
      "message": "Report received successfully."
    }
    
  • 400 Bad Request: Pokud chybí povinná pole nebo hodnota location je neplatná.
    {
      "error": "Missing required fields."
    }