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

API-Referenz

SMSEagle bietet zwei API-Versionen:

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

  • API v1 – die Legacy-API, nur aus Gründen der Abwä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 Inhalts der API-Dokumentation wird diese als separate Dokumentation 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 statt mit einem Benutzerkennwort. Schlüssel werden für jede API-Version separat auf zwei Seiten gespeichert:

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

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

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

API v2-Schlüssel

Dies ist die Seite für eine neue Integration.

API v2-Schlüsselseite, auf der jeder Schlüssel mit Besitzer, Berechtigungen und letzter Verwendung aufgelistet ist (Beispielwerte)

API v2-Schlüssel

API v1-Schlüssel

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

API v1-Schlüsselseite, auf der jeder Schlüssel mit Besitzer, Berechtigungen und letzter Verwendung aufgelistet ist (Beispielwerte)

API v1-Schlüssel

Erstellen eines Schlüssels

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

Feld

Funktion

Key name

Wie Sie diese Integration später wiedererkennen, zum Beispiel 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 deaktiviert, ohne ihre Konfiguration zu verlieren.

Access to all users‘ resources

Nur API v2. Ermöglicht dem Schlüssel das Lesen und Ändern von Ressourcen anderer Benutzer (siehe unten).

Berechtigungen

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

Der Schlüssel wird einmal direkt nach seiner Erstellung angezeigt. Kopieren Sie ihn dann und speichern Sie ihn an einem sicheren Ort. Wenn Sie ihn verlieren, widerrufen Sie den 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 Badge verlinkt direkt zur entsprechenden Schlüsselseite.

API-Zugriffsspalte in der Benutzerliste mit Schlüsselanzahl pro Benutzer

API-Zugriff, angezeigt pro Benutzer in der Benutzerliste

Zugriff auf Ressourcen anderer Benutzer

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

  • In API v1 hat ein Schlüssel standardmäßig Zugriff auf Ressourcen aller anderen Benutzer - Adressbuchkontakte, 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 den Zugriff auf Ressourcen aller anderen Benutzer zu ermöglichen, aktivieren Sie Access to all users‘ resources auf dem Schlüssel.