Concept

NOTES POUR JOAQUIM :
  • Edition JSON disponible par API ( voir la page Édition JSON - Météo )
  • Accessible aux administrateurs Shinken uniquement pour l'instant
  • On ne peut manipuler que la structure de la vue. Les données de supervision ne sont pas retournées. 


Les routes ( appels REST )

Les routes suivantes sont mises à disposition par l'API.


Sécurité

L'API est requérable en HTTP / HTTPS ( via un certificat TLS 1.1/ 1.2 ) en fonction du paramétrage du module ( voir la page Configuration du module WebUI ).

Authentification

Le contrôle d'accès à l'API du module se fait par login/mot-de-passe.

La WebUI doit avoir au moins un module d'authentification par login/mot-de-passe dans la chaîne d'authentification ( par exemple Cfg_password ou webui-module-authentication-LDAP  ).


Exemple avec curl :

API_USERNAME="admin"
API_PASSWORD="password"

curl -s -S -u "${API_USERNAME}:${API_PASSWORD}" \
"http://webui:7767/external-api/service-weather/v1/list"

La plupart des outils fournissent une option pour envoyer les identifiants dans la requête ( ici -u pour curl ).

Si aucune option n'est disponible, les identifiants devront est présent dans le header HTTP de la requête sous la forme "utilisateur:mot-de-passe" encodé en base64

  • { Authorization: Basic base64("USER:PASSWORD") }

Exemple :

API_USERNAME="admin"
API_PASSWORD="password"

# Obtenir la représentation en base64
API_TOKEN="$(echo -n "${API_USERNAME}:${API_PASSWORD}" | base64)"

curl -s -S -H "Authorization: Basic ${API_TOKEN}" \
"http://webui:7767/external-api/service-weather/v1/list"