ELEKEY SIMULATOR FÜR LOGISTIKER

Der Hauptzweck des ELEKEY Simulators für Logistiker ist es, die Interaktionsmöglichkeiten der Logistiker REST-Schnittstelle zu simulieren. Dies ermöglicht Entwicklern und Logistikern, die API zu testen und zu verstehen, wie verschiedene Funktionen wie Authentifizierung, Ladepunktabfragen, Reservierungen und Ladevorgänge genutzt werden können, bevor sie diese in einer produktiven Umgebung einsetzen. Die API-Endpunkte sind in verschiedene Ressourcen unterteilt, die jeweils bestimmte Funktionen bereitstellen. Der Simulator hilft dabei, Fehler zu identifizieren, die Benutzerfreundlichkeit zu verbessern und die Integration in bestehende Systeme zu erleichtern.

Die Interaktionsmöglichkeiten gliedern sich in folgende Kategorien:

  • Authentifizierung
  • Ladepunkte
  • Reservierung
  • Ladeoperationen
AUTHENTIFIZIERUNG
Zweck:
Authentifiziert den Benutzer und gibt ein JsonWebToken (JWT) zurück, das für die Autorisierung aller weiteren API-Anfragen benötigt wird.
Erklärung:
Diese Methode stellt sicher, dass nur autorisierte Benutzer Zugriff auf die Funktionen der API haben. Der erhaltene JWT muss bei allen weiteren Anfragen an die API mitgesendet werden, um die Benutzerberechtigung zu prüfen.
LADEPUNKTE
Zweck:
Ermöglicht die Abfrage und Verwaltung von Ladepunkten.
Ladepunktabfrage (paginiert)
Ruft eine paginierte Liste von Ladepunkten ab. Diese Liste kann verwendet werden, um Ladepunkte in der Nähe anzuzeigen oder nach bestimmten Kriterien zu filtern.
Ladepunktabfrage (Umkreissuche)
Sucht nach Ladepunkten innerhalb eines bestimmten Radius. Dies ist nützlich, um verfügbare Ladepunkte in der Nähe einer bestimmten Position zu finden.
Ladepunktstatusabfrage (einzeln)
Ruft den Zustand eines bestimmten Ladepunkts ab. Dies umfasst Informationen wie den aktuellen Betriebszustand, verfügbare Kapazität und Preis.
RESERVIERUNG
Zweck:
Ermöglicht die Reservierung und Verwaltung von Ladezeiten an den Ladepunkten.
Reservierung aktiv halten
Die Methode gibt im Simulator, wenn sie aufgerufen wird, immer OK zurück. Im produktiven System dient sie dazu, die Reservierung eines Zeitslots aufrechtzuerhalten, sodass diese nicht automatisch durch einen Scheduler gelöscht wird.
Reservierung erzeugen
Erzeugt für einen Ladepunkt für den gegebenen Zeitraum eine Reservierung. Hierbei wird der gesamte Zeitraum in einzelne Zeitslots à 15 Minuten zerlegt.
Reservierung stornieren
Storniert einen Zeitslot einer gegebenen Reservierung. Es können nur Zeitslots storniert werden, die sich entweder am Anfang oder am Ende des Reservierungszeitraumes befinden. Hierdurch ist es möglich, Teilstornierungen vorzunehmen.
LADEOPERATIONEN
Zweck:
Verwaltet den Start, die Bestätigung und das Stoppen von Ladevorgängen.
Ein Ladevorgang kann nur für eine bestehende Reservierung vorgenommen werden. Dabei ist es beim Simulator unerheblich, ob das Datum, für welches die Reservierung existiert, bereits erreicht wurde. Es kann für diese Reservierung jedoch nur immer ein Ladevorgang aktiv sein. Für die Reservierung kann es mehrere Ladevorgänge geben, da in der Realität ebenfalls vorkommen kann, dass ein Ladevorgang gestoppt wird, z.B. bewusst oder durch einen Fehler. Daher muss es möglich sein, solange die Reservierung gilt, einen weiteren Ladevorgang zu starten.
Für den Simulator bedeutet dies, dass jeder Ladevorgang einer Reservierung Start- und Endzeitpunkt des Reservierungszeitraums annimmt. Das bedeutet, dass es für eine Reservierung mehrere abgeschlossene Ladevorgänge geben kann, die im selben Zeitraum stattgefunden haben.
Start
Bestätigt den Start eines Ladevorgangs. Diese Aktion ist notwendig, um sicherzustellen, dass der Ladevorgang ordnungsgemäß initiiert wurde und berechnet werden kann.

Der Start des Ladevorgangs besteht aus zwei Schritten:

  • Anfrage, welche als Ergebnis ein Angebot mit den Konditionen zurückliefert
  • Bestätigung oder Ablehnung des Angebots
Anfrage Ladevorgangstart
Fordert den Start eines Ladevorgangs an. Dies ist der erste Schritt, bevor ein Ladevorgang bestätigt werden kann.
Bestätigung Ladevorgangskonditionen
Akzeptiert die zuvor empfangenen Konditionen des zu startenden Ladevorgangs und löst am Ladepunkt den eigentlichen Ladevorgang aus.
Stop
Mit dem Stop des Ladevorgangs wird ein Beleg zurückgegeben.
Stoppt einen laufenden Ladevorgang. Dies ist der finale Schritt, um den Ladevorgang zu beenden und die Abrechnung abzuschließen.

Links

OpenApi Dokumentation (Swagger-UI)

Die Swagger-UI bietet eine visuelle Oberfläche zur Interaktion mit der API-Dokumentation. Sie ermöglicht das Testen von API-Endpunkten direkt aus dem Browser.

Zweck:
Über die Swagger-UI können Benutzer die verschiedenen API-Endpunkte durchsuchen und deren Funktionsweise verstehen. Sie bietet die Möglichkeit, API-Anfragen zu senden und die Antworten zu sehen, was besonders nützlich für Entwickler ist, die die API testen und integrieren möchten.

OpenApi Dokumentation (yaml)

Die YAML-Datei enthält die maschinenlesbare Beschreibung der API.
Sie dient als Referenz für Entwickler, um die Struktur und die verfügbaren Endpunkte der API zu verstehen.

Zweck:
Entwickler können die YAML-Datei verwenden, um die API-Dokumentation zu generieren, Tests zu automatisieren oder API-Clients zu erstellen.
Sie stellt alle notwendigen Details zu den Endpunkten, Parametern und Datenmodellen der API in einem strukturierten Format bereit.