Zum Inhalt springen
API-Referenz

Verbindungen

8 Endpunkte

Verbindungen auflisten

get/v1/integrations

Verbundene Hersteller (Easee) und Zahlungskonten (zahls.ch, Freika). Zugangsdaten werden nie ausgegeben.

Antwort 200IntegrationList

NameTypBeschreibung
objectPflicht"list"
dataPflichtIntegration[]
has_morePflichtboolean

Mögliche Fehler

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Beispiel
curl -X GET https://api.ladehase.com/v1/integrations \n  -H "Authorization: Bearer lh_test_…"
Antwort 200
{
  "object": "list",
  "data": [
    {
      "id": "int_4a7c2b9d0e1f3a5c",
      "object": "integration",
      "kind": "easee",
      "livemode": true,
      "name": "string",
      "status": "pending",
      "public_info": {},
      "webhook_url": "string",
      "last_error": "string",
      "last_checked_at": "2026-10-25T08:30:00.000Z",
      "last_synced_at": "2026-10-25T08:30:00.000Z",
      "created_at": "string"
    }
  ],
  "has_more": true
}

Easee verbinden

post/v1/integrations/easee

Meldet sich einmal mit dem Easee-Login an. Ladehase speichert nur die Tokens (verschlüsselt), nie das Passwort, und importiert sofort alle Charger. Neue Charger sind zuerst deaktiviert.

Parameter

NameOrtTyp
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden)Kopfzeilestring

Anfrage

NameTypBeschreibung
userNamePflichtstring
passwordPflichtstring

Antwort 201Integration

NameTypBeschreibung
idPflichtstringID mit Präfix «int_»
objectPflicht"integration"
kindPflicht"easee" | "zaptec" | "ocpp" | "goe" | "shelly" | "mock" | "zahls" | "freika"Hersteller oder Zahlungspartner. «mock» = Testmodus.
livemodePflichtboolean
namePflichtstring
statusPflicht"pending" | "active" | "needs_attention" | "disconnected"
public_infoPflichtobjectÖffentliche Angaben ohne Geheimnisse
webhook_urlPflichtstring | nullBei zahls.ch einzutragende Webhook-URL
last_errorPflichtstring | null
last_checked_atPflichtstring | nullZeitpunkt (ISO 8601, UTC)
last_synced_atPflichtstring | nullZeitpunkt (ISO 8601, UTC)
created_atPflichtstring

Mögliche Fehler

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Beispiel
curl -X POST https://api.ladehase.com/v1/integrations/easee \n  -H "Authorization: Bearer lh_test_…" \n  -H "Content-Type: application/json" \n  -d '{"userName":"string","password":"string"}'
Antwort 201
{
  "id": "int_4a7c2b9d0e1f3a5c",
  "object": "integration",
  "kind": "easee",
  "livemode": true,
  "name": "string",
  "status": "pending",
  "public_info": {},
  "webhook_url": "string",
  "last_error": "string",
  "last_checked_at": "2026-10-25T08:30:00.000Z",
  "last_synced_at": "2026-10-25T08:30:00.000Z",
  "created_at": "string"
}

zahls.ch-Konto verbinden

post/v1/integrations/zahls

Verbindet das eigene zahls.ch-Konto mit Instanzname und API-Schlüssel. Das Geld fliesst direkt auf dieses Konto.

Parameter

NameOrtTyp
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden)Kopfzeilestring

Anfrage

NameTypBeschreibung
instancePflichtstring
apiKeyPflichtstring

Antwort 201Integration

NameTypBeschreibung
idPflichtstringID mit Präfix «int_»
objectPflicht"integration"
kindPflicht"easee" | "zaptec" | "ocpp" | "goe" | "shelly" | "mock" | "zahls" | "freika"Hersteller oder Zahlungspartner. «mock» = Testmodus.
livemodePflichtboolean
namePflichtstring
statusPflicht"pending" | "active" | "needs_attention" | "disconnected"
public_infoPflichtobjectÖffentliche Angaben ohne Geheimnisse
webhook_urlPflichtstring | nullBei zahls.ch einzutragende Webhook-URL
last_errorPflichtstring | null
last_checked_atPflichtstring | nullZeitpunkt (ISO 8601, UTC)
last_synced_atPflichtstring | nullZeitpunkt (ISO 8601, UTC)
created_atPflichtstring

