API do systemu CSMS: jak zintegrować ładowanie EV z parkingiem, budynkiem i resztą Twoich systemów

Masz działającą stację ładowania i system, który nią zarządza. Sesje się rozliczają, kierowcy płacą, faktury się generują. A potem pojawia się pytanie, które prędzej czy później zadaje każda firma rozwijająca infrastrukturę EV: „skoro to wszystko już działa, czy mogę połączyć ładowanie z systemem parkingowym, z automatyką budynku, z naszym backendem albo z aplikacją, którą już mają nasi klienci?”.
Odpowiedź brzmi: tak — i właśnie po to istnieje API systemu CSMS.
W tym artykule pokazujemy, czym jest API w systemie zarządzania ładowaniem (CSMS), jak działają jego dwa filary — REST API oraz webhooki — i jak przez tę jedną warstwę integracyjną spiąć ładowanie EV z systemami parkingowymi, budynkowymi i flotowymi. Po drodze porządkujemy standardy, o które prędzej czy później zapyta każdy integrator: OCPP, OCPI, ISO 15118 i AFIR. Na końcu pokazujemy, jak zacząć: gdzie uzyskać dostęp, jak wygenerować token i gdzie znajduje się pełna dokumentacja.
To nie jest artykuł o tym, czy warto integrować. To praktyczny przewodnik o tym, jak to się robi i na co uważać.
Ładowarka to urządzenie. CSMS to mózg. API to system nerwowy.
Zacznijmy od uporządkowania pojęć, bo w rozmowach o integracji łatwo o nieporozumienie.
Stacja ładowania to urządzenie: złącze, moc, licznik energii, modem. Sama w sobie potrafi naładować samochód, ale nie wie, kto ładuje, po jakiej cenie, komu wystawić fakturę ani czy kierowca ma prawo z niej korzystać.
CSMS (Charging Station Management System) to oprogramowanie, które tym wszystkim zarządza: rejestruje stacje, autoryzuje kierowców, prowadzi sesje, nalicza opłaty, wystawia faktury, monitoruje awarie i raportuje. Jeśli chcesz zrozumieć, z czego składa się taki system i jak jest zbudowany, opisaliśmy to osobno w artykule czym jest system CSMS i jak jest zbudowany.
API to warstwa, przez którą inne systemy rozmawiają z CSMS. To ona sprawia, że ładowanie przestaje być wyspą, a staje się elementem większej całości — parkingu, budynku, floty czy platformy, którą już posługują się Twoi klienci. Bez API każda integracja to ręczna praca, eksport plików CSV i „przepisywanie danych między systemami”. Z API to jest jedno wywołanie i jedno zdarzenie.
Publiczne API EV24® jest właśnie takim jednym z odbiorców w rdzeniu platformy: dane płyną od stacji, przez OCPP, do CSMS — a stamtąd, przez API, do Twoich systemów. Architekturę tej warstwy pokazujemy na stronie API dla partnerów EV24®.

