Integracija TollCalc v lastne aplikacije
TollCalc lahko integrirate v lastno programsko opremo ali AI delovne tokove na tri načine:
| Metoda | Primerna za |
|---|---|
| REST-API | Integracijo med strežniki, lastne zaledne sisteme |
| MCP (Model Context Protocol) | AI asistenta (Claude, Cursor, GPT in druge) |
Paket Python tollcalc |
Skripte, znanost o podatkih, Jupyter Notebooke |
REST-API
Celotno dokumentacijo API (OpenAPI 3.0) najdete na:
Hitri začetek
curl -X POST https://app.tollcalc.eu/api/calculate \
-H "Content-Type: application/json" \
-H "Authorization: Bearer VAŠ_API_TOKEN" \
-d '{
"origin": "Munich, Germany",
"destination": "Vienna, Austria",
"vehicle": {
"weight": 40,
"axles": 5,
"emission_class": "euro6",
"co2_class": "class_1"
}
}'
Parametri
| Parameter | Tip | Opis |
|---|---|---|
origin |
string | Začetna točka: naslov ali "lat;lon" |
destination |
string | Ciljna točka: naslov ali "lat;lon" |
via |
string[] | Neobvezni vmesni postanki (maks. 498) |
vehicle.weight |
number | Skupna masa v tonah (npr. 40) |
vehicle.axles |
integer | Število osi: 2, 3, 4 ali 5 |
vehicle.emission_class |
string | Euro norma: euro0–euro6 |
vehicle.co2_class |
string | Razred CO₂: class_1 (standardni dizel) do class_5 (ničelne emisije) |
plannedTripStart |
string | Neobvezni datum ISO-8601 ("2026-09-01") ali datum in čas RFC3339 ("2026-09-01T06:00:00Z"); izbere pravila cestnine, veljavna v tistem trenutku. Privzeto: zdaj |
Omejitve: Največ 500 točk na zahtevo (origin + via + destination). Pretirano gosti nizi koordinat (gostejši od 1 točke na 500 m) se na strežniku samodejno razredčijo, ORS pa zavrne poti, daljše od 3.000 km – daljše ture razdelite na več zahtev.
Neobvezna glava HTTP:
| Glava | Opis |
|---|---|
X-Subaccount |
Neobvezna dodelitev uporabe, npr. za stranko ali oddelek. Šteje se po podračunu in prikaže v statistiki uporabe. Manjka/prazno → Default; najv. 64 znakov; dovoljeno A-Z a-z 0-9 _ : -; neveljavno → HTTP 400 |
Avtentikacija
API žetone dobite po registraciji na app.tollcalc.eu. Brez žetona je možnih 10 brezplačnih zahtevkov na mesec (na IP naslov).
Pridobitev porabe in kvote
Ko je API integriran, lahko porabo in kvoto pridobite programsko – oba končni točki sta read-only, sami ne porabljata kvote in sprejemata isti bearer žeton:
| Končna točka | Opis |
|---|---|
GET /api/usage |
Uspešni izračuni v mesecu, razčlenjeni po X-Subaccount |
GET /api/quota |
Poraba, mesečna omejitev in preostala kvota |
Neobvezna parametra poizvedbe: year in month (privzeto: trenutni mesec).
# Poraba po podračunu
curl https://app.tollcalc.eu/api/usage \
-H "Authorization: Bearer VAŠ_API_TOKEN"
# {"year":2026,"month":9,"total":1000,
# "sub_accounts":[{"key":"kunde_a","count":500},{"key":"Default","count":320}]}
# Preostala kvota
curl https://app.tollcalc.eu/api/quota \
-H "Authorization: Bearer VAŠ_API_TOKEN"
# {"year":2026,"month":9,"plan":"api","used":123,"limit":5000,"remaining":4877}
Brez glave X-Subaccount pri izračunu se klici pripišejo ključu Default. Pri neomejenih paketih sta limit in remaining null.
MCP – Integracija v AI asistenta
TollCalc podpira Model Context Protocol (MCP) in se lahko neposredno integrira v AI orodja, kot so Claude Desktop, Cursor ali drugi MCP-združljivi asistenti.
Končna točka
POST https://app.tollcalc.eu/mcp
Razpoložljiva orodja
| Orodje | Opis |
|---|---|
calculate_toll |
Izračun cestnine za pot tovornjaka |
get_quota |
Povpraševanje o preostali kvoti trenutne seje |
Konfiguracija v Claude Desktop
V konfiguracijo Claude Desktop (claude_desktop_config.json) dodajte:
Možnost A – OAuth (priporočeno): navedite samo URL, žeton ni potreben.
{
"mcpServers": {
"tollcalc": {
"url": "https://app.tollcalc.eu/mcp"
}
}
}
Možnost B – API ključ (za avtomatizacijo): žeton shranite ročno, npr. za integracije med strežniki.
{
"mcpServers": {
"tollcalc": {
"url": "https://app.tollcalc.eu/mcp",
"headers": {
"Authorization": "Bearer VAŠ_API_TOKEN"
}
}
}
}
Brez konfiguracije je na voljo 10 brezplačnih zahtevkov na MCP sejo (= na pogovor) – račun ni potreben. Po 10 zahtevkih Claude Desktop samodejno odpre prijavo v brskalniku (OAuth 2.0). Po prijavi velja naročena kvota. API žetone za možnost B dobite na app.tollcalc.eu.
Primer klica prek MCP
Po nastavitvi lahko asistenta vprašate neposredno:
„Koliko stane cestnina za 40-tonski tovornjak iz Münchna na Dunaj?"
Asistent pokliče orodje calculate_toll in vrne strukturiran odgovor.
Stopnje podrobnosti
Orodje calculate_toll podpira tri stopnje podrobnosti prek parametra detail:
| Vrednost | Vsebina |
|---|---|
compact (standard) |
Skupna cestnina, cestninski km, brezcestninski km, razčlenitev po državah |
detailed |
Kot compact, plus stroški na segment (brez geometrije) |
full |
Kot detailed, plus koordinate in informacije za razhroščevanje |
Polja odgovora
Vse stopnje podrobnosti vsebujejo naslednja polja:
| Polje | Tip | Opis |
|---|---|---|
origin |
string | Razrešeno ime začetnega kraja |
destination |
string | Razrešeno ime ciljnega kraja |
total_toll_eur |
number | Skupna cestnina v evrih |
total_distance_km |
number | Skupna razdalja v km |
toll_km |
number | Cestninski km |
toll_free_km |
number | Brezcestninski km |
countries |
array | Razčlenitev po državah (country, country_name, total_km, toll_km, toll_eur) |
info_url |
string | Povezava do izračuna v spletni aplikaciji TollCalc – vključno z načrtovano potjo na zemljevidu, za deljenje s sodelavci ali odpiranje v brskalniku |
S detail=detailed countries dodatno vsebuje segments (segmente z road, type, km, toll_eur).
S detail=full pridejo koordinate, source_url, matched_geofence in geometrija.
Server Card
Opis MCP (Server Card) je na voljo na:
GET https://app.tollcalc.eu/.well-known/mcp-server
Paket Python tollcalc
Paket Python tollcalc obdaja REST-API in omogoča uporabo iz Python skript ali Jupyter Notebookov.
Namestitev
pip install tollcalc
Uporaba
from tollcalc import calculate_toll, get_usage, get_quota
result = calculate_toll(
origin="Munich, Germany",
destination="Vienna, Austria",
weight=40,
axles=5,
emission_class="euro6",
co2_class="class_1",
token="VAŠ_API_TOKEN",
)
print(f"Skupna cestnina: {result['total_toll_eur']:.2f} EUR")
print(f"Razdalja: {result['total_distance_km']:.1f} km")
for country in result["countries"]:
print(f" {country['country_name']}: {country['toll_eur']:.2f} EUR ({country['toll_km']:.0f} cestninskih km)")
Poraba in kvota iz Pythona
from tollcalc import get_usage, get_quota
usage = get_usage(token="VAŠ_API_TOKEN")
print(usage["total"], "Calls")
for s in usage["sub_accounts"]:
print(f" {s['key']}: {s['count']}")
quota = get_quota(token="VAŠ_API_TOKEN")
print(f"{quota['used']} / {quota['limit']} – ostane: {quota['remaining']}")
Koordinate kot vhod
result = calculate_toll(
origin="48.1374;11.5755", # München (lat;lon)
destination="48.2082;16.3738", # Dunaj
weight=40,
axles=5,
)
Dokumentacija paketa
Celotno dokumentacijo in druge primere najdete na PyPI: pypi.org/project/tollcalc
Cene in kvote
| Tarifa | Zahtevki/mesec | Cena |
|---|---|---|
| Free (brez žetona) | 10 na MCP sejo (= na pogovor) | brezplačno |
| Starter | do 500 | od 9 €/mesec |
| Professional | do 5.000 | od 49 €/mesec |
| Enterprise | neomejeno | na zahtevo |
Vse tarife in aktualne cene: tollcalc.eu/de/#pricing
Za vprašanja o integraciji se obrnite na support@tollcalc.eu.