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