Plattform
Vi sköter grunden. Du bygger det som skiljer dig från andra.
Vårt REST-API och våra webhooks är dokumenterade, och du kan anropa API:t live på den här sidan.
| Method | Endpoint | Beskrivning | |
|---|---|---|---|
GET | /api/v1/chargers | Alla laddare med livestatus | |
GET | /api/v1/chargers/{id} | En laddare | |
GET | /api/v1/sessions?active=1&limit=50 | Laddtillfällen | |
GET | /api/v1/stats | Nyckeltal för nätet | |
GET | /api/v1/tariff | Aktuell taxa | |
GET | /api/v1/events | Ström av OCPP-trafik via server-sent events |
// Klicka på "Try it" för att anropa det levande API:t
OCPP endpoint
wss://voltvik.askendal.com/ocpp/<chargePointId> (subprotocol ocpp1.6 or ocpp2.0.1, Basic Auth)
Webhooks
En admin lägger till endpoints under Admin → Webhooks. Varje händelse skickas som JSON med POST och skickas igen efter 10 s, 1 min och 5 min om din endpoint inte svarar 2xx.
| Event | När |
|---|---|
session.started | En laddning startar (OCPP 1.6J StartTransaction eller 2.0.1 TransactionEvent Started) |
session.stopped | En laddning avslutas, med kWh, kostnad och orsak |
charger.status | En laddare byter status (Available, Charging, Faulted …) |
lead.created | Någon skickar ett formulär på webbplatsen |
POST your-url
X-Voltvik-Event: session.stopped
X-Voltvik-Signature: t=1793600000,v1=<hex HMAC-SHA256 of "t.body" with your signing secret>
{ "id": "…", "event": "session.stopped", "created_at": "…",
"data": { "session_id": 1281, "charger_id": "CP-03", "kwh": 41.2, "cost": 229.07, "currency": "SEK", "reason": "EVDisconnected", … } }
// Verifiera i Node.js
const [t, v1] = sig.split(',').map(x => x.split('=')[1]);
const ok = crypto.createHmac('sha256', secret).update(t + '.' + rawBody).digest('hex') === v1;