Mögliche Fehler

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Beispiel
curl -X POST https://api.ladehase.com/v1/integrations/zahls \n  -H "Authorization: Bearer lh_test_…" \n  -H "Content-Type: application/json" \n  -d '{"instance":"string","apiKey":"string"}'
Antwort 201
{
  "id": "int_4a7c2b9d0e1f3a5c",
  "object": "integration",
  "kind": "easee",
  "livemode": true,
  "name": "string",
  "status": "pending",
  "public_info": {},
  "webhook_url": "string",
  "last_error": "string",
  "last_checked_at": "2026-10-25T08:30:00.000Z",
  "last_synced_at": "2026-10-25T08:30:00.000Z",
  "created_at": "string"
}

Freika-Konto verbinden

post/v1/integrations/freika

Verbindet das eigene Freika-Konto mit einem API-Schlüssel (Rechte «schreiben» und «Terminals»). Nötig für das PAX IM30.

Parameter

NameOrtTyp
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden)Kopfzeilestring

Anfrage

NameTypBeschreibung
apiKeyPflichtstring

Antwort 201Integration

NameTypBeschreibung
idPflichtstringID mit Präfix «int_»
objectPflicht"integration"
kindPflicht"easee" | "zaptec" | "ocpp" | "goe" | "shelly" | "mock" | "zahls" | "freika"Hersteller oder Zahlungspartner. «mock» = Testmodus.
livemodePflichtboolean
namePflichtstring
statusPflicht"pending" | "active" | "needs_attention" | "disconnected"
public_infoPflichtobjectÖffentliche Angaben ohne Geheimnisse
webhook_urlPflichtstring | nullBei zahls.ch einzutragende Webhook-URL
last_errorPflichtstring | null
last_checked_atPflichtstring | nullZeitpunkt (ISO 8601, UTC)
last_synced_atPflichtstring | nullZeitpunkt (ISO 8601, UTC)
created_atPflichtstring

Mögliche Fehler

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Beispiel
curl -X POST https://api.ladehase.com/v1/integrations/freika \n  -H "Authorization: Bearer lh_test_…" \n  -H "Content-Type: application/json" \n  -d '{"apiKey":"string"}'
Antwort 201
{
  "id": "int_4a7c2b9d0e1f3a5c",
  "object": "integration",
  "kind": "easee",
  "livemode": true,
  "name": "string",
  "status": "pending",
  "public_info": {},
  "webhook_url": "string",
  "last_error": "string",
  "last_checked_at": "2026-10-25T08:30:00.000Z",
  "last_synced_at": "2026-10-25T08:30:00.000Z",
  "created_at": "string"
}

Testgeräte anlegen

post/v1/integrations/test

Legt simulierte Ladepunkte und Testzahlungen an. Ideal zum Ausprobieren ohne Hardware und für automatisierte Tests (Schlüssel lh_test_).

Parameter

NameOrtTyp
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden)Kopfzeilestring

Antwort 201Integration

NameTypBeschreibung
idPflichtstringID mit Präfix «int_»
objectPflicht"integration"
kindPflicht"easee" | "zaptec" | "ocpp" | "goe" | "shelly" | "mock" | "zahls" | "freika"Hersteller oder Zahlungspartner. «mock» = Testmodus.
livemodePflichtboolean
namePflichtstring
statusPflicht"pending" | "active" | "needs_attention" | "disconnected"
public_infoPflichtobjectÖffentliche Angaben ohne Geheimnisse
webhook_urlPflichtstring | nullBei zahls.ch einzutragende Webhook-URL
last_errorPflichtstring | null
last_checked_atPflichtstring | nullZeitpunkt (ISO 8601, UTC)
last_synced_atPflichtstring | nullZeitpunkt (ISO 8601, UTC)
created_atPflichtstring

Mögliche Fehler

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Beispiel
curl -X POST https://api.ladehase.com/v1/integrations/test \n  -H "Authorization: Bearer lh_test_…"
Antwort 201
{
  "id": "int_4a7c2b9d0e1f3a5c",
  "object": "integration",
  "kind": "easee",
  "livemode": true,
  "name": "string",
  "status": "pending",
  "public_info": {},
  "webhook_url": "string",
  "last_error": "string",
  "last_checked_at": "2026-10-25T08:30:00.000Z",
  "last_synced_at": "2026-10-25T08:30:00.000Z",
  "created_at": "string"
}

