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:

Überblick

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:

Der System-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

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>

Ressourcen

Sie können Aufrufe auf den folgenden Ressourcen tätigen:

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/).

Szenarien

Der Hauptanwendungszweck der Analytics-REST-API besteht darin, Daten für externe Systeme wie bestehende Business-Intelligence-Tools zu erhalten.

Siehe auch: