Documentation API

Avec smart operations, créez des applications personnalisées totalement adaptées à vos besoins. Travaillez avec tous les éléments basiques de smart operations (Points de gestion, Sessions, Alarmes,…​) avec des moyens de consultation, d’édition, d’acquittement. Vous trouverez la liste complète des possibilités et des contraintes dans les différents chapitres du guide ci-dessous.

Autorisation

Pour consommer les API de smart operations, il est nécessaire de fournir un jeton d’accès obtenu suite à une étape d’authentification.

Obtenir un jeton d’accès

Pour obtenir un jeton d’accès, il est nécessaire d’utiliser l’API Authentification en fournissant les identifiants du compte utilisateur avec lequel vous souhaitez consommer les API.

Example 1. authentication

Request body (application/json):

{

"strategy":"local",

"login":"monindentifiant",

"password":"monmotdepasse"

}

Tous les paramètres sont obligatoires. Voici les détails dans la table ci-dessous :

Paramètre Obligatoire Description

strategy

Oui

Permet d’indiquer la stratégie d’authentification. Pour s’authentifier à l’aide d’un login / password et obtenir un jeton d’accès la stratégie est "local".

login

Oui

L’identifiant de l’utilisateur.

password

Oui

Le mot de passe de l’utilisateur.

Example 2. Réponse

{

"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6ImFjY2VzcyI3.xxJ0c2VySWQiOiI1YzU3ZmE5NjRiYjNlMDAwMWZlMDk2NWYiLCJpYXQiOjE2Mjcy1TQ2NDksImV4cCI6MTYyNzM4MTA0OSIiYXVkIjoiaHR0cHM6Ly95b3VyZG9tYWluLmNvbSIsImlzcyI6ImZlYXRoZXJzIiwic3ViIjoiYW5vbnltb3VzIiwianRpIjoiZjU2YTgzYWMtYzcwZC00YTk3LThkNjgtNmQzNDAwMWE4Yzk5In0.ATctxHXX3dmijkYjg-qjh280gReAsetLFYZAb8FAmjU"

}

Utiliser le jeton d’accès

Toute requête vers l’API doit être faite suivant le protocole HTTPS avec le jeton d’accès qui doit être positionné dans l’entête avec la clé Authorization.

Example 3. Curl

curl -X GET -H "Authorization:monaccesstoken" https://api.smart-operations.orange-business.com/v1/poms

Vous devriez obtenir une réponse avec un code HTTP 200.

La durée de vie du jeton d’accès est temporaire et a une durée de validité de 24h.

Après ce délai, les appels vers les API seront refusés. Il sera nécessaire de demander un nouveau jeton d’accès temporaire.

La réponse du serveur pour un jeton d’accès expiré sera la suivante :

{

"id": "22a45da8-59ce-4eb7-a694-77b28e336ba7",

"code": 401,

"message": "jwt expired",

"timestamp": 1659455897,

"hostname": "backend-588bbd7b84-8bvvf",

"version": "1.19.0_428c26b061e772764f6bb5366a3ed40cc9486602"

}

Il sera alors nécessaire de régénérer un nouveau jeton d’accès depuis l’étape Obtenir un jeton d’accès.

Méthodes API

Les API de smart operations vont vous permettre de travailler avec tous les éléments basiques tels que :

Vous trouverez l’ensemble des méthodes avec la description des requêtes, réponses et erreurs possibles au format Swagger

Authentification

Une méthode d’authentification est à votre disposition pour obtenir un jeton d’accès temporaire suivant les identifiants d’un utilisateur afin de consommer l’API (voir §Autorisation) ou obtenir les informations de l’utilisateur connecté à l’aide de son jeton d’accès temporaire :

  • Récupérer un jeton d’accès temporaire :

    • POST /v1/authentication :

      • choisir la stratégie "local" en fournissant les paramètres login/password, cette méthode vous permet d’obtenir un jeton d’accès temporaire de 24h

  • Récupérer les informations de l’utilisateur connecté à l’aide de son jeton d’accès temporaire :

    • POST /v1/authentication :

      • choisir la stratégie "jwt" en fournissant un jeton d’accès d’un utilisateur, cette méthode vous permet d’obtenir les informations de l’utilisateur connecté

Points de gestion

