Analytics REST API – Allgemeine Informationen
Durch die Verwendung der Analytics-REST-API können Sie sich auf ein robustes Werkzeug für die Entwicklung von Analytics-Benutzeroberflächen verlassen.
Dieses Thema beinhaltet Folgendes:
Eine REST-API ermöglicht es Ihnen, Anfragen nach Ressourcen auf einem Webserver zu stellen, der wiederum Antworten mit den angeforderten Informationen zurückgibt. Aufrufe an REST-API-Endpunkte können mit fast jeder Programmiersprache durchgeführt werden.
Im Gegensatz zu SOAP verwenden REST-APIs HTTP als Transportprotokoll (obwohl sowohl Server als auch Mandant in jeder Sprache sein können). Außerdem folgt eine REST-API nicht einem Standardnachrichtenformat, die Nachrichtenspezifikationen sind nur in der entsprechenden Dokumentation zu finden.
Möchten Sie die Daten für einen bestimmten Report erhalten? Über diese API können Sie ganz einfach die gleichen Daten abrufen, die Sie in den Analytics-Widgets sehen.
Authentifizierung und Schlüssel-Management
Die API-Schlüssel
Analytics verwendet zwei Arten von API-Schlüsseln:
- Einen System-API-Schlüssel
- Begrenzte API-Schlüssel
Der System-API-Schlüssel
-
Erstellt während der Installation des Datenspeichers und verwendet von:
- AWI für Analytics und Reporting
- Data Collection Service
- Verwaltung der begrenzten API-Schlüssel
Die System-Authentifizierung erfolgt mit dem Pre-Shared-API-Schlüssel, der bei der Installation des Datenspeichers erzeugt und auch in der Webui-Plugin-Analytics konfiguriert wird.
Der Schlüssel befindet sich im folgenden Verzeichnis: <Automic>\awi\config\webui-plugin-analytics\plugin.properties
Er muss dem Authentifizierungs-Header in allen Anfragen an die API zugeordnet sein.
Beispiel:
GET /analytics/api/v1/shared_dashboards/search/findByClient?client=4000 HTTP/1.1
Host: my-analytics-backend-url:8090
Autorisierung: f4b7e4af-3d77-4cfc-a898-2c09a9318faa
Cache-Control: Kein Cache
Begrenzte API-Schlüssel
- Manuell erstellt (System-API-Schlüssel erforderlich)
- Wird von der Event Engine-Funktion zum Einfügen von Ereignissen verwendet (ein bestimmter API-Schlüssel ist auf einen bestimmten Automation Engine-Mandanten begrenzt)
Die folgenden Beispiele zeigen die Methoden GET, POST und DELETE, die für begrenzte API-Schlüssel verwendet werden.
GET /analytics/api/v1/apikeys
RETURNS: Eine Liste von definierten begrenzten API-Schlüsseln (d.h. hier werden die System-API-Schlüssel überhaupt NICHT aufgelistet).
Headers:
Berechtigung: <SYSTEM API KEY>
Beispiel:
[
{
"scope": "EVENTS",
"key": "UUID",
"client": 100,
"description": "some text"
}
]
Die Antwort wird mit diesem JSON-Schema beschrieben:
{
"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
Erstellt einen neuen API-Schlüssel.
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"]
}
Antwort JSON-Schema:
{
"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"]
}
Antwortbeispiel:
{
"key": "UUID",
"scope": "EVENTS",
"client": 100,
"description": "some text"
}
DELETE
Löscht einen API-Schlüssel.
DELETE: /analytics/api/v1/apikeys/<UUID>
Headers:
Berechtigung: <SYSTEM API KEY>
Sie können Aufrufe auf den folgenden Ressourcen tätigen:
- Geteilte Dashboards - auch für das Analytics-Paket (Share Action) verwendet. Information verwalten und erhalten.
- Endpunkt-Diagramm (nur POST).
Auf alle Ressourcen kann über Hostname + Port + Basis-URL + Ressource zugegriffen werden (z.B. http://my-analytics-backend-url:8090/analytics/api/v1/shared_dashboards/).
Der Hauptanwendungszweck der Analytics-REST-API besteht darin, Daten für externe Systeme wie bestehende Business-Intelligence-Tools zu erhalten.
Siehe auch: