Integration af TollCalc i dine egne applikationer
TollCalc kan integreres i din egen software eller AI-arbejdsgange på tre måder:
| Metode | Egnet til |
|---|---|
| REST-API | Server-til-server-integration, egne backends |
| MCP (Model Context Protocol) | AI-assistenter (Claude, Cursor, GPT m.fl.) |
Python-pakke tollcalc |
Scripts, data science, Jupyter Notebooks |
REST-API
Den fulde API-dokumentation (OpenAPI 3.0) finder du på:
Hurtig start
curl -X POST https://app.tollcalc.eu/api/calculate \
-H "Content-Type: application/json" \
-H "Authorization: Bearer DIN_API_TOKEN" \
-d '{
"origin": "Munich, Germany",
"destination": "Vienna, Austria",
"vehicle": {
"weight": 40,
"axles": 5,
"emission_class": "euro6",
"co2_class": "class_1"
}
}'
Parametre
| Parameter | Type | Beskrivelse |
|---|---|---|
origin |
string | Startpunkt: adresse eller "lat;lon" |
destination |
string | Destination: adresse eller "lat;lon" |
via |
string[] | Valgfrie mellemstop (maks. 498) |
vehicle.weight |
number | Totalmasse i tons (fx 40) |
vehicle.axles |
integer | Antal aksler: 2, 3, 4 eller 5 |
vehicle.emission_class |
string | Euro-norm: euro0–euro6 |
vehicle.co2_class |
string | CO₂-klasse: class_1 (standarddiesel) til class_5 (nul-emission) |
plannedTripStart |
string | Valgfri ISO-8601-dato ("2026-09-01") eller RFC3339-dato/-tid ("2026-09-01T06:00:00Z"); vælger de vejafgiftsregler, der er gældende på det tidspunkt. Standard: nu |
Grænser: Maks. 500 waypoints pr. anmodning (origin + via + destination). For tætte koordinatkæder (tættere end 1 punkt pr. 500 m) udtyndes automatisk på serveren, og ORS afviser ruter længere end 3.000 km – opdel længere ture i flere anmodninger.
Valgfri HTTP-header:
| Header | Beskrivelse |
|---|---|
X-Subaccount |
Valgfri brugsattribuering, fx til en kundevirksomhed eller afdeling. Tælles pr. subkonto og vises i din brugsstatistik. Manglende/tom → Default; maks. 64 tegn; tilladt A-Z a-z 0-9 _ : -; ugyldig → HTTP 400 |
Autentifikation
API-tokens får du efter registrering på app.tollcalc.eu. Uden token er der 10 gratis forespørgsler pr. måned (pr. IP-adresse).
Hent forbrug og kvote
Når API'et er integreret, kan du hente dit forbrug og din kvote programmatisk – begge endepunkter er read-only, bruger ikke selv kvote og accepterer samme bearer-token:
| Endepunkt | Beskrivelse |
|---|---|
GET /api/usage |
Dine gennemførte beregninger i måneden, fordelt på X-Subaccount |
GET /api/quota |
Forbrug, månedsgrænse og resterende kvote |
Valgfrit query-parameter: year og month (standard: aktuel måned).
# Forbrug pr. subkonto
curl https://app.tollcalc.eu/api/usage \
-H "Authorization: Bearer DIN_API_TOKEN"
# {"year":2026,"month":9,"total":1000,
# "sub_accounts":[{"key":"kunde_a","count":500},{"key":"Default","count":320}]}
# Restende kvote
curl https://app.tollcalc.eu/api/quota \
-H "Authorization: Bearer DIN_API_TOKEN"
# {"year":2026,"month":9,"plan":"api","used":123,"limit":5000,"remaining":4877}
Uden X-Subaccount-header på en beregning tilskrives kaldet nøglen Default. Ved ubegrænsede abonnementer er limit og remaining null.
MCP – Integration i AI-assistenter
TollCalc understøtter Model Context Protocol (MCP) og kan integreres direkte i AI-værktøjer som Claude Desktop, Cursor eller andre MCP-kompatible assistenter.
Endpoint
POST https://app.tollcalc.eu/mcp
Tilgængelige værktøjer
| Værktøj | Beskrivelse |
|---|---|
calculate_toll |
Vejafgiftsberegning for en lastbilrute |
get_quota |
Forespørg om resterende kvote for den aktuelle session |
Konfiguration i Claude Desktop
Tilføj følgende til din Claude Desktop-konfiguration (claude_desktop_config.json):
Mulighed A – OAuth (anbefalet): Angiv kun URL'en, ingen token nødvendig.
{
"mcpServers": {
"tollcalc": {
"url": "https://app.tollcalc.eu/mcp"
}
}
}
Mulighed B – API-nøgle (til automatisering): Gem token manuelt, fx til server-til-server-integrationer.
{
"mcpServers": {
"tollcalc": {
"url": "https://app.tollcalc.eu/mcp",
"headers": {
"Authorization": "Bearer DIN_API_TOKEN"
}
}
}
}
Uden konfiguration er der 10 gratis forespørgsler pr. MCP-session (= pr. samtale) til rådighed – ingen konto nødvendig. Efter 10 forespørgsler åbner Claude Desktop automatisk et browserlogin (OAuth 2.0). Efter login gælder det købte kvote. API-tokens til mulighed B får du på app.tollcalc.eu.
Eksempelopkald via MCP
Efter opsætningen kan du spørge assistenten direkte:
"Hvad koster vejafgiften for en 40-tonner fra München til Wien?"
Assistenten kalder værktøjet calculate_toll og returnerer et struktureret svar.
Detaljeniveauer
Værktøjet calculate_toll understøtter tre detaljeniveauer via parameteren detail:
| Værdi | Indhold |
|---|---|
compact (standard) |
Samlet afgift, afgifts-km, afgiftsfrie km, fordeling pr. land |
detailed |
Som compact, plus omkostninger pr. segment (uden geometri) |
full |
Som detailed, plus koordinater og debug-informationer |
Svarfelter
Alle detaljeniveauer indeholder følgende felter:
| Felt | Type | Beskrivelse |
|---|---|---|
origin |
string | Opløst navn på startsted |
destination |
string | Opløst navn på destinationssted |
total_toll_eur |
number | Samlet vejafgift i euro |
total_distance_km |
number | Samlet strækning i km |
toll_km |
number | Afgiftspligtige km |
toll_free_km |
number | Afgiftsfrie km |
countries |
array | Fordeling pr. land (country, country_name, total_km, toll_km, toll_eur) |
info_url |
string | Link til beregningen i TollCalc-webappen – inkl. planlagt rute på kortet, til deling med kolleger eller åbning i browseren |
Med detail=detailed indeholder countries desuden segments (segmenter med road, type, km, toll_eur).
Med detail=full kommer koordinater, source_url, matched_geofence og geometri til.
Server Card
MCP-beskrivelsen (Server Card) kan hentes på:
GET https://app.tollcalc.eu/.well-known/mcp-server
Python-pakke tollcalc
Python-pakken tollcalc omslutter REST-API'et og muliggør brug fra Python-scripts eller Jupyter Notebooks.
Installation
pip install tollcalc
Brug
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="DIN_API_TOKEN",
)
print(f"Samlet vejafgift: {result['total_toll_eur']:.2f} EUR")
print(f"Strækning: {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} afgifts-km)")
Forbrug og kvote fra Python
from tollcalc import get_usage, get_quota
usage = get_usage(token="DIN_API_TOKEN")
print(usage["total"], "Calls")
for s in usage["sub_accounts"]:
print(f" {s['key']}: {s['count']}")
quota = get_quota(token="DIN_API_TOKEN")
print(f"{quota['used']} / {quota['limit']} – tilbage: {quota['remaining']}")
Koordinater som input
result = calculate_toll(
origin="48.1374;11.5755", # München (lat;lon)
destination="48.2082;16.3738", # Wien
weight=40,
axles=5,
)
Pakkedokumentation
Fuld dokumentation og flere eksempler finder du på PyPI: pypi.org/project/tollcalc
Priser og kvoter
| Tarif | Forespørgsler/måned | Pris |
|---|---|---|
| Free (uden token) | 10 pr. MCP-session (= pr. samtale) | gratis |
| Starter | op til 500 | fra 9 €/måned |
| Professional | op til 5.000 | fra 49 €/måned |
| Enterprise | ubegrænset | efter aftale |
Alle tariffer og aktuelle priser: tollcalc.eu/de/#pricing
For spørgsmål om integration kontakt support@tollcalc.eu.