Přeskočit na obsah
WattBox
API v1

WattBox API

Data nabíjecích stanic a kalkulačky elektromobilů přes REST API. Mapa s 2 500+ stanicemi, výpočty nákladů, dojezdu, nabíjení, degradace baterie a srovnání tarifů.

1 Rychlý start

1

Získejte API klíč

Napište nám na info@wattbox.cz s popisem vašeho projektu.

2

Vyberte metodu integrace

REST API pro vlastní UI, nebo Embed Widget pro rychlé vložení.

3

Integrujte

Použijte příklady níže pro vaši platformu.

2 Autentizace

Všechny API requesty vyžadují API klíč v Authorization headeru:

Authorization: Bearer YOUR_API_KEY

3 Mapa nabíjecích stanic

Data 2 500+ nabíjecích stanic v ČR. GPS souřadnice, konektory, výkony, operátoři, vybavenost okolí a hodnocení uživatelů.

GET /api/stations

Seznam všech nabíjecích stanic s kompletními detaily. Filtrovatelný podle výkonu a operátora.

Parametry a response

Query parametry (volitelné)

ParametrTypPopis
powernumberMinimální výkon v kW (např. ?power=50 vrátí jen DC a rychlonabíječky)
operatorstringFiltr podle operátora (např. ?operator=cez)

Response — pole stanic

PoleTypPopis
idnumberUnikátní ID stanice
namestringNázev stanice
display_namestring?Vlastní zobrazovaný název (pokud existuje)
operatorstringNázev operátora
operator_keystringKlíč operátora (cez, eon, orlen...)
address_linestringAdresa
citystringMěsto
latitudenumberGPS šířka
longitudenumberGPS délka
max_power_kwnumberMaximální výkon v kW
is_fast_chargingbooleanDC rychlonabíjení (>22 kW)
connectorsarrayKonektory — typ, výkon, počet
amenitiesobjectVybavenost okolí (WC, restaurace, supermarket...)
avg_ratingnumberPrůměrné hodnocení (0–5)
review_countnumberPočet recenzí
statusstringoperational, planned, out_of_service, removed

Příklad requestu

curl https://wattbox.cz/api/stations \
  -H "Authorization: Bearer YOUR_API_KEY"

# Jen rychlonabíječky nad 50 kW
curl "https://wattbox.cz/api/stations?power=50" \
  -H "Authorization: Bearer YOUR_API_KEY"

Příklad response (zkráceno)

{
  "success": true,
  "count": 2512,
  "stations": [
    {
      "id": 1,
      "name": "Chebská 2931, Aš",
      "operator": "E.ON",
      "operator_key": "eon",
      "city": "Aš",
      "latitude": 50.2138,
      "longitude": 12.2019,
      "max_power_kw": 50,
      "is_fast_charging": true,
      "connectors": [
        { "type_name": "CCS", "power_kw": 50, "quantity": 1 },
        { "type_name": "CHAdeMO", "power_kw": 50, "quantity": 1 }
      ],
      "amenities": { "supermarket": 150, "restaurant": 200 },
      "avg_rating": 4.2,
      "review_count": 3,
      "status": "operational"
    }
  ]
}
GET /api/stations/:id

Detail jedné stanice podle ID. Vrací kompletní data včetně všech konektorů a provozní doby.

Parametry a response

URL parametry

ParametrTypPopis
idnumberID stanice (z endpointu /api/stations)

Příklad

curl https://wattbox.cz/api/stations/42 \
  -H "Authorization: Bearer YOUR_API_KEY"

4 Kalkulačky

Výpočty nákladů, dojezdu, nabíjení, degradace baterie, TCO a srovnání tarifů. Všechny endpointy vyžadují POST s JSON body.

POST /api/v1/calculate/costs

Výpočet měsíčních a ročních nákladů na elektřinu s volitelným srovnáním s palivovým autem.

Request parametry

Povinné parametry

ParametrTypRozsahPopis
consumptionnumber10-35Spotřeba elektromobilu v kWh/100km (WLTP nebo reálná - viz info níže)
distancenumber100-10000Měsíční nájezd v km
electricPricenumber>0Cena elektřiny za kWh
currencystringCZK, EURMěna pro výstupní hodnoty
WLTP vs reálná spotřeba: Parametr consumption může být WLTP hodnota z katalogu (např. 17 kWh/100km) nebo vaše reálná naměřená spotřeba (např. 20 kWh/100km).
  • WLTP + teplotní korekce: Zadejte WLTP hodnotu a month - API automaticky navýší spotřebu podle teploty (v zimě až +28%).
  • Reálná spotřeba: Zadejte vaši naměřenou spotřebu bez month - API ji použije přímo bez úprav.

Volitelné: Teplotní korekce

ParametrTypPopis
monthnumberMěsíc 0-11 (leden=0). Aktivuje teplotní korekci spotřeby podle průměrných teplot v ČR. Použijte s WLTP spotřebou.

Volitelné: Srovnání s palivem

Pokud chcete srovnání s palivovým autem, musíte zadat všechny tři parametry níže.
ParametrTypHodnotyPopis
fuelTypestringpetrol, diesel, lpgTyp paliva
fuelConsumptionnumber>0Spotřeba paliva v l/100km
fuelPricenumber>0Cena paliva za litr

Příklad requestu

// Základní výpočet (jen elektřina)
{ "consumption": 18, "distance": 1500, "electricPrice": 5.5, "currency": "CZK" }

// S teplotní korekcí (leden)
{ "consumption": 18, "distance": 1500, "electricPrice": 5.5, "currency": "CZK", "month": 0 }

// Se srovnáním s benzínem
{
  "consumption": 18, "distance": 1500, "electricPrice": 5.5, "currency": "CZK",
  "month": 0,
  "fuelType": "petrol", "fuelConsumption": 7, "fuelPrice": 38
}
Response
PoleTypPopis
monthly
electricCostnumberMěsíční náklady na elektřinu
electricKwhnumberMěsíční spotřeba v kWh
fuelCostnumber?Měsíční náklady na palivo (pokud srovnání)
fuelLitersnumber?Měsíční spotřeba paliva v litrech
savingsnumber?Měsíční úspora oproti palivu
yearly
electricCostnumberRoční náklady na elektřinu
electricKwhnumberRoční spotřeba v kWh
fuelCostnumber?Roční náklady na palivo
savingsnumber?Roční úspora oproti palivu
co2Savingsnumber?Roční úspora CO2 v tunách
perKm
electricnumberCena za km na elektřinu
fuelnumber?Cena za km na palivo
faktory (pokud použita teplotní korekce)
temperatureFactornumber?Aplikovaný teplotní faktor EV (např. 1.28 = +28% spotřeba)
fuelTemperatureFactornumber?Teplotní faktor paliva

Příklad response

{
  "success": true,
  "data": {
    "monthly": { "electricCost": 1485, "electricKwh": 270, "fuelCost": 3990, "savings": 2505 },
    "yearly": { "electricCost": 17820, "fuelCost": 47880, "savings": 30060, "co2Savings": 2.42 },
    "perKm": { "electric": 0.99, "fuel": 2.66 },
    "temperatureFactor": 1.28
  },
  "meta": { "timestamp": "2026-01-15T10:30:00Z", "currency": "CZK" }
}
POST /api/v1/calculate/range

Výpočet reálného dojezdu s vlivem teploty, zatížení a střešního boxu.

Request parametry

Povinné parametry

ParametrTypRozsahPopis
batterynumber20-120Kapacita baterie v kWh
socnumber0-100Aktuální stav nabití v % (State of Charge)
consumptionnumber10-35Spotřeba v kWh/100km (doporučujeme WLTP)
monthnumber0-11Měsíc (leden=0). Určuje teplotu pro výpočet.
Jak funguje výpočet: API vždy aplikuje teplotní a zátěžové faktory na zadanou spotřebu.
  • wltpRange = dojezd vypočtený ze zadané spotřeby bez faktorů (ideální podmínky)
  • realRange = dojezd po aplikaci teplotního faktoru a zatížení (realistický odhad)
  • adjustedConsumption = spotřeba navýšená o faktory (např. 18 × 1.28 = 23 kWh/100km v zimě)

Volitelné parametry

ParametrTypDefaultPopis
loadnumber0Zatížení: 0 = bez, 10 = plně naloženo (+10% spotřeba)
roofbooleanfalseStřešní box (+15% spotřeba kvůli aerodynamice)

Příklad requestu

{ "battery": 77, "soc": 80, "consumption": 18, "month": 0 }