Dwa filary integracji: REST API i webhooki
Każda dojrzała integracja z CSMS opiera się na dwóch uzupełniających się mechanizmach. Zrozumienie różnicy między nimi jest najważniejszą decyzją architektoniczną, jaką podejmiesz na starcie.
REST API działa w modelu pull — to Ty odpytujesz platformę i wykonujesz operacje. Chcesz dodać stację, wydać kartę SIM, utworzyć token RFID albo pobrać listę klientów? Wysyłasz żądanie, dostajesz odpowiedź. Komunikacja idzie zawsze w stronę: Twój system → EV24®.
Webhooki działają w modelu push — to platforma powiadamia Ciebie, gdy coś się wydarzy. Zamiast co minutę pytać „czy sesja już się skończyła?”, dostajesz jedno żądanie HTTP w momencie, w którym ładowanie faktycznie dobiegnie końca. Komunikacja idzie w stronę: EV24® → Twój system.
W praktyce te dwa mechanizmy pracują razem. Klasyczny wzorzec wygląda tak: webhook informuje o zdarzeniu („sesja zakończona”), a REST API pozwala dociągnąć szczegóły albo wykonać kolejną operację („pobierz dane sesji”, „zaktualizuj status w moim systemie”). Dzięki temu nie musisz odpytywać platformy w pętli — reagujesz dokładnie wtedy, kiedy jest co przetwarzać.
Dlaczego to ważne dla wydajności i kosztów
Integracja oparta wyłącznie na odpytywaniu (polling) jest droga i wolna: albo pytasz za często i generujesz niepotrzebny ruch, albo za rzadko i Twój system reaguje z opóźnieniem. Webhooki rozwiązują to u źródła — zdarzenie trafia do Ciebie raz, natychmiast, i tylko wtedy, gdy naprawdę się wydarzyło. To różnica między systemem, który „co chwilę sprawdza”, a systemem, który „wie od razu”.
Co realnie robisz przez API EV24®
Teoria teorią, ale integratora interesuje jedno: co konkretnie mogę zrobić. Poniżej najczęstsze operacje, które wykonuje się przez API — zgrupowane według obszaru i przypisanego uprawnienia (scope), bo dostęp do każdej z nich jest kontrolowany osobno.
| Obszar | Co robisz przez API | Typowe zastosowanie |
|---|---|---|
| Stacje ładowania | Dodawanie i konfiguracja stacji, odczyt statusów i parametrów, wyszukiwanie | Automatyczne rejestrowanie nowych urządzeń z poziomu własnego systemu |
| Karty SIM | Wydawanie i przypisywanie kart SIM do stacji, kontrola łączności | Uruchamianie łączności urządzeń przy masowych wdrożeniach |
| Tokeny (RFID / PIN) | Tworzenie, aktualizacja i usuwanie tokenów autoryzujących ładowanie | Wydawanie kart pracownikom, najemcom, gościom hotelu |
| Klienci | Zapraszanie klientów, wyszukiwanie i obsługa kont przypisanych do partnera | Onboarding klientów partnera bez ręcznej pracy w portalu |
| Ładowanie i rozliczenia | Odbieranie zdarzeń o zakończonych sesjach wraz z pobraną energią i danymi transakcji | Automatyczne rozliczanie, raportowanie i księgowanie sesji |
Kluczowa uwaga: dostęp do API opiera się na tokenie oraz na zakresach (scope), które ograniczają, co dany token może zrobić. Token z uprawnieniem tylko do odczytu stacji nie utworzy tokena RFID ani nie zaprosi klienta. To nie jest „wszystko albo nic” — to precyzyjnie przydzielane uprawnienia, dopasowane do roli integracji.
Anatomia dobrego webhooka: zakończenie ładowania
Najlepiej zrozumie się integrację na konkretnym zdarzeniu. Weźmy to najważniejsze w praktyce: zakończenie sesji ładowania.
W modelu tradycyjnym Twój system musiałby regularnie pytać: „czy sesja 12345 już się skończyła?”. W modelu webhookowym to platforma wysyła do Ciebie żądanie POST w momencie, w którym ładowanie faktycznie się kończy. Powiadomienie zawiera to, czego potrzebujesz do dalszego przetwarzania: identyfikator sesji, identyfikator stacji i złącza, użytą energię, sposób autoryzacji oraz powiązanie z kierowcą i pojazdem.
Trzy zasady, o których musi pamiętać każdy, kto odbiera webhooki:
- Weryfikuj pochodzenie. Do każdego żądania platforma dołącza skonfigurowany przez Ciebie nagłówek autoryzacyjny. Usługa odbierająca powinna go sprawdzać, zanim cokolwiek przetworzy.
- Odpowiadaj kodem 2xx. Po poprawnym przyjęciu powiadomienia zwróć
2xx. W razie błędu (sieć, kod inny niż 2xx) platforma ponawia próbę zgodnie z polityką ponawiania. - Bądź idempotentny. To samo zdarzenie może dotrzeć więcej niż raz. Twój system musi to obsłużyć tak, aby jedna sesja nie została rozliczona dwukrotnie — najprościej po unikalnym identyfikatorze zdarzenia.
Te trzy zasady odróżniają integrację, która „działa na demie”, od takiej, która działa w produkcji przez lata.
Standardy, które musisz znać, zanim zaczniesz integrować
Rynek ładowania EV jest jednym z lepiej ustandaryzowanych obszarów w energetyce. To dobra wiadomość: nie integrujesz się z zamkniętą, autorską układanką, tylko z systemem, który mówi znanymi protokołami. Poniżej standardy, które prędzej czy później pojawią się w rozmowie o integracji — i rola, jaką pełnią.
| Standard | Czego dotyczy | Gdzie się z nim zetkniesz |
|---|---|---|
| OCPP | Komunikacja stacja ↔ CSMS (rejestracja, sesje, telemetria, zdalne sterowanie) | Warstwa między urządzeniem a platformą — fundament całego systemu |
| OCPI | Roaming i wymiana danych między operatorami i dostawcami usług (CPO ↔ eMSP) | Udostępnianie stacji w sieciach roamingowych i cennikach zewnętrznych |
| ISO 15118 | Komunikacja pojazd ↔ stacja, w tym Plug & Charge i dwukierunkowe ładowanie | Autoryzacja bez karty i aplikacji, scenariusze V2G |
| OCPP Smart Charging | Sterowanie mocą ładowania i profile ładowania w ramach OCPP | Dynamiczny podział mocy między stacjami (load balancing) |
| AFIR | Regulacja UE: dostępność, płatności ad hoc i transparentność cen | Obowiązki publicznych punktów ładowania — opisaliśmy je osobno |
| REST / Webhooki / OAuth2 | Warstwa integracji aplikacyjnej: żądania, zdarzenia, autoryzacja tokenem | Twoja integracja z API CSMS — to, o czym jest ten artykuł |
Warto rozdzielić dwie warstwy. OCPP, OCPI i ISO 15118 to standardy „ładowarkowe” — opisują, jak rozmawiają ze sobą urządzenia, platformy i pojazdy. Nimi zajmuje się CSMS i to on je dla Ciebie obsługuje. REST, webhooki i OAuth2 to standardy „integracyjne” — to nimi rozmawia Twój system z API. Największa wartość dobrego CSMS polega właśnie na tym, że złożoność świata OCPP i OCPI zamyka w prostym, aplikacyjnym API. Jeśli chcesz zgłębić fundament tej układanki, mamy osobny artykuł o protokole OCPP, a wymogi regulacyjne omawiamy w tekście o AFIR i publicznych stacjach ładowania.
Integracja z systemami parkingowymi
To jeden z najczęstszych i najbardziej opłacalnych scenariuszy. Parking i ładowanie to dwie usługi, które fizycznie dzieją się w tym samym miejscu — a bez integracji są rozliczane w dwóch osobnych światach.
Wyobraź sobie parking przy galerii handlowej albo biurowcu. Kierowca wjeżdża, kamera odczytuje tablicę rejestracyjną (LPR/ANPR), system parkingowy (PMS) rozpoczyna naliczanie postoju. Jeśli auto to elektryk, kierowca podłącza je do ładowarki. Bez integracji dostaje dwa osobne rachunki z dwóch systemów, często opłacane różnymi metodami płatności. Po integracji to jedna, spójna usługa.

