Aller au contenu
Référence API

Tarife

8 endpoints

Les descriptions des endpoints proviennent directement de l'API et sont en allemand.

Tarife auflisten

get/v1/tariffs

Aktive Tarife mit aktueller Version.

Réponse 200TariffList

NomTypeDescription
objectobligatoire"list"
dataobligatoireTariff[]
has_moreobligatoireboolean

Erreurs possibles

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Exemple
curl -X GET https://api.ladehase.com/v1/tariffs \n  -H "Authorization: Bearer lh_test_…"
Réponse 200
{
  "object": "list",
  "data": [
    {
      "id": "trf_5e2a8b1c9d0f3e7a",
      "object": "tariff",
      "name": "string",
      "description": "string",
      "version": 0,
      "version_id": "string",
      "rules": {},
      "archived": true,
      "created_at": "string",
      "updated_at": "string"
    }
  ],
  "has_more": true
}

Tarif anlegen

post/v1/tariffs

Tarifregeln: `energyPrice` in Hundertstel-Rappen pro kWh (4500 = 45 Rappen), `startFee` und `serviceFee` in Rappen, `timeWindows` für zeitabhängige Preise, `idleFee` für die Standzeitgebühr, `maxAmount` als Höchstbetrag. Preise inkl. MWST.

Paramètres

NomEmplacementType
idempotency-keyfacultatifWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden)En-têtestring

Requête

NomTypeDescription
nameobligatoirestring
descriptionfacultatifstring | null
rulesobligatoireobject

Réponse 201Tariff

NomTypeDescription
idobligatoirestringID mit Präfix «trf_»
objectobligatoire"tariff"
nameobligatoirestring
descriptionobligatoirestring | null
versionobligatoireinteger
version_idobligatoirestring | null
rulesobligatoireobject | nullTarifregeln, siehe TariffRules
archivedobligatoireboolean
created_atobligatoirestring
updated_atobligatoirestring

Erreurs possibles

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Exemple
curl -X POST https://api.ladehase.com/v1/tariffs \n  -H "Authorization: Bearer lh_test_…" \n  -H "Content-Type: application/json" \n  -d '{"name":"string","description":"string","rules":{"currency":"CHF","energyPrice":0,"startFee":0,"serviceFee":0,"timeWindows":[],"idleFee":{"pricePerMinute":0,"graceMinutes":0,"trigger":"after_charging","maxAmount":0,"quietHours":{"from":"string","to":"string"}},"maxAmount":0,"timeZone":"Europe/Zurich"}}'
Réponse 201
{
  "id": "trf_5e2a8b1c9d0f3e7a",
  "object": "tariff",
  "name": "string",
  "description": "string",
  "version": 0,
  "version_id": "string",
  "rules": {},
  "archived": true,
  "created_at": "string",
  "updated_at": "string"
}

Tarif abrufen

get/v1/tariffs/{id}

Ein Tarif mit Regeln der aktuellen Version.

Paramètres

NomEmplacementType
idobligatoireCheminstring

Réponse 200Tariff

NomTypeDescription
idobligatoirestringID mit Präfix «trf_»
objectobligatoire"tariff"
nameobligatoirestring
descriptionobligatoirestring | null
versionobligatoireinteger
version_idobligatoirestring | null
rulesobligatoireobject | nullTarifregeln, siehe TariffRules
archivedobligatoireboolean
created_atobligatoirestring
updated_atobligatoirestring

Erreurs possibles

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Exemple
curl -X GET https://api.ladehase.com/v1/tariffs/{id} \n  -H "Authorization: Bearer lh_test_…"
Réponse 200
{
  "id": "trf_5e2a8b1c9d0f3e7a",
  "object": "tariff",
  "name": "string",
  "description": "string",
  "version": 0,
  "version_id": "string",
  "rules": {},
  "archived": true,
  "created_at": "string",
  "updated_at": "string"
}

Tarif ändern

patch/v1/tariffs/{id}

Neue Regeln ergeben eine neue Version. Laufende Ladungen behalten ihre Version.

Paramètres

NomEmplacementType
idobligatoireCheminstring

Requête

NomTypeDescription
namefacultatifstring
descriptionfacultatifstring | null
rulesfacultatifobject

Réponse 200Tariff

NomTypeDescription
idobligatoirestringID mit Präfix «trf_»
objectobligatoire"tariff"
nameobligatoirestring
descriptionobligatoirestring | null
versionobligatoireinteger
version_idobligatoirestring | null
rulesobligatoireobject | nullTarifregeln, siehe TariffRules
archivedobligatoireboolean
created_atobligatoirestring
updated_atobligatoirestring