// S plným zatížením a střešním boxem
{ "battery": 77, "soc": 80, "consumption": 18, "month": 0, "load": 10, "roof": true }
Response
PoleTypPopis
realRangenumberReálný dojezd v km (po aplikaci všech faktorů)
wltpRangenumberTeoretický WLTP dojezd v km (bez faktorů)
differencenumberRozdíl v km (realRange - wltpRange)
differencePercentnumberRozdíl v procentech
usableCapacitynumberPoužitelná kapacita v kWh (95% baterie × SoC)
adjustedConsumptionnumberUpravená spotřeba v kWh/100km (po faktorech)
temperatureFactornumberTeplotní faktor (např. 1.28 = +28% spotřeba v zimě)
loadFactornumberFaktor zatížení (1.0 = žádné, 1.25 = plné + střešní box)
temperaturenumberPrůměrná teplota pro daný měsíc v °C

Příklad response

{
  "success": true,
  "data": {
    "realRange": 268,
    "wltpRange": 342,
    "difference": -74,
    "differencePercent": -21.6,
    "usableCapacity": 58.5,
    "adjustedConsumption": 23.0,
    "temperatureFactor": 1.28,
    "loadFactor": 1.0,
    "temperature": -1
  }
}
POST /api/v1/calculate/charging

Výpočet času a ceny nabíjení s realistickou DC nabíjecí křivkou.

Request parametry

Povinné parametry

ParametrTypRozsahPopis
batterynumber20-120Kapacita baterie v kWh
socStartnumber0-95Počáteční stav nabití v %
socEndnumber5-100Cílový stav nabití v %
powernumber2-400Maximální výkon nabíječky v kW
pricenumber>0Cena elektřiny za kWh
currencystringCZK, EURMěna

Volitelné parametry

ParametrTypPopis
consumptionnumberSpotřeba v kWh/100km. Pokud zadáno, response obsahuje rangeGained.
chargingProfilestringNabíjecí profil vozidla. Ovlivňuje tvar DC nabíjecí křivky. Viz tabulka níže. Default: meb.
Jak funguje nabíjecí křivka: Pro DC nabíjení (≥50 kW) API modeluje realistickou křivku podle zvoleného nabíjecího profilu. Výkon klesá s rostoucím SoC - např. při 80% SoC nabíjí jen ~50% maximálního výkonu. AC nabíjení (<50 kW) používá konstantní výkon.
Dostupné nabíjecí profily (chargingProfile):
  • meb — MEB platforma, nižší DC výkon (Enyaq 85 RWD, Elroq 60, ID.3/ID.4)
  • meb_fast — MEB platforma, vyšší DC výkon 175+ kW (Enyaq 85x/RS, Elroq 85/RS, ID.4 GTX, ID.7, ID.Buzz)
  • 800v — 800V architektura (Hyundai Ioniq 5, Kia EV6, Mercedes CLA)
  • tesla — Tesla (Model 3 Highland, Model Y Juniper)
  • budget — Budget / starší EV (Dacia Spring, MG4, Hyundai Kona, Kia EV3, Volvo EX30)

Příklad requestu

// DC rychlonabíjení 20→80% (Enyaq 85, MEB profil)
{ "battery": 77, "socStart": 20, "socEnd": 80, "power": 150, "price": 8, "currency": "CZK" }

// DC rychlonabíjení Ioniq 5 (800V profil)
{ "battery": 84, "socStart": 10, "socEnd": 80, "power": 240, "price": 8, "currency": "CZK", "chargingProfile": "800v" }

// AC domácí nabíjení přes noc s výpočtem dojezdu
{ "battery": 77, "socStart": 20, "socEnd": 100, "power": 11, "price": 4.5, "currency": "CZK", "consumption": 18 }
Response
PoleTypPopis
time
hoursnumberCelé hodiny
minutesnumberZbývající minuty
totalMinutesnumberCelkový čas v minutách
ostatní
energynumberNabité kWh
costnumberCena nabíjení
rangeGainednumber?Získaný dojezd v km (pokud zadána spotřeba)
chargingTypestring"AC" (<50kW) nebo "DC" (≥50kW)
curvearrayNabíjecí křivka (jen DC) - body s SoC, výkonem a časem

Příklad response

