Integration
SDK für TypeScript
Typisierter Client für die Ladehase API, Live-Updates per Server-Sent Events und Prüfung von Webhooks.
Das SDK @ladehase/sdk ist ein schlanker, vollständig typisierter Client. Es wird aus der OpenAPI-Beschreibung erzeugt und passt darum immer zur API.
Installation
npm install @ladehase/sdk
Client erstellen
import { ladehase } from "@ladehase/sdk";
const lh = ladehase({ apiKey: process.env.LADEHASE_KEY! });
const { data, error } = await lh.GET("/v1/devices");
if (error) throw new Error(error.title);
for (const device of data.data) console.log(device.id, device.name);
Pfade, Parameter und Antworten sind typisiert. Dein Editor schlägt Endpunkte und Felder vor.
Ladung starten und stoppen
const { data: session } = await lh.POST("/v1/sessions", {
body: { device_id: "dev_…" },
headers: { "idempotency-key": crypto.randomUUID() },
});
await lh.POST("/v1/sessions/{id}/stop", { params: { path: { id: session!.id } } });
Tarif in der Vorschau berechnen
const { data: preview } = await lh.POST("/v1/tariffs/preview", {
body: { rules: { energyPrice: 4500, serviceFee: 50 }, energy_wh: [20000] },
});
Webhooks prüfen
import { verifyWebhook } from "@ladehase/sdk";
const ok = await verifyWebhook(rawBody, signatureHeader, process.env.LADEHASE_WEBHOOK_SECRET!);
Die Funktion nutzt Web Crypto und läuft in Node.js, Deno, Bun und Edge-Umgebungen. Details unter Webhooks.
Andere Sprachen
Für andere Sprachen erzeugst du einen Client aus der OpenAPI-Beschreibung unter www.ladehase.com/openapi.json, zum Beispiel mit openapi-generator. Oder du nutzt die REST-API direkt mit einem HTTP-Client deiner Wahl.
Fehler gefunden? Schreib an developer@ladehase.com.