API für das Business Intelligence Modul
Standard
|Expert
CLOUD ABO
|ON-PREMISES
Leistung & CRM
Budget & Teilprojekt
Fremdkosten
Ressourcenplanung
Business Intelligence
Ab Vertec 6.4.0.14 gibt es ein API (Application Programming Interface) zur Abfrage von BI Daten aus externen Applikationen.
Dafür gibt es in der Konfigurationsdatei Das Vertec.ini - File den Parameter BI API:
[CloudServer] BI API=True
Standard ist True
.
Der Aufruf erfolgt über /api/bi
, welches folgende Endpoints zur Verfügung stellt:
Der GET-Endpoint /measures
gibt alle zur Verfügung stehenden Kennzahlen zurück.
Es kann ein optionaler Parameter f
angegeben werden:
f=csv
(/api/bi/measures?f=csv
) liefert das Resultat als CSV-Datei.f=json
(/api/bi/measures?f=json
) liefert das Resultat in Json formatiert.Der Parameter kann statt als Query-String auch als Accept Header angegeben werden. Ist beides vorhanden, wird der Query-String verwendet.
Die Rückgabe enthält folgende Felder:
Die Rückgabewerte erscheinen übersetzt in der Sprache, die der User in der Web App eingestellt hat.
/api/bi/measures
Liefert folgendes Resultat zurück:
Der GET-Endpoint /getdata
gibt die BI-Daten zurück. Er nimmt folgende Parameter via Query-String entgegen:
"feesext,minutesint"
). Obligatorisch. Die Liste der internen Namen der mitgelieferten Standard-Kennzahlen finden Sie hier."Projekt,Projektbearbeiter"
. Obligatorisch, case-insensitive. Die Liste der Dimensionen der mitgelieferten Standard-Kennzahlen finden Sie hier.
"Month"
angegeben werden. Stichtageswerte wie OvertimeBalance werden nur akzeptiert für Zeitreihen. Bei diesen Werten muss also dimension=month angegeben werden, andernfalls erscheint eine Fehlermeldung.Projekt
funktioniert wie bisher und wählt die Dimension Projekt ohne Rolle.Projekt_1
wählt auf der Kennzahl die Dimension Projekt auf Index 1. Dies muss dann eine Rolle auf Projekt sein.FeesExt
(Honorar extern):
dimension0 = Projekt dimension1 = Projektbearbeiter_1 dimension2 = Projektbearbeiter_2 dimension3 = ProjektPhase dimension4 = Taetigkeit dimension5 = Month
dimension0_Projekttyp=typ.bezeichnung
. Dies bewirkt, dass in der Antwort ein neues Feld Projekttyp
auftaucht, welches die Bezeichnung des Projekttyps des Projekt Dimensionswertes enthält. Pro Dimension können mehrere Alias-Parameter angegeben werden. Entspricht der verwendete Parameter einem Namen, der bereits verwendet wird (als Measurenamen, Klassennamen bzw. deren Übersetzungen oder Alias einer anderen Dimension), wird ein Fehler gemeldet.Der Endpoint liefert Ergebnisse in folgendem Format:
useDescriptions = true
ist, wird statt des Internen Namens die Klartext-Bezeichnung der Kennzahl verwendet und gemäss aktueller Sprache der Session übersetzt zurückgeliefert._Id
welche als Wert die Objekt Id des Dimensionswertes enthält: {"Bearbeiter":"Administrator","Bearbeiter_Id": 301,"Monat":"2020-01-01", ...}
. Dimensionen Monat erscheinen ohne _Id
-Feld im Ergebnis.Die BI Berechtigungen werden angewendet.
api/bi/getdata?measures=fte&dimension0=Projektbearbeiter&useDescriptions=true&dimension1=month&startDate=2020-01-01&endDate=2020-03-01
Rückgabe:
[{"Bearbeiter":"Administrator","Monat":"2020-01-01","Vollzeitstellen":1.0},{"Bearbeiter":"Administrator","Monat":"2020-02-01","Vollzeitstellen":1.0}, {"Bearbeiter":"Administrator","Monat":"2020-03-01","Vollzeitstellen":1.0},{"Bearbeiter":"Christoph Keller","Monat":"2020-01-01","Vollzeitstellen":1.0}, {"Bearbeiter":"Christoph Keller","Monat":"2020-02-01","Vollzeitstellen":1.0},{"Bearbeiter":"Christoph Keller","Monat":"2020-03-01","Vollzeitstellen":1.0}, {"Bearbeiter":"Judith Feller","Monat":"2020-01-01","Vollzeitstellen":1.0},{"Bearbeiter":"Judith Feller","Monat":"2020-02-01","Vollzeitstellen":1.0}, {"Bearbeiter":"Judith Feller","Monat":"2020-03-01","Vollzeitstellen":1.0},{"Bearbeiter":"Paul Thomson","Monat":"2020-01-01","Vollzeitstellen":1.0}, {"Bearbeiter":"Paul Thomson","Monat":"2020-02-01","Vollzeitstellen":1.0},{"Bearbeiter":"Paul Thomson","Monat":"2020-03-01","Vollzeitstellen":1.0}, {"Bearbeiter":"Werner Schmid","Monat":"2020-01-01","Vollzeitstellen":1.0},{"Bearbeiter":"Werner Schmid","Monat":"2020-02-01","Vollzeitstellen":1.0}, {"Bearbeiter":"Werner Schmid","Monat":"2020-03-01","Vollzeitstellen":1.0},{"Bearbeiter":"Lars Sorenson","Monat":"2020-01-01","Vollzeitstellen":0.5}, {"Bearbeiter":"Lars Sorenson","Monat":"2020-02-01","Vollzeitstellen":0.5},{"Bearbeiter":"Lars Sorenson","Monat":"2020-03-01","Vollzeitstellen":0.5}]
Für die Abfragen aus externer BI Software wird HTTP Basic Auth mit Username und Passwort unterstützt.
XML Session Timeout = 5
angepasst werden (das BI API und der XML Server teilen sich die Session Timeout Einstellung).