Ausgangssituation:
Kundenseitig besteht der Wunsch, Abfragen und Managementprozesse, wie zum Beispiel das On- beziehungsweise Offboarding von Benutzern, auf dem SEPPmail Secure E-Mail Gateway über Drittsysteme vorzunehmen.
Frage:
Besteht die Möglichkeit den API Zugriff auf das SEPPmail Secure E-Mail Gateway zu testen?
Antwort:
Ist der API Zugriff auf das SEPPmail Secure E-Mail Gateway eingerichtet (siehe Admin: API Funktionen, beziehungsweise RestAPI), so kann dieser beispielsweise via „Postman“ getestet werden.
Hierfür muss Postman zunächst lokal installiert werden (siehe auch https://www.postman.com).
Konfiguration:
Die Konfiguration startet mit dem Einrichten eines
„Environments“.
In diesem werden die Zugangsinformationen zu demjenigen System definiert, auf welches via REST-API zugegriffen werden soll. im konkreten Fall ist das also das SEPPmail Secure E-Mail Gateway.
Für das Anlegen in der Postman-Oberfläche unter „Environments“ zunächst auf das Plus-Symbol „+“ klicken.

Dem neuen Environment sollte ein sprechender Name gegeben werden. Anschließend sind die entsprechenden Parameter zu setzen.
!WICHTIG!
Die Parameter Namen müssen exakt mit denen aus der folgenden Tabelle übereinstimmen. Andernfalls funktioniert das Skript für die Verwendung der Werte nicht.
Parameter Name |
Wert |
---|---|
server |
URL über welche das SEPPmail Secure E-Mail Gateway erreichbar ist, beispielsweise https://securemail.meinefirma.tld Alternativ kann auch eine IP Adresse (beispielsweise https://192.168.0.10) verwendet werden. |
port |
Port, welcher unter RestAPI HTTPS Port eingetragen ist, im Standard also 8445 |
version |
v1 |
X-SM-API-TOKEN |
String aus RestAPI RestAPI keys API token, beispielsweise gAhAMwP2PyDVd3YlxbcNiTFWtjFYBAQJ |
X-SM-API-SECRET |
String aus RestAPI RestAPI keys API secret, beispielsweise GuvQXNA8B2Zzq0S9G2oFKvEClpIUYJhi |
accept |
application/json |
Ein fertig konfiguriertes Environment könnte dann wie folgt aussehen:

Mit dem Speichern (Save) des Environments ist dieser Punkt abgeschlossen.
Fortgesetzt wird die Konfiguration mit dem Einrichten einer
„Collection“
In dieser werden die für das Steuern des SEPPmail Secure E-Mail Gateways verfügbaren Befehle definiert.
Hierfür wird zunächst auf „Collections“
geklickt und anschließend auf „File“ -> „Import“ -> „Raw Text“.
Nun über einen Web-Browser den Pfad https://github.com/seppmail/OpenAPI-YAML/blob/main/seppmail_rest_api.yaml öffnen und den Inhalt der Datei im GitHub Editor anzeigen lassen. Dabei ist für die Anzeige im GitHub Editor das „Raw“ Format auszuwählen. Der angezeigte Text sollte in etwa wie folgt aussehen.

und ist nun in die Zwischenablage zu kopieren. Folgend ist in den eingehend geöffneten Postman Dialog zu wechseln und der zuvor in die Zwischenablage kopierte Text einzufügen.

Nach einem Klick auf „continue“ sollte in Postman folgender Dialog erscheinen:

Nun erscheint in den „Collections“ die API mit den Ordnern der einzelnen Bereiche

Mit dem „Pre-Request Script“ werden die API-Aufrufe aus den „Collections“ unter Zuhilfenahme des eingehend definierten „Environments“ getestet.
Das Pre-Request Script ist ebenfalls auf dem GitHub Repository unter
https://github.com/seppmail/OpenAPI-YAML/blob/main/postmanConfig.js
zu finden. Der Inhalt dieser Datei wird analog zu den „Collections“ kopiert und ist wie folgt einzufügen:

Nun bedarf es noch der „Authorization“ der „Collection“.
Da die Authorization mittels Headern in der REST-API durchgeführt wird, muss die Authorization auf „No Auth“ gesetzt werden:

Eventuell vorhandene Collection-„Variables“ müssen nun gelöscht werden.

Für den eigentlichen Zugriff werden die Werte aus dem „Environment“ verwendet.
Abschließend muss die Collection noch abgespeichert werden mit „Save“.

Nun kann ein Zugriffstest erfolgen.
Dieser findet in den Collections statt. Hier ist zunächst zu beachten, dass das zuvor angelegte Environment (im Beispiel „SEPPmail Test“) ausgewählt wurde. Nun wird in der „SEPPmail API“ der Befehl „Get statistics“ ausgewählt und mittels „Send“ abgesetzt.