API Dokumentace
REST API pro integraci PENB výpočtů do vašich aplikací
Autentifikace
Všechny API endpointy vyžadují autentifikaci pomocí Supabase Auth tokenu
Authorization: Bearer YOUR_ACCESS_TOKEN
Token získáte po přihlášení pomocí Supabase Auth. Token je automaticky spravován v prohlížeči pomocí cookies.
Base URL
https://your-domain.com/api
Projekty
Správa projektů
GET /projects
Seznam všech projektů uživatele
GET /api/projects?page=1&per_page=10
Response:
{
"success": true,
"data": [
{
"id": "uuid",
"name": "Bytový dům Praha 3",
"description": "Renovace 1975",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
],
"total": 10,
"page": 1,
"per_page": 10,
"total_pages": 1
}POST /projects
Vytvoření nového projektu
POST /api/projects
Content-Type: application/json
{
"name": "Bytový dům Praha 3",
"description": "Renovace 1975"
}
Response:
{
"success": true,
"data": {
"id": "uuid",
"name": "Bytový dům Praha 3",
"description": "Renovace 1975",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
}GET /projects/:id
Detail projektu
GET /api/projects/uuid
Response:
{
"success": true,
"data": {
"id": "uuid",
"name": "Bytový dům Praha 3",
"description": "Renovace 1975",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
}PUT /projects/:id
Aktualizace projektu
PUT /api/projects/uuid
Content-Type: application/json
{
"name": "Bytový dům Praha 3 - Aktualizováno",
"description": "Renovace 1975 - dokončeno"
}DELETE /projects/:id
Smazání projektu
DELETE /api/projects/uuid
Response:
{
"success": true,
"message": "Project deleted successfully"
}Výpočty PENB
Provedení energetických výpočtů
POST /calculate
Provedení PENB výpočtu
POST /api/calculate
Content-Type: application/json
{
"project_id": "uuid",
"building_data": {
"typ_budovy": "Byty",
"energeticky_vztazna_plocha": 5676.9,
"objem": 16178.8,
"plocha_obalky": 4634.9,
"rok_vystavby": 1975,
"konstrukce": [
{
"typ": "Stěna vnější",
"plocha": 2789.0,
"u_hodnota": 0.217,
"prilehlé_prostredi": "EXT"
}
],
"vetrání": {
"typ": "prirozene",
"n50": 2.5,
"n_min": 0.5
},
"systemy": {
"vytapeni": {
"zdroj": "Účinná SZTE s OZE < 80%",
"ucinnost_vyroba": 1.00,
"ucinnost_distribuce": 0.92,
"ucinnost_sdileni": 0.88
},
"tuv": {
"zdroj": "Účinná SZTE s OZE < 80%",
"typ": "zásobníkový s cirkulací",
"ucinnost_systemu": 0.67
},
"osvetleni": {
"typ": "LED",
"mérny_príkon": 5.5
}
}
}
}
Response:
{
"success": true,
"data": {
"id": "uuid",
"project_id": "uuid",
"building_data_id": "uuid",
"potreba_vytapeni": 189.421,
"mérná_potreba_vytapeni": 33,
"primarni_energie": 79,
"klasifikace": "C",
"referencni_hodnota": 99,
"prumerny_u": 0.44,
"klasifikace_obalky": "C",
"mesicni_bilance": [...]
}
}Error Response
Formát chybových odpovědí
{
"success": false,
"error": "Error message description"
}400 Bad Request - Chybné vstupní parametry
401 Unauthorized - Chybí nebo je neplatný autentizační token
404 Not Found - Zdroj nebyl nalezen
500 Internal Server Error - Chyba na serveru