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

Référence API

SMSEagle propose deux versions d’API :

  • API v2 - recommandée, utilisez-la 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é descendante. Une simple API HTTP et JSON-RPC. Elle fonctionne toujours et reste supportée, mais ne reçoit pas de nouvelles fonctionnalités - ne développez pas de nouvelles intégrations avec elle. Référence API v1

En raison de l’étendue du contenu de la documentation API, elle est maintenue comme 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 web peut uniquement envoyer.

Clés API v2

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

Page des clés API v2 répertoriant chaque clé avec son propriétaire, ses permissions et son dernier usage (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 tout nouveau développement, créez plutôt une clé API v2.

Page des clés API v1 répertoriant chaque clé avec son propriétaire, ses permissions et son dernier usage (valeurs d'exemple)

Clés API v1

Créer une clé

Create API key ouvre le formulaire de la version d’API de la page sur laquelle vous vous trouvez :

Champ

Ce qu’il fait

Key name

La façon dont vous reconnaîtrez cette intégration plus tard, par exemple Zabbix ou Website form.

Owner

L’utilisateur en tant que lequel 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 n’est affichée qu’une seule fois, immédiatement 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 continueront de fonctionner.

Quels utilisateurs ont accès à l’API

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

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

Accès 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 façon dont une clé API peut voir les données des autres utilisateurs :

  • En API v1, une clé a accès par défaut aux ressources de tous les autres utilisateurs - contacts du carnet d’adresses, groupes, et ainsi de suite.

  • En 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 permettre l’accès aux ressources de tous les autres utilisateurs, activez Access to all users” resources sur la clé.