{
  "success": true,
  "data": {
    "time": { "hours": 0, "minutes": 32, "totalMinutes": 32 },
    "energy": 46.2,
    "cost": 370,
    "rangeGained": 257,
    "chargingType": "DC",
    "curve": [
      { "soc": 20, "power": 144, "cumulativeTime": 0 },
      { "soc": 40, "power": 138, "cumulativeTime": 8.5 },
      { "soc": 60, "power": 105, "cumulativeTime": 17.2 },
      { "soc": 80, "power": 72, "cumulativeTime": 32 }
    ]
  }
}
POST /api/v1/calculate/degradation

Odhad stavu baterie (SoH) podle stáří, nájezdu a stylu nabíjení. Založeno na datech Geotab 2025.

Request parametry

Povinné parametry

ParametrTypRozsahPopis
batterySizenumber20-120Kapacita baterie v kWh
vehicleAgenumber0-15Stáří vozidla v letech
currentMileagenumber0-500000Aktuální nájezd v km
annualMileagenumber1000-100000Roční nájezd v km (pro predikce)
dcPercentnumber0-100Procento DC (rychlo)nabíjení
batteryTypestringnmc, lfpTyp chemie baterie
Typy baterií:
  • NMC - většina elektromobilů (VW, Škoda, BMW, Mercedes, Hyundai...)
  • LFP - Tesla Standard Range, BYD, některé čínské vozy. Delší životnost (~15% pomalejší degradace).

Volitelné parametry

ParametrTypDefaultPopis
warrantyYearsnumber8Záruční doba v letech
warrantyKmnumber160000Záruční nájezd v km

Příklad requestu

// Škoda Enyaq 85 (NMC), 3 roky, 60 000 km
{
  "batterySize": 77,
  "vehicleAge": 3,
  "currentMileage": 60000,
  "annualMileage": 20000,
  "dcPercent": 20,
  "batteryType": "nmc"
}

// Tesla Model 3 SR (LFP), 2 roky, 40 000 km
{
  "batterySize": 60,
  "vehicleAge": 2,
  "currentMileage": 40000,
  "annualMileage": 20000,
  "dcPercent": 30,
  "batteryType": "lfp"
}
Response
PoleTypPopis
sohnumberAktuální State of Health v % (70-100)
remainingCapacitynumberZbývající kapacita v kWh
lostCapacitynumberZtracená kapacita v kWh
predictions
years2numberPredikce SoH za 2 roky
years5numberPredikce SoH za 5 let
years8numberPredikce SoH za 8 let
záruka
isInWarrantybooleanJe baterie v záruce?
warrantyStatusstring"ok", "warning" (blíží se limitu), "expired"
warrantyRemainingYearsnumberZbývající roky záruky
warrantyRemainingKmnumberZbývající km záruky

Příklad response

{
  "success": true,
  "data": {
    "soh": 94.2,
    "remainingCapacity": 72.5,
    "lostCapacity": 4.5,
    "predictions": {
      "years2": 91.8,
      "years5": 87.3,
      "years8": 83.1
    },
    "isInWarranty": true,
    "warrantyStatus": "ok",
    "warrantyRemainingYears": 5,
    "warrantyRemainingKm": 100000
  },
  "meta": {
    "timestamp": "2026-01-15T10:30:00Z",
    "sourceUrl": "https://wattbox.cz/kalkulacka/degradace?bat=77&age=3&km=60000&annual=20000&dc=20&type=nmc"
  }
}
POST /api/v1/calculate/tco

Srovnání celkových nákladů vlastnictví (TCO) elektromobilu vs spalovacího vozu za X let.

Request parametry

Povinné parametry

ParametrTypRozsahPopis
evPricenumber300000-3000000Pořizovací cena elektromobilu
combustionPricenumber200000-2000000Pořizovací cena spalovacího vozu
annualMileagenumber5000-50000Roční nájezd v km
yearsnumber1-15Doba srovnání v letech
evConsumptionnumber10-35Spotřeba EV v kWh/100km
electricityPricenumber>0Cena elektřiny za kWh
fuelConsumptionnumber4-15Spotřeba paliva v l/100km
fuelPricenumber>0Cena paliva za litr
currencystringCZK, EURMěna (volitelné, default: CZK)

Volitelné parametry

ParametrTypDefaultPopis
evMaintenancenumber4000Roční servis EV
combustionMaintenancenumber8000Roční servis spalovacího
evInsurancenumber18000Roční pojištění EV
combustionInsurancenumber15000Roční pojištění spalovacího
evSubsidynumber0Dotace na EV
evResidualPercentnumber45Zůstatková hodnota EV v %
combustionResidualPercentnumber55Zůstatková hodnota spalovacího v %
TCO výpočet zahrnuje:
  • Pořizovací náklady - cena vozu mínus zůstatková hodnota a dotace
  • Palivo/elektřina - podle spotřeby a ročního nájezdu
  • Servis a údržba - EV má nižší náklady (méně pohyblivých dílů)
  • Pojištění - EV bývá dražší kvůli vyšší pořizovací ceně

Příklad requestu

// Srovnání Škoda Enyaq vs Octavia za 5 let
{
  "evPrice": 1100000,
  "combustionPrice": 750000,
  "annualMileage": 15000,
  "years": 5,
  "evConsumption": 18,
  "electricityPrice": 5.5,
  "fuelConsumption": 7,
  "fuelPrice": 38,
  "currency": "CZK",
  "evResidualPercent": 60,
  "combustionResidualPercent": 45
}
Response
PoleTypPopis
evTotalCostnumberCelkové náklady na EV
combustionTotalCostnumberCelkové náklady na spalovací
differencenumberRozdíl (+ = EV dražší, - = EV levnější)
evIsWinnerbooleanJe EV výhodnější?
breakEvenYearnumber?Rok, kdy se EV vyplatí (null = nikdy)
annualFuelSavingsnumberRoční úspora na palivu
evCostPerKmnumberNáklady na km u EV
combustionCostPerKmnumberNáklady na km u spalovacího
evBreakdown (rozklad nákladů EV)
purchasenumberČisté pořizovací náklady (po odečtu zůstatkové hodnoty a dotace)
fuelnumberNáklady na elektřinu za celou dobu
maintenancenumberServisní náklady
insurancenumberNáklady na pojištění
totalnumberCelkové náklady
combustionBreakdown (rozklad nákladů spalovacího)
purchasenumberČisté pořizovací náklady (po odečtu zůstatkové hodnoty)
fuelnumberNáklady na palivo za celou dobu
maintenancenumberServisní náklady
insurancenumberNáklady na pojištění
totalnumberCelkové náklady
yearlyBreakdown
yearnumberRok (0 = pořízení, 1-N = provoz)
evCumulativenumberKumulativní náklady EV
combustionCumulativenumberKumulativní náklady spalovacího

Příklad response

{
  "success": true,
  "data": {
    "evTotalCost": 710750,
    "combustionTotalCost": 862500,
    "difference": -151750,
    "evIsWinner": true,
    "breakEvenYear": 4,
    "annualFuelSavings": 25050,
    "evCostPerKm": 4.74,
    "combustionCostPerKm": 5.75,
    "evBreakdown": {
      "purchase": 440000,
      "fuel": 74250,
      "maintenance": 15000,
      "insurance": 90000,
      "total": 619250
    },
    "combustionBreakdown": {
      "purchase": 412500,
      "fuel": 199500,
      "maintenance": 60000,
      "insurance": 75000,
      "total": 747000
    },
    "yearlyBreakdown": [
      { "year": 0, "evCumulative": 440000, "combustionCumulative": 412500 },
      { "year": 1, "evCumulative": 494150, "combustionCumulative": 502500 },
      { "year": 2, "evCumulative": 548300, "combustionCumulative": 592500 },
      { "year": 3, "evCumulative": 602450, "combustionCumulative": 682500 },
      { "year": 4, "evCumulative": 656600, "combustionCumulative": 772500 },
      { "year": 5, "evCumulative": 710750, "combustionCumulative": 862500 }
    ]
  },
  "meta": { "timestamp": "2026-01-28T12:00:00Z", "currency": "CZK" }
}
POST /api/v1/calculate/tariffs

Srovnání domácích elektrotarifů a veřejných nabíjecích karet. Najde nejlevnější kombinaci tarifu + karty pro vaše nabíjecí zvyky.

Request parametry

Povinné parametry

ParametrTypRozsahPopis
consumptionnumber5-40Spotřeba elektromobilu v kWh/100km
annualMileagenumber1000-100000Roční nájezd v km
homeChargingPercentnumber0-100Podíl nabíjení doma v %
publicAcPercentnumber0-100Podíl AC veřejného nabíjení v %
publicDcPercentnumber0-100Podíl DC veřejného nabíjení v %
publicUfcPercentnumber0-100Podíl UFC veřejného nabíjení v %
currencystringCZK, EURMěna
Rozložení veřejného nabíjení: publicAcPercent + publicDcPercent + publicUfcPercent musí dát dohromady 100 %.
  • AC = do 22 kW (pomalé nabíjení, např. ve městě)
  • DC = 22–149 kW (běžné rychlonabíječky)
  • UFC = 150+ kW (ultra-rychlé nabíjení, dálnice)