Jak to wygląda technicznie:
- Rozpoznanie kierowcy. System parkingowy identyfikuje pojazd (tablica, bilet, aplikacja) i przez REST API sprawdza albo tworzy powiązany token autoryzujący ładowanie.
- Rozpoczęcie i zakończenie sesji. Ładowanie prowadzi CSMS, a webhook o zakończeniu sesji trafia do systemu parkingowego z użytą energią i czasem.
- Wspólne rozliczenie. PMS łączy koszt postoju z kosztem energii w jednym rachunku — albo stosuje reguły biznesowe, np. „pierwsza godzina ładowania gratis dla klientów galerii”.
- Sterowanie infrastrukturą. Zdarzenia z ładowania mogą wyzwalać akcje po stronie parkingu (np. zwolnienie miejsca, powiadomienie obsługi o zajętym stanowisku EV po zakończeniu ładowania).
Efekt biznesowy jest wymierny: parking przestaje „tracić” przychód z energii, a kierowca dostaje jedną, spójną usługę. Cała integracja opiera się na dwóch elementach, które już znasz: REST API do zarządzania tokenami i danymi oraz webhooku o zakończeniu ładowania do rozliczenia.
Integracja z systemami budynkowymi
Drugi wielki obszar to automatyka i zarządzanie budynkiem. Tutaj stawka jest inna niż na parkingu — chodzi nie tyle o rozliczenie, ile o moc, bezpieczeństwo i koszty energii.
Budynek ma ograniczoną moc przyłączeniową. Jeśli w podziemnym garażu biurowca stoi dwadzieścia ładowarek, nie mogą one ładować z pełną mocą jednocześnie, bo przekroczą limit przyłącza albo doprowadzą do kosztownych przekroczeń mocy zamówionej. Tu wchodzi integracja z systemem zarządzania budynkiem (BMS) i zarządzaniem energią (HEMS/EMS).

