Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Make by tools (01.00.01) - action=clean_corrupted_html
Scroll Ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmlfalse
Panel
titleSommaire

Table of Contents
stylenone

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

Children Display

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" }
  • L'ensemble des éléments visibles par cette API est le même que celui de l'administrateur Shinken 
    • Le mécanisme d'authentification sera modifié dans les prochaines versions

    Exemple

    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
    languagetext
    themeEmacs
    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 :

    Code Block
    languagetext
    themeEmacs
    API_USERNAME="admin"
    API_PASSWORD="password"
    
    # Obtenir la représentation en base64
    API_TOKEN="$(echo -n "${API_USERNAME}:${API_PASSWORD}" | base64)"
    
    
    Code Block
    themeEmacs
    curl -s -S -H 'x-api-token"Authorization: change_me' -d "output_format=elements_on_same_levelBasic ${API_TOKEN}" \
    "http://broker-module-livedata:50100/api/v2/inventory

    Messages d'erreurs

  • Mêmes erreurs que dans l'interface ( dans la langue de l'interface )
  • Même comportement que l'interface : On peut sauvegarder la vue si l'interface l'aurait autorisé.
  • Code d'erreur HTTP cohérent
    webui:7767/external-api/service-weather/v1/list"