CSMS-software / Integratie

EV-oplader APIs

Een API op een laadnetwerk heeft niet dezelfde vorm als de meeste API's, omdat er aan de andere kant hardware in een parkeergarage zit die offline kan zijn, midden in de sessie of fysiek bezet is door iemand die niet uw gebruiker is. De interessante ontwerpvragen gaan allemaal over die kloof.

Op deze pagina wordt besproken wat een opladende API blootlegt, waarom lezen en besturen verschillend zijn geautoriseerd, de real-time opties en wanneer ze gelijk hebben, reikwijdte en snelheidslimieten, en wat opzettelijk niet wordt blootgesteld.

Toegang voor ontwikkelaars

Voor Een ontwikkelaar of producteigenaar die opladen integreert in een applicatie die zijn eigen gebruikers zullen gebruiken.

Wat wordt blootgelegd

Veeg om te vergelijken

Hulpbronnen die een opladende API doorgaans blootlegt en waarvoor ze worden gebruikt.
BronTypisch gebruik
Opladers en connectorenOntdekking, status, mogelijkheden, locatie
BeschikbaarheidOf een baai op dit moment kan worden gebruikt
SessiesStart, stop, huidige status, geschiedenis
TarievenWat een sessie kost voordat deze begint
Gebruikers en autorisatieWie mag kosten in rekening brengen, tegen welke voorwaarden
TelemetrieMeterwaarden en status tijdens een sessie
Commando'sStarten, stoppen, ontgrendelen, resetten op afstand
Storingen en gebeurtenissenWat ging er mis, en wanneer

Lezen en controleren zijn verschillende problemen

De leesstatus is een normaal API-probleem. Het geven van een commando is dat niet, omdat het commando naar fysieke apparatuur gaat die mogelijk niet luistert, en het antwoord dat je krijgt gaat over het verzoek en niet over de uitkomst.

  • Een start op afstand die succes oplevert, betekent dat de opdracht is geaccepteerd, niet dat een auto aan het opladen is. De uitkomst komt later als een staatsverandering
  • De oplader is mogelijk offline. In dat geval moet de opdracht in de wachtrij worden geplaatst, worden afgewezen of verlopen, en moet uw toepassing weten welke
  • De fysieke wereld kan je tegenspreken: geen voertuig aangesloten, de ruimte bezet door een auto die niet oplaadt, de connector is niet vergrendeld
  • Commando's moeten idempotent zijn, omdat een client die geen antwoord heeft gezien het opnieuw zal proberen

Controlebewerkingen worden dus afzonderlijk van leesbewerkingen geautoriseerd, en een integratie moet worden ontworpen om resultaten te observeren in plaats van te vertrouwen op bevestigingen.

Realtime updates ontvangen

  1. 1

    Webhaken

    Het platform plaatst evenementen op u. Efficiënt en de juiste standaard. Vereist dat u bereikbaar bent, snel reageert en duplicaten en niet-bestelling leveringen afhandelt.

  2. 2

    Streamen

    Een permanente verbinding voor continue telemetrie. Ideaal voor een live dashboard, onnodig voor de meeste applicaties, en het maakt je klant stateful.

  3. 3

    Polling

    Eenvoudig, werkt altijd en schaalt slecht. Prima voor een handvol opladers en fout voor een netwerk. Het zorgt ook voor verouderde beschikbaarheid, wat de fout is die gebruikers opmerken.

De meeste integraties eindigen met webhooks voor evenementen en een beperkte peiling voor de specifieke dingen die nooit oud mogen zijn, wat in de praktijk beschikbaarheid is.

Authenticatie en scoping

  • Referenties gelden voor een reeks opladers of locaties, niet voor het hele netwerk, dus een partnerintegratie kan niet verder reiken dan het eigen vermogen
  • Lezen en beheren zijn gescheiden, zodat een analyse-integratie geen sessies kan starten
  • Inloggegevens per integratie in plaats van gedeelde, zodat de toegang kan worden ingetrokken zonder al het andere te verbreken
  • Gebruikerscontext waarin een eindgebruiker handelt, zodat een actie kan worden toegeschreven aan een persoon en niet aan een applicatie
  • Een audittrail van commando's die ertoe doen na een incident

Tarieflimieten en goed gedrag op schaal

De foutmodus is meestal niet dat één cliënt misbruik maakt. Het zijn honderd goed opgevoede klanten die allemaal op dezelfde minuutgrens peilen, of een vloot van opladers die tegelijkertijd opnieuw verbinding maken na een regionale storing en elke integratie die in één keer reageert.

  • Ga terug op afwijzing in plaats van het meteen opnieuw te proberen, waardoor een drukke periode in een uitval verandert
  • Jitter geplande verzoeken in plaats van ze op de minuut af te stemmen
  • Geef de voorkeur aan evenementen boven polling, waar de gegevens dit toelaten
  • Cache wat niet verandert, wat de meeste metagegevens van de oplader zijn

Wat bewust niet wordt blootgelegd

Sommige dingen worden met opzet achtergehouden, en als je weet welke zaken dat zijn, kun je een integratieontwerp besparen dat niet kan werken.

  • Alles waarmee een API-beller het veiligheidsgedrag kan beïnvloeden. De volgorde en bescherming van de contactor zijn door hun ontwerp niet adresseerbaar
  • Ruwe persoonlijke gegevens die verder gaan dan wat de reikwijdte van de integratie rechtvaardigt
  • Directe protocoltoegang tot de oplader, waardoor de eigen status en autorisatie van het platform zou worden omzeild
  • De gegevens van andere tenants over een gedeelde implementatie zijn uiteraard de moeite waard om te bevestigen in plaats van aan te nemen

Toegepast op uw eigen locatie?

Toegang voor ontwikkelaars

Technisch beoordeeld door Deepu Joy, Director of Products and Delivery. Laatst beoordeeld 2026-09-10.

Veelgestelde vragen

Betekent een succesvolle start op afstand dat de auto aan het opladen is?

Nee. Het betekent dat het commando is geaccepteerd. De uitkomst komt later als een staatsverandering, en jullie integratie zou de uitkomsten moeten observeren in plaats van op bevestigingen te vertrouwen.

Webhooks of polling?

Webhooks voor evenementen, met een beperkte poll voor alles wat nooit verouderd mag zijn, wat in de praktijk beschikbaarheid is. Het peilen van alles schaalt slecht en levert precies de oudheid op die gebruikers opmerken.

Kunnen we alleen toegang krijgen tot onze eigen sites?

Zo zou het moeten worden ingeschat. Referenties moeten een gedefinieerd domein bestrijken, waarbij lezen en controle gescheiden zijn, en per integratie in plaats van gedeeld.

Kunnen we rechtstreeks met de oplader praten via OCPP?

Nee. Dat omzeilt de status en autorisatie van het platform, en twee systemen die één oplader besturen, zijn eerder een storingsmodus dan een functie.

Wat gebeurt er als de oplader offline is wanneer we een opdracht sturen?

Afhankelijk van het commando wordt het in de wachtrij geplaatst, afgewezen of verlopen, en uw integratie moet weten welke. Een bevel dat stilletjes verdwijnt, is erger dan een bevel dat mislukt.

Bouwen aan een laadnetwerk?

Vertel ons wat uw aanvraag moet doen. De lees- en controlesplitsing regelt het ontwerp meestal in één gesprek.

Toegang voor ontwikkelaars