Typowe scenariusze integracji budynkowej:
- Dynamiczny podział mocy (load balancing). System budynkowy przekazuje CSMS informację o dostępnej mocy, a ten rozdziela ją między stacje w czasie rzeczywistym. Piszemy o tym szerzej w artykule o zarządzaniu mocą ładowania.
- Priorytety i harmonogramy. Budynek może zdefiniować, że w godzinach szczytu biurowego ładowanie ma niższy priorytet niż klimatyzacja, a w nocy — najwyższy.
- Fotowoltaika i magazyny energii. Nadwyżkę energii z paneli można kierować do ładowania zamiast oddawać do sieci; CSMS dostaje sygnał o dostępnej „zielonej” mocy.
- Reakcja na dostępną moc. Gdy w budynku brakuje mocy w szczycie, ładowanie zostaje przyciszone zamiast wyłączania innych systemów — a wraca do pełnej mocy, gdy tylko moc się zwalnia.
W tych scenariuszach API działa dwukierunkowo: budynek odczytuje stan ładowania i steruje dostępną mocą, a zdarzenia z sesji trafiają do systemu energetycznego. Warto podkreślić: to CSMS bierze na siebie rozmowę z konkretnymi ładowarkami po OCPP, a budynek rozmawia z jedną, spójną warstwą API. Bez tego każde nowe urządzenie oznaczałoby osobną integrację.
Integracja z flotą i aplikacją partnera
Trzeci scenariusz, obok parkingu i budynku, to integracja z systemem flotowym albo z aplikacją, którą partner już oferuje swoim użytkownikom. Tu API pełni rolę „silnika ładowania” schowanego pod cudzą marką i cudzym interfejsem.
Operator floty chce widzieć ładowanie tam, gdzie widzi paliwo, przeglądy i koszty — czyli we własnym systemie flotowym, a nie w kolejnym, osobnym portalu. Przez REST API pobiera listę stacji i tokenów, przypisuje karty konkretnym kierowcom albo pojazdom, a przez webhooki odbiera każdą zakończoną sesję z użytą energią i identyfikatorem kierowcy. Rozliczenie i raport kosztów energii powstają automatycznie, obok pozostałych kosztów floty.
Podobnie działa integracja z aplikacją partnera. Partner buduje własne doświadczenie użytkownika — logowanie, mapę, historię — a operacje ładowania (autoryzacja, sesja, rozliczenie) realizuje przez API EV24®. Klient końcowy nie wie, że „pod spodem” pracuje CSMS; widzi spójną aplikację jednej marki. To model white label w warstwie integracyjnej: cała złożoność ładowania jest dostępna programistycznie, a marka i interfejs należą do partnera.
We wszystkich tych przypadkach powtarza się ten sam wzorzec, który przewija się przez cały artykuł: REST API do zarządzania danymi i konfiguracją, webhooki do reagowania na zdarzenia. Zmienia się tylko system po drugiej stronie — parking, budynek, flota czy aplikacja.
Najczęstsze błędy przy integracji z API
Zanim przejdziemy do uruchomienia, warto wymienić pułapki, które najczęściej opóźniają wdrożenia albo psują je już na produkcji. Każdą z nich widać dopiero wtedy, gdy ruch rośnie.
- Poleganie wyłącznie na odpytywaniu. Integracja zbudowana tylko na cyklicznym
GET-owaniu statusów jest wolna i kosztowna. Jeśli reagujesz na zdarzenia, użyj webhooków — polling zostaw do sytuacji, gdzie naprawdę potrzebujesz zapytać. - Brak idempotencji. Założenie, że każde zdarzenie przyjdzie dokładnie raz, prędzej czy później skończy się podwójnym rozliczeniem. Klucz unikalności (identyfikator zdarzenia) to nie opcja, tylko wymóg.
- Traktowanie webhooka jako zaufanego wejścia. Endpoint odbierający powiadomienia jest publiczny. Bez weryfikacji nagłówka autoryzacyjnego wystawiasz się na fałszywe żądania.
- Zbyt szerokie tokeny. Jeden token „do wszystkiego” to ryzyko i utrudniona diagnostyka. Nadawaj zakresy dopasowane do konkretnej integracji.
- Ignorowanie stronicowania. Wyszukiwania zwracają wyniki stronami. Integracja, która pobiera „tylko pierwszą stronę”, po kilku miesiącach zacznie gubić dane.
- Brak obsługi ponawiania i limitów. Twój odbiornik czasem będzie niedostępny, a API stosuje limity ruchu. Zaprojektuj kolejkę, wykładnicze ponawianie i obsługę odpowiedzi o przekroczeniu limitu.
Dobra wiadomość jest taka, że wszystkie te błędy są znane i wszystkie mają proste, sprawdzone rozwiązania. Wystarczy pomyśleć o nich na etapie projektu, a nie po pierwszej awarii.
Bezpieczeństwo integracji — czego nie wolno pominąć
Integracja przez API to otwarcie kanału do danych o infrastrukturze, kierowcach i płatnościach. Kilka zasad, które w EV24® są wbudowane w model dostępu i których należy trzymać się po stronie integratora:
- Token Bearer zamiast haseł. Do API uwierzytelniasz się tokenem w nagłówku
Authorization. Token żyje po stronie serwera Twojej integracji, nigdy w kliencie przeglądarki. - Zakresy (scope) zamiast pełnego dostępu. Każdy token dostaje tylko te uprawnienia, których naprawdę potrzebuje. Integracja rozliczeniowa nie potrzebuje prawa do tworzenia tokenów RFID.
- Rotacja i unieważnianie. Wygenerowanie nowego tokena natychmiast unieważnia poprzedni; token można też ręcznie unieważnić. Po wyłączeniu dostępu do API wszystkie powiązane tokeny przestają działać.
- Weryfikacja webhooków. Nagłówek autoryzacyjny dołączany do każdego powiadomienia to Twój mechanizm potwierdzenia, że żądanie faktycznie pochodzi z platformy.
- Idempotencja i logowanie. Zapisuj identyfikatory obsłużonych zdarzeń i loguj wywołania. To ratuje przy diagnozie i chroni przed podwójnym rozliczeniem.
Bezpieczeństwo nie jest tu dodatkiem — to warunek wejścia. Dobrze zaprojektowana integracja traktuje token jak sekret produkcyjny, a webhook jak niezaufane wejście, które trzeba zweryfikować.
Jak zacząć
Uruchomienie integracji z API EV24® jest procesem, nie jednorazowym „włączeniem”. W skrócie wygląda tak:
- Uzyskaj dostęp do API. Administrator włącza usługę API dla profilu partnera lub klienta i przydziela zakresy odpowiadające zakresowi integracji.
- Wygeneruj token. W portalu, w sekcji ustawień API, generujesz token. Jest widoczny tylko raz — zapisz go bezpiecznie.
- Skonfiguruj webhooki. Wskaż adres, pod który mają trafiać powiadomienia, ustaw nagłówek autoryzacyjny i wybierz zdarzenia (np. zakończenie ładowania).
- Zbuduj i przetestuj. Wykonaj pierwsze wywołania REST, odbierz pierwszy webhook, zadbaj o idempotencję i obsługę błędów.
- Wejdź na produkcję. Po testach przełącz integrację na dane produkcyjne i włącz monitoring.
Punktem wyjścia jest strona API dla partnerów EV24®, gdzie zobaczysz architekturę i możliwości warstwy integracyjnej. Pełną ścieżkę techniczną — od uzyskania dostępu, przez konfigurację uprawnień, po pierwsze wywołania — znajdziesz w dokumentacji API EV24® dla integratorów. Interaktywną specyfikację wszystkich endpointów masz pod adresem api.ev24.cloud.
Podsumowanie
Ładowarka naładuje samochód. Ale wartość dla biznesu powstaje dopiero wtedy, gdy ładowanie staje się częścią większej całości: parkingu, który rozlicza postój i energię jednym rachunkiem; budynku, który mądrze dzieli moc i wykorzystuje energię z paneli; floty i backendu, które widzą sesje w czasie rzeczywistym. Tym „spoiwem” jest API systemu CSMS.
Dwa filary — REST API do operacji na żądanie i webhooki do zdarzeń w czasie rzeczywistym — pokrywają praktycznie każdy scenariusz integracji. Standardy rynku (OCPP, OCPI, ISO 15118, AFIR) porządkują świat pod spodem, a dobry CSMS zamyka ich złożoność w prostym, bezpiecznym API. Dodawanie stacji, wydawanie kart SIM, zarządzanie tokenami, onboarding klientów i automatyczne rozliczanie sesji — to wszystko przestaje być ręczną pracą, a staje się kodem.
Jeśli masz już infrastrukturę i system, który nią zarządza, kolejny krok jest naturalny: połącz ładowanie z resztą swojego świata. Zacznij od strony API dla partnerów i dokumentacji dla integratorów.
FAQ
Czym jest API systemu CSMS?+
To warstwa, przez którą inne systemy rozmawiają z systemem zarządzania stacjami ładowania (CSMS). Pozwala programowo dodawać stacje, wydawać karty SIM, zarządzać tokenami RFID/PIN, obsługiwać klientów oraz odbierać zdarzenia o sesjach ładowania — bez ręcznego przepisywania danych między systemami.
Czym różni się REST API od webhooków?+
REST API działa w modelu pull — to Ty odpytujesz platformę i wykonujesz operacje na żądanie. Webhooki działają w modelu push — to platforma powiadamia Twój system, gdy coś się wydarzy, np. gdy sesja ładowania się zakończy. Dojrzała integracja używa obu naraz: webhook sygnalizuje zdarzenie, a REST API pozwala dociągnąć szczegóły.
Czy integracja przez API wymaga wymiany systemu do zarządzania stacjami?+
Nie. API to warstwa, która w tych systemach już jest. Integrację z parkingiem, budynkiem czy flotą budujesz na istniejącej infrastrukturze — bez wymiany stacji ani systemu CSMS.
Jak połączyć ładowanie EV z systemem parkingowym?+
System parkingowy identyfikuje pojazd i przez REST API zarządza tokenem autoryzującym ładowanie, a webhook o zakończeniu sesji przekazuje zużytą energię do rozliczenia. Dzięki temu postój i ładowanie trafiają na jeden rachunek zamiast na dwa osobne.
Jakie standardy obsługuje system CSMS?+
Po stronie urządzeń są to przede wszystkim OCPP, OCPI i ISO 15118, a dynamiczny podział mocy realizuje OCPP Smart Charging. Warstwę integracji aplikacyjnej stanowią REST API, webhooki i autoryzacja tokenem. Dobry CSMS zamyka złożoność tych standardów w jednym, prostym API.
Jak zacząć integrację z API EV24®?+
Uzyskaj dostęp do API, wygeneruj token, skonfiguruj webhooki i wykonaj pierwsze wywołania. Zacznij od strony API dla partnerów i dokumentacji dla integratorów, a pełną specyfikację endpointów znajdziesz pod api.ev24.cloud.