Volitelné: Vlastní tarif

ParametrTypPopis
customTariff.priceVtnumberCena vysokého tarifu v Kč/kWh
customTariff.priceNtnumber?Cena nízkého tarifu v Kč/kWh (null = jednotarif)
customTariff.ntChargingRationumberPodíl nabíjení v NT (0–1, např. 0.85 pro D27d)
customTariff.labelstringNázev vlastního tarifu (max 30 znaků)

Příklad requestu

// Základní srovnání — 9 domácích tarifů × 12+ nabíjecích karet
{
  "consumption": 17,
  "annualMileage": 15000,
  "homeChargingPercent": 70,
  "publicAcPercent": 20,
  "publicDcPercent": 60,
  "publicUfcPercent": 20,
  "currency": "CZK"
}

// S vlastním tarifem (např. MND dvoutarif)
{
  "consumption": 17,
  "annualMileage": 15000,
  "homeChargingPercent": 70,
  "publicAcPercent": 20,
  "publicDcPercent": 60,
  "publicUfcPercent": 20,
  "currency": "CZK",
  "customTariff": {
    "priceVt": 5.50,
    "priceNt": 3.80,
    "ntChargingRatio": 0.85,
    "label": "MND Elektřina"
  }
}
Response
PoleTypPopis
bestOverall (nejlevnější kombinace)
homeTariffobjectDomácí tarif (label, tariff, provider, priceVt, priceNt)
publicCardobjectNabíjecí karta (name, operatorKey, priceAc/Dc/Ufc, monthlyFee)
totalAnnualCostnumberCelkové roční náklady v Kč
homeAnnualCostnumberRoční náklady na domácí nabíjení
publicAnnualCostnumberRoční náklady na veřejné nabíjení (vč. poplatků)
effectiveTotalPricenumberEfektivní cena za kWh
isCustombooleanJedná se o vlastní tarif?
statistiky
totalAnnualKwhnumberCelková roční spotřeba v kWh
homeKwhnumberSpotřeba doma v kWh
publicKwhnumberSpotřeba veřejně v kWh
savingsVsWorstnumberÚspora oproti nejdražší kombinaci
combinations (top 20)
totalCombinationsnumberCelkový počet kombinací
combinationsarrayTop 20 kombinací seřazených od nejlevnější

Příklad response (zkráceno)

{
  "success": true,
  "data": {
    "bestOverall": {
      "homeTariff": { "label": "ČEZ D27d", "tariff": "D27d", "provider": "cez" },
      "publicCard": { "name": "AC/DC", "operatorKey": "polyfazer" },
      "totalAnnualCost": 12850,
      "homeAnnualCost": 8470,
      "publicAnnualCost": 4380,
      "effectiveTotalPrice": 4.52,
      "isCustom": false
    },
    "totalAnnualKwh": 2550,
    "homeKwh": 1785,
    "publicKwh": 765,
    "savingsVsWorst": 8200,
    "totalCombinations": 108,
    "combinations": [ ... ]
  },
  "meta": {
    "timestamp": "2026-02-11T12:00:00Z",
    "currency": "CZK",
    "sourceUrl": "https://wattbox.cz/kalkulacka/tarify?cons=17&km=15000&home=70&ac=20&dc=60&ufc=20"
  }
}

5 Embed Widget

Nejjednodušší způsob integrace. Stačí vložit tento kód na vaši stránku:

<!-- WattBox Calculator Widget -->
<div id="wattbox-calculator"></div>
<script
  src="https://wattbox.cz/embed/widget.js"
  data-type="costs"
  data-theme="light"
  data-currency="CZK">
</script>

Parametry widgetu

Parametr Hodnoty Popis
data-type costs, range, charging, degradation, tco, tarify Typ kalkulačky
data-theme light, dark Barevné téma
data-currency CZK, EUR Výchozí měna (default: CZK)
data-container ID elementu Vlastní ID kontejneru (default: wattbox-calculator)

CORS

API i embed widgety podporují cross-origin requesty. Všechny API endpointy vrací Access-Control-Allow-Origin: * header, takže je můžete volat z libovolné domény.

