API REST Analytics - Informations générales
En utilisant l'API REST Analytics, vous pouvez compter sur un outil robuste pour le développement de l'interface utilisateur Analytics.
Cette rubrique contient les sujets suivants :
Une API REST vous permet de faire des requêtes de ressources sur un serveur Web qui, à son tour renvoie les réponses contenant les informations demandées. Les appels vers des terminaux de l'API REST peuvent être effectués avec la plupart des langages de programmation.
À la différence de SOAP, les API REST utilisent le HTTP comme protocole de transport (bien que le serveur et le client puissent se baser sur n'importe quel langage). De plus, une API REST ne respecte pas de format de message standard : les spécifications de messages se trouvent uniquement dans la documentation correspondante.
Souhaitez-vous obtenir les données pour un certain rapport ? Vous pouvez facilement obtenir les mêmes données que celles qui s'affichent dans les widgets Analytics via cette API.
Authentification et gestion des clés
Clés d'API
Analytics utilise deux types de clés API :
- Une clé API système
- Des clés API étendues
Clé API système
-
Créée pendant l'installation de Datastore et utilisée par :
- AWI pour Analytics et les rapports
- Service de collecte de données
- Administration des clés API étendues
L'authentification du système est effectuée avec une clé API pré-partagée générée pendant l'installation de Datastore et également configurée dans webui-plugin-analytics.
Cette clé se trouve dans le répertoire suivant : <Automic>\awi\config\webui-plugin-analytics\plugin.properties
Elle doit être affectée à l'en-tête d'autorisation dans toutes les requêtes envoyées à l'API.
Exemple :
GET /analytics/api/v1/shared_dashboards/search/findByClient?client=4000 HTTP/1.1
Hôte : my-analytics-backend-url:8090
Authorisation : f4b7e4af-3d77-4cfc-a898-2c09a9318faa
Commande de cahe : no-cache
Clés API étendues
- Créée manuellement (clé API système requise)
- Utilisée par la fonction Moteur d'événements pour injecter des événements (une clé API est étendue à un client Automation Engine spécifique)
Les exemples suivants illustrent les méthodes GET, POST et DELETE utilisées pour les clés API étendues.
GET /analytics/api/v1/apikeys
RETURN: Liste des clés API étendues définies (autrement dit, NE liste PAS du tout les clés API système).
En-tête:
Autorisation : <SYSTEM API KEY>
Exemple :
[
{
"scope": "EVENTS",
"key": "UUID",
"client": 100,
"description": "some text"
}
]
La réponse est décrite selon ce schéma JSON :
{
"type": array,
"items": {
"type": "object",
"properties": {
"scope": {
"type": "string",
"enum": ["EVENTS"]
},
"key": {
"type": "string"
},
"client": {
"type": "integer",
"description": "This is required for EVENTS keys, ignored for TELEMETRY keys"
},
"description": {
"type": "string"
}
},
"required": ["scope", "key"]
}
}
POST
Crée une nouvelle clé API.
POST /analytics/api/v1/apikeys
{
"scope": "EVENTS",
"client": 100,
"description": "some text"
}
Headers:
Authorization: <SYSTEM API KEY>
The POST body JSON schema:
{
"type": "object",
"properties": {
"scope": {
"type": "string",
"enum": ["EVENTS"]
},
"client": {
"type": "integer",
"description": "This is required for EVENTS keys, ignored for TELEMETRY keys"
},
"description": {
"type": "string"
}
},
"required": ["scope"]
}
Réponse schéma JSON :
{
"type": "object",
"properties": {
"scope": {
"type": "string",
"enum": ["EVENTS"]
},
"key": {
"type": "string"
},
"client": {
"type": "integer",
"description": "This is required for EVENTS keys, ignored for TELEMETRY keys"
},
"description": {
"type": "string"
}
},
"required": ["scope", "key"]
}
Exemple de réponse :
{
"key": "UUID",
"scope": "EVENTS",
"client": 100,
"description": "some text"
}
DELETE
Supprime une clé API.
DELETE: /analytics/api/v1/apikeys/<UUID>
En-tête:
Autorisation : <SYSTEM API KEY>
Vous pouvez effectuer des appels sur les ressourves suivantes :
- Tableaux de bord partagés - également utilisés pour le package analytics (partage d'action). Gérer et recevoir des informations.
- Tracer un point terminal (POST uniquement).
Toutes les ressources sont accessibles via le nom d'hôte + le port + l'url de base + la ressource (ex. : http://my-analytics-backend-url:8090/analytics/api/v1/shared_dashboards/).
Le cas d'application le plus répandu pour l'API REST Analytics est d'obtenir des données pour les systèmes externes, tels que les outils d'informatique décisionnelle existants.
Voir aussi :