Erreurs possibles

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Exemple
curl -X PATCH https://api.ladehase.com/v1/tariffs/{id} \n  -H "Authorization: Bearer lh_test_…" \n  -H "Content-Type: application/json" \n  -d '{"name":"string","description":"string","rules":{"currency":"CHF","energyPrice":0,"startFee":0,"serviceFee":0,"timeWindows":[],"idleFee":{"pricePerMinute":0,"graceMinutes":0,"trigger":"after_charging","maxAmount":0,"quietHours":{"from":"string","to":"string"}},"maxAmount":0,"timeZone":"Europe/Zurich"}}'
Réponse 200
{
  "id": "trf_5e2a8b1c9d0f3e7a",
  "object": "tariff",
  "name": "string",
  "description": "string",
  "version": 0,
  "version_id": "string",
  "rules": {},
  "archived": true,
  "created_at": "string",
  "updated_at": "string"
}

Tarif archivieren

delete/v1/tariffs/{id}

Nur Tarife ohne aktive Geräte.

Paramètres

NomEmplacementType
idobligatoireCheminstring

Réponse 200Tariff

NomTypeDescription
idobligatoirestringID mit Präfix «trf_»
objectobligatoire"tariff"
nameobligatoirestring
descriptionobligatoirestring | null
versionobligatoireinteger
version_idobligatoirestring | null
rulesobligatoireobject | nullTarifregeln, siehe TariffRules
archivedobligatoireboolean
created_atobligatoirestring
updated_atobligatoirestring

Erreurs possibles

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Exemple
curl -X DELETE https://api.ladehase.com/v1/tariffs/{id} \n  -H "Authorization: Bearer lh_test_…"
Réponse 200
{
  "id": "trf_5e2a8b1c9d0f3e7a",
  "object": "tariff",
  "name": "string",
  "description": "string",
  "version": 0,
  "version_id": "string",
  "rules": {},
  "archived": true,
  "created_at": "string",
  "updated_at": "string"
}

Versionen auflisten

get/v1/tariffs/{id}/versions

Alle Versionen eines Tarifs.

Paramètres

NomEmplacementType
idobligatoireCheminstring

Réponse 200Object

Erreurs possibles

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Exemple
curl -X GET https://api.ladehase.com/v1/tariffs/{id}/versions \n  -H "Authorization: Bearer lh_test_…"
Réponse 200
{}

Tarifvorschau

post/v1/tariffs/{id}/preview

Beispielbeträge, etwa «So viel kostet eine Ladung mit 20 kWh». Mit `rules` im Body lässt sich ein Entwurf berechnen.

Paramètres

NomEmplacementType
idobligatoireCheminstring
idempotency-keyfacultatifWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden)En-têtestring

Requête

NomTypeDescription
rulesfacultatifobject
energy_whfacultatifinteger[]
power_wfacultatifinteger
idle_minutesfacultatifinteger
start_atfacultatifstring (date-time)

Réponse 200Object

Erreurs possibles

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Exemple
curl -X POST https://api.ladehase.com/v1/tariffs/{id}/preview \n  -H "Authorization: Bearer lh_test_…" \n  -H "Content-Type: application/json" \n  -d '{"rules":{"currency":"CHF","energyPrice":0,"startFee":0,"serviceFee":0,"timeWindows":[],"idleFee":{"pricePerMinute":0,"graceMinutes":0,"trigger":"after_charging","maxAmount":0,"quietHours":{"from":"string","to":"string"}},"maxAmount":0,"timeZone":"Europe/Zurich"},"energy_wh":[10000,20000,40000],"power_w":11000,"idle_minutes":0,"start_at":"2026-10-25T08:30:00.000Z"}'
Réponse 200
{}

Vorschau für Entwurf

post/v1/tariffs/preview

Wie die Tarifvorschau, aber ohne gespeicherten Tarif (Regeln im Body).

Paramètres

NomEmplacementType
idempotency-keyfacultatifWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden)En-têtestring

Requête

NomTypeDescription
rulesfacultatifobject
energy_whfacultatifinteger[]
power_wfacultatifinteger
idle_minutesfacultatifinteger
start_atfacultatifstring (date-time)

Réponse 200Object

Erreurs possibles

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Exemple
curl -X POST https://api.ladehase.com/v1/tariffs/preview \n  -H "Authorization: Bearer lh_test_…" \n  -H "Content-Type: application/json" \n  -d '{"rules":{"currency":"CHF","energyPrice":0,"startFee":0,"serviceFee":0,"timeWindows":[],"idleFee":{"pricePerMinute":0,"graceMinutes":0,"trigger":"after_charging","maxAmount":0,"quietHours":{"from":"string","to":"string"}},"maxAmount":0,"timeZone":"Europe/Zurich"},"energy_wh":[10000,20000,40000],"power_w":11000,"idle_minutes":0,"start_at":"2026-10-25T08:30:00.000Z"}'
Réponse 200
{}