Verbindung prüfen

post/v1/integrations/{id}/test

Prüft die Zugangsdaten beim Hersteller oder Zahlungspartner und aktualisiert den Status.

Parameter

NameOrtTyp
idPflichtPfadstring
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden)Kopfzeilestring

Antwort 200Integration

NameTypBeschreibung
idPflichtstringID mit Präfix «int_»
objectPflicht"integration"
kindPflicht"easee" | "zaptec" | "ocpp" | "goe" | "shelly" | "mock" | "zahls" | "freika"Hersteller oder Zahlungspartner. «mock» = Testmodus.
livemodePflichtboolean
namePflichtstring
statusPflicht"pending" | "active" | "needs_attention" | "disconnected"
public_infoPflichtobjectÖffentliche Angaben ohne Geheimnisse
webhook_urlPflichtstring | nullBei zahls.ch einzutragende Webhook-URL
last_errorPflichtstring | null
last_checked_atPflichtstring | nullZeitpunkt (ISO 8601, UTC)
last_synced_atPflichtstring | nullZeitpunkt (ISO 8601, UTC)
created_atPflichtstring

Mögliche Fehler

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Beispiel
curl -X POST https://api.ladehase.com/v1/integrations/{id}/test \n  -H "Authorization: Bearer lh_test_…"
Antwort 200
{
  "id": "int_4a7c2b9d0e1f3a5c",
  "object": "integration",
  "kind": "easee",
  "livemode": true,
  "name": "string",
  "status": "pending",
  "public_info": {},
  "webhook_url": "string",
  "last_error": "string",
  "last_checked_at": "2026-10-25T08:30:00.000Z",
  "last_synced_at": "2026-10-25T08:30:00.000Z",
  "created_at": "string"
}

Geräte importieren

post/v1/integrations/{id}/sync

Liest alle Geräte beim Hersteller und legt neue Standorte, Geräte, Ladepunkte und QR-Codes an.

Parameter

NameOrtTyp
idPflichtPfadstring
idempotency-keyoptionalWiederholbare Anfragen ohne doppelte Wirkung (24 Stunden)Kopfzeilestring

Antwort 200Object

Mögliche Fehler

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Beispiel
curl -X POST https://api.ladehase.com/v1/integrations/{id}/sync \n  -H "Authorization: Bearer lh_test_…"
Antwort 200
{}

Verbindung trennen

delete/v1/integrations/{id}

Löscht die Zugangsdaten. Geräte dieses Herstellers werden deaktiviert.

Parameter

NameOrtTyp
idPflichtPfadstring

Antwort 200Integration

NameTypBeschreibung
idPflichtstringID mit Präfix «int_»
objectPflicht"integration"
kindPflicht"easee" | "zaptec" | "ocpp" | "goe" | "shelly" | "mock" | "zahls" | "freika"Hersteller oder Zahlungspartner. «mock» = Testmodus.
livemodePflichtboolean
namePflichtstring
statusPflicht"pending" | "active" | "needs_attention" | "disconnected"
public_infoPflichtobjectÖffentliche Angaben ohne Geheimnisse
webhook_urlPflichtstring | nullBei zahls.ch einzutragende Webhook-URL
last_errorPflichtstring | null
last_checked_atPflichtstring | nullZeitpunkt (ISO 8601, UTC)
last_synced_atPflichtstring | nullZeitpunkt (ISO 8601, UTC)
created_atPflichtstring

Mögliche Fehler

  • 400 Anfrage ungültig
  • 401 Nicht angemeldet
  • 403 Berechtigung fehlt
  • 404 Nicht gefunden
  • 409 Zustand passt nicht
  • 429 Zu viele Anfragen
Beispiel
curl -X DELETE https://api.ladehase.com/v1/integrations/{id} \n  -H "Authorization: Bearer lh_test_…"
Antwort 200
{
  "id": "int_4a7c2b9d0e1f3a5c",
  "object": "integration",
  "kind": "easee",
  "livemode": true,
  "name": "string",
  "status": "pending",
  "public_info": {},
  "webhook_url": "string",
  "last_error": "string",
  "last_checked_at": "2026-10-25T08:30:00.000Z",
  "last_synced_at": "2026-10-25T08:30:00.000Z",
  "created_at": "string"
}