Pro embed widgety doporučujeme použít widget.js (viz výše), který automaticky vytvoří iframe s korektní komunikací.

Scriptable Widget

Widget pro iPhone home screen zobrazující nejbližší nabíjecí stanice s real-time dostupností. Vyžaduje aplikaci Scriptable.

GET /api/v1/widget/nearby public

Nejbližší nabíjecí stanice s EVSE dostupností. Veřejný endpoint bez API klíče.

Parametry a response

Query parametry

ParametrTypDefaultPopis
latnumberpovinnýGPS šířka
lngnumberpovinnýGPS délka
radiusnumber15Max vzdálenost v km (1-50)
limitnumber5Max počet stanic (1-10)
powernumber0Min výkon nabíječky v kW

Příklad requestu

curl "https://wattbox.cz/api/v1/widget/nearby?lat=50.08&lng=14.44"

# Jen DC nabíječky do 10 km
curl "https://wattbox.cz/api/v1/widget/nearby?lat=50.08&lng=14.44&radius=10&power=50"

Příklad response

{
  "success": true,
  "stations": [
    {
      "id": 123,
      "name": "ČEZ Praha Anděl",
      "city": "Praha",
      "operatorName": "ČEZ",
      "operatorColor": "#F37A1F",
      "distance_km": 1.2,
      "max_power_kw": 150,
      "is_fast": true,
      "evse": {
        "available": 2,
        "total": 4,
        "has_data": true,
        "last_updated": "2026-02-22T14:30:00Z"
      }
    }
  ]
}

Instalace widgetu

1

Nainstalujte Scriptable

Stáhněte zdarma z App Store.

2

Stáhněte skript

Otevřete wattbox-nearby.js v Safari na iPhonu a zkopírujte obsah do nového skriptu v Scriptable.

3

Přidejte widget na home screen

Dlouze podržte na home screen → + → Scriptable → vyberte velikost (medium doporučujeme) → vyberte skript „wattbox-nearby".

Konfigurace

Na začátku skriptu upravte CONFIG podle svých preferencí:

const CONFIG = {
  RADIUS_KM: 15,   // Max vzdálenost stanic v km (1-50)
  MIN_POWER: 0,    // Min výkon nabíječky v kW (0 = všechny, 50 = jen DC)
  LIMIT: 5,        // Max počet stanic (1-10)
};

Podporované velikosti

Small — 1 nejbližší stanice
Medium — 3 nejbližší stanice

Funkce

Auto dark/light mode, offline cache, tap otevře mapu na wattbox.cz

6 Příklady kódu

curl -X POST https://wattbox.cz/api/v1/calculate/costs \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "consumption": 18,
    "distance": 1500,
    "electricPrice": 5.5,
    "currency": "CZK"
  }'

7 Chybové odpovědi

Všechny chybové odpovědi mají jednotný JSON formát. HTTP status kód odpovídá typu chyby.

Formát chybové odpovědi

{
  "success": false,
  "error": "Popis chyby",
  "code": "ERROR_CODE"
}

Autentizace a autorizace

StatusKódKdy nastaneŘešení
401 UNAUTHORIZED Chybí nebo neplatný API klíč Zkontrolujte Authorization: Bearer header

Chyby requestu

StatusKódKdy nastaneŘešení
400 VALIDATION_ERROR Neplatné vstupní parametry Zkontrolujte typy a rozsahy parametrů
400 INVALID_JSON Nevalidní JSON v body Ověřte JSON syntax a Content-Type: application/json
405 METHOD_NOT_ALLOWED Špatná HTTP metoda Kalkulačky vyžadují POST, stanice GET

Serverové chyby

StatusKódKdy nastaneŘešení
500 CALCULATION_ERROR Chyba při výpočtu Zkuste request opakovat, pokud přetrvává kontaktujte nás

Příklad validační chyby (400)

{
  "success": false,
  "error": "Neplatné vstupní parametry",
  "code": "VALIDATION_ERROR",
  "errors": [
    { "field": "consumption", "message": "Hodnota musí být mezi 10 a 35" },
    { "field": "currency", "message": "Povolené hodnoty: CZK, EUR" }
  ]
}

Potřebujete API klíč?

Napište nám s popisem vašeho projektu a my vám rádi pomůžeme s integrací.

info@wattbox.cz

Ještě jste si nespočítali úspory?

Vyzkoušet kalkulačku

Nová verze je připravena