| Scroll Ignore | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
|
Concept
Cette API permet l'édition de météo de service. Cette édition se fait à l'aide du format JSON ( voir la page Édition JSON - Météo ).
Cette API est accessible uniquement aux administrateurs Shinken pour l'instant.
Seule la structure de la vue peut être manipulée. Les données de supervision ne sont pas retournées.
Les routes ( appels REST )
Les routes suivantes sont mises à disposition par l'API.
| Panel | |
|---|---|
|
Sécurité
L'api API est requêtable 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 broker- module -livedataWebUI ).
Authentification
Le contrôle d'accès à l'API V2 du module se fait en utilisant le token défini dans le fichier de configuration via le paramètre broker_module_livedata__token pour l'API V1
Le Token devra être présent dans le header http de la requête :{ x-api-token : "TOKEN" }par login/mot-de-passe.
| Warning |
|---|
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 :
| Code Block | ||||
|---|---|---|---|---|
| ||||
API_USERNAME="admin"
API_PASSWORD="password"
|
- Le mécanisme d'authentification sera modifié dans les prochaines versions
Exemple :
| Code Block | ||
|---|---|---|
| ||
curl -s -S -H 'x-api-token: change_me' -d "output_format=elements_on_same_levelu "${API_USERNAME}:${API_PASSWORD}" \ "http://broker-module-livedata:50100/api/v2/inventory |
- UUID et nom des météos existantes
- Publié ou non
/get/<uuid>
- Retourne le JSON de la météo
/create
- La météo peut avoir le nom d'une météo déjà existante
- L'API retourne l'UUID de la vue
- Création d'une vue uniquement : Pas de contenu à la création
/update/<uuid>
- Renvoi du JSON complet
- Explication sur la mise à jour d'un élément dans un Widget Météo
- Renseigner UUID et/ou nom.
/delete/<uuid>
- Envoie dans la corbeille.
/publish/<uuid>
- Publie une météo en construction
Messages d'erreurs
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 :
| Code Block | ||||
|---|---|---|---|---|
| ||||
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" |