Un ensemble de méthodes sont à votre disposition afin de manipuler des points de gestion :

  • Récupérer la liste des points de gestion :

    • GET /v1/poms : Cette méthode vous permet de récupérer la liste des points de gestion répondant à certains critères de filtre avec la possibilité de trier et paginer le résultat.

  • Récupérer les informations d’un point de gestion :

    • GET /v1/poms/{`pomId`} : Cette méthode vous permet de récupérer l’ensemble des informations d’un point de gestion à partir de son identifiant technique.

  • Editer les informations d’un point de gestion :

    • PATCH /v1/poms/{`pomId`} : Cette méthode vous permet de mettre à jour les informations d’un point de gestion à partir de son identifiant technique telles que le nom, les tags, la localisation, le fuseau horaire, le commentaire, …​

  • Valeurs historisées du point de gestion :

    • GET /v1/poms/{`pomId`}/values : Cette méthode vous permet de récupérer l’historique des données d’un point de gestion à partir de son identifiant technique sur une période de temps donnée avec la possibilité de paginer le résultat.

  • Récupérer la liste des tags associés aux points de gestion :

    • GET /v1/poms/tags : Cette méthode vous permet de récupérer l’ensemble des tags associés aux points de gestion avec le nombre d’occurences pour chaque tag.

  • Récupérer les statistiques sur les points de gestion :

    • GET /v1/poms/stats : Cette méthode vous permet de récupérer le nombre de points de gestion par état de criticité.

Sessions (module optionnel)

Cette fonctionnalité est optionnelle et n’est pas activée par défaut sur le compte client. Pour pouvoir utiliser cette fonctionnalité, il est nécessaire d’en faire la demande. Veuillez contacter le support (cf. rubrique ‘Contact’).

Un ensemble de méthodes sont à votre disposition afin de manipuler des sessions :

  • Récupérer la liste des sessions :

    • GET /v1/sessions : Cette méthode vous permet de récupérer la liste des sessions répondant à certains critères de filtre avec la possibilité de trier et paginer le résultat.

  • Récupérer les informations d’une session :

    • GET /v1/sessions/{`sessionId`} : Cette méthode vous permet de récupérer l’ensemble des informations d’une session à partir de son identifiant technique.

  • Créer une session :

    • POST /v1/sessions : Cette méthode vous permet de créer une session.

Pour créer une session, un ensemble de règles doivent être respectées :

  • La date de début de session ne peut pas être dans le passé par rapport à la date courante.

  • Un point de gestion peut être associé à une session s’il n’y a aucun recouvrement de période avec une autre session à laquelle il est associé.

  • Editer une session :

    • PUT /v1/sessions/{`sessionId`} : Cette méthode vous permet de mettre à jour les informations d’une session.

L’édition d’une session doit respecter les règles suivantes :

  • La date de début peut être modifiée tant que la session est à l’état à venir

  • Les points de gestion peuvent être liés à la session uniquement si la session est à venir.

  • La date de fin de session doit être postérieure à la date de début

  • La date de fin de la session peut être modifiée uniquement si la session n’est pas terminée.

La date de fin d’une session est facultative. La session durera tant qu’une date de fin n’aura as été définie ou tant que la date de fin n’aura pas été atteinte (la session se terminera automatiquement à la date de fin) ou que l’action Terminer une session n’aura pas été réalisée.
  • Terminer une session :

    • PUT /v1/sessions/{`sessionId`}/terminate : Cette méthode vous permet de terminer la session manuellement.

En utilisant cette méthode pour terminer une session, la date de fin de la session sera valorisée à la date de réception de la requête par le serveur.
  • Supprimer une session :

    • DELETE /v1/sessions/{`sessionId`} : Cette méthode permet de supprimer une session.

La suppression d’une session est irréversible. Vous n’aurez plus accès à cette session dans la liste des sessions historisées.

Alarmes

Un ensemble de méthodes sont à votre disposition afin de manipuler les alarmes :

  • Récupérer la liste des alarmes :

    • GET /v1/alarms : Cette méthode vous permet de récupérer la liste des alarmes répondant à certains critères de filtre avec la possibilité de trier et paginer le résultat.

  • Récupérer le nombre d’alarmes en cours :

    • GET /v1/alarms/count : Cette méthode vous permet de récupérer le nombre d’alarmes en cours (non acquittées).

  • Acquitter une alarme :

    • PATCH /v1/alarms/{`alarmId`} : Cette méthode vous permet d’acquitter une alarme en cours à partir de son identifiant technique.

  • Acquitter toutes les alarmes d’un tenant :

    • PATCH /v1/alarms/tenant/{`tenantId`}/ack : Cette méthode vous permet d’acquitter toutes les alarmes en cours d’un tenant à partir de son identifiant.

Journal des changements

22/05/2024

Correctifs appliqués à la documentation de l’API publique smart operations

Méthode ajoutée :

  • /v1/alarms/tenant/{`tenantId`}/ack

Méthodes modifiées :

  • /v1/poms

  • /v1/sessions

  • /v1/alarms

01/09/2022

Publication de la 1ʳᵉ version d’API publique smart operations

Documentation des méthodes pour manipuler les ressources suivantes :

  • Authentification

  • Points de gestion

  • Sessions

  • Alarmes