SMSEagle bietet eine leistungsstarke integrierte REST-API. Die API ist für die Integration von SMSEagle mit einem externen System oder einer Anwendung vorgesehen.

API-Referenz

SMSEagle bietet zwei API-Versionen:

  • API v2 – empfohlen, verwenden Sie sie für jede neue Integration. Eine moderne RESTful-API basierend auf der OpenAPI-3.0-Spezifikation. API v2-Referenz

  • API v1 – die ältere API, wird nur aus Gründen der Rückwärtskompatibilität beibehalten. Eine einfache HTTP- und JSON-RPC-API. Sie funktioniert immer noch und wird weiterhin unterstützt, erhält aber keine neuen Funktionen – schreiben Sie keine neuen Integrationen dagegen. API v1-Referenz

Aufgrund des umfangreichen API-Dokumentationsinhalts wird diese als separates Dokument gepflegt. Folgen Sie den obigen Links für die vollständige Spezifikation jeder API.

API-Schlüssel

Eine Integration authentifiziert sich mit einem API-Schlüssel anstelle eines Benutzerpassworts. Schlüssel werden für jede API-Version separat auf zwei Seiten aufbewahrt:

  • Settings > API > API v2 (/settings/api/v2)

  • Settings > API > API v1 (/settings/api/v1)

Ein Schlüssel gehört immer einem Benutzer und fungiert als dieser Benutzer, daher sieht er die Nachrichten und Kontakte dieses Benutzers. Berechtigungen werden pro Schlüssel gewährt, sodass Sie ein Überwachungssystem auf Lesen begrenzen können, während ein Website-Formular möglicherweise nur senden darf.

API v2-Schlüssel

Dies ist die Seite, die für eine neue Integration verwendet werden sollte.

API v2-Schlüsselseite mit Auflistung der einzelnen Schlüssel mit Besitzer, Berechtigungen und letzter Verwendung (Beispielwerte)

API v2-Schlüssel

API v1-Schlüssel

API v1 ist die ältere API. Erstellen Sie einen v1-Schlüssel nur für eine vorhandene Integration, die nicht zu v2 verschoben werden kann – für alles Neue erstellen Sie stattdessen einen API v2-Schlüssel.

API v1-Schlüsselseite mit Auflistung der einzelnen Schlüssel mit Besitzer, Berechtigungen und letzter Verwendung (Beispielwerte)

API v1-Schlüssel

Erstellen eines Schlüssels

Create API key öffnet das Formular für die API-Version, deren Seite Sie besuchen:

Feld

Funktion

Key name

Wie Sie diese Integration später erkennen werden, z. B. Zabbix oder Website form.

Owner

Der Benutzer, als der der Schlüssel fungiert. Der Schlüssel sieht die Nachrichten und Kontakte dieses Benutzers.

Key enabled

Ein deaktivierter Schlüssel wird von der API abgelehnt, ohne gelöscht zu werden, was eine Integration ausschaltet, ohne ihre Konfiguration zu verlieren.

Access to all users‘ resources

Nur API v2. Ermöglicht dem Schlüssel, Ressourcen anderer Benutzer zu lesen und zu ändern (siehe unten).

Berechtigungen

Mit diesem Schlüssel können nur die Methoden aufgerufen werden, die Sie aktiviert haben.

Der Schlüssel selbst wird nur einmal angezeigt, unmittelbar nach seiner Erstellung. Kopieren Sie ihn dann und speichern Sie ihn an einem sicheren Ort. Wenn Sie ihn verlieren, widerrufen Sie diesen Schlüssel und erstellen Sie einen neuen – die anderen Schlüssel desselben Benutzers funktionieren weiterhin.

Welche Benutzer haben API-Zugriff

System > Users zeigt pro Benutzer an, wie viele API-Schlüssel der Benutzer hat und für welche API-Version. Das Abzeichen verlinkt direkt zur entsprechenden Schlüsselseite.

API-Zugriffsspalte in der Benutzerliste, die die Schlüsselanzahl pro Benutzer anzeigt

API-Zugriff, pro Benutzer in der Benutzerliste angezeigt

Zugriff auf Ressourcen anderer Benutzer

Die beiden API-Versionen unterscheiden sich darin, wie umfassend ein API-Schlüssel Daten anderer Benutzer einsehen kann:

  • In API v1 hat ein Schlüssel standardmäßig Zugriff auf Ressourcen jedes anderen Benutzers – Phonebuch-Kontakte, Gruppen usw.

  • In API v2 ist der Zugriff granularer: Ein Schlüssel hat standardmäßig nur Zugriff auf Ressourcen, die er selbst erstellt hat. Um Zugriff auf Ressourcen aller anderen Benutzer zu ermöglichen, aktivieren Sie Access to all users‘ resources auf dem Schlüssel.