SMSEagle propose une puissante API REST intégrée. L’API est dédiée à l’intégration de SMSEagle avec n’importe quel système ou application externe.

Référence API

SMSEagle propose deux versions d’API :

  • API v2 - recommandée, à utiliser pour chaque nouvelle intégration. Une API RESTful moderne basée sur la spécification OpenAPI 3.0. Référence API v2

  • API v1 - l’API héritée, conservée uniquement pour la compatibilité ascendante. Une simple API HTTP et JSON-RPC. Elle fonctionne toujours et est toujours prise en charge, mais ne reçoit pas de nouvelles fonctionnalités - n’écrivez pas de nouvelles intégrations contre elle. Référence API v1

En raison de l’étendue du contenu de la documentation API, elle est maintenue dans un document séparé. Suivez les liens ci-dessus pour la spécification complète de chaque API.

Clés API

Une intégration s’authentifie avec une clé API au lieu d’un mot de passe utilisateur. Les clés sont conservées séparément pour chaque version d’API, sur deux pages :

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

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

Une clé appartient toujours à un utilisateur et agit comme cet utilisateur, elle voit donc les messages et les contacts de cet utilisateur. Les permissions sont accordées par clé, ce qui vous permet de limiter un système de surveillance à la lecture tandis qu’un formulaire de site web peut uniquement envoyer.

Clés API v2

Ceci est la page à utiliser pour une nouvelle intégration.

Page des clés API v2 listant chaque clé avec son propriétaire, ses permissions et sa dernière utilisation (valeurs d'exemple)

Clés API v2

Clés API v1

API v1 est l’API héritée. Créez une clé v1 uniquement pour une intégration existante qui ne peut pas être migrée vers v2 - pour toute nouvelle intégration, créez plutôt une clé API v2.

Page des clés API v1 listant chaque clé avec son propriétaire, ses permissions et sa dernière utilisation (valeurs d'exemple)

Clés API v1

Création d’une clé

Create API key ouvre le formulaire pour la version d’API dont vous êtes sur la page :

Champ

Ce qu’il fait

Key name

Comment vous reconnaîtrez cette intégration plus tard, par exemple Zabbix ou Website form.

Owner

L’utilisateur dont la clé agit. La clé voit les messages et les contacts de cet utilisateur.

Key enabled

Une clé désactivée est refusée par l’API sans être supprimée, ce qui désactive une intégration sans perdre sa configuration.

Access to all users” resources

API v2 uniquement. Permet à la clé de lire et de modifier les ressources appartenant à d’autres utilisateurs (voir ci-dessous).

Autorisations

Seules les méthodes que vous activez peuvent être appelées avec cette clé.

La clé elle-même s’affiche une seule fois, juste après sa création. Copiez-la et stockez-la en lieu sûr. Si vous la perdez, révoquez cette clé et créez-en une nouvelle - les autres clés du même utilisateur continuent de fonctionner.

Quels utilisateurs ont accès à l’API

System > Users affiche, pour chaque utilisateur, le nombre de clés API de l’utilisateur et pour quelle version d’API. Le badge renvoie directement à la page des clés correspondantes.

Colonne d'accès API dans la liste des utilisateurs, affichant le nombre de clés par utilisateur

Accès à l’API, affiché par utilisateur dans la liste des utilisateurs

Accès aux ressources d’autres utilisateurs

Les deux versions d’API diffèrent dans la manière dont une clé API peut voir les données des autres utilisateurs :

  • Dans API v1, une clé a accès par défaut aux ressources de tous les autres utilisateurs - contacts du répertoire, groupes, etc.

  • Dans API v2, l’accès est plus granulaire : une clé n’a accès par défaut qu’aux ressources qu’elle a elle-même créées. Pour autoriser l’accès aux ressources de tous les autres utilisateurs, activez Access to all users” resources sur la clé.