API-Level

Diese Funktion dient zum gefahrlosen Testen der Verbindung zur RS API und liefert das API-Level des Servers, ohne weitere Aktionen auszulösen. Ab API-Level 4 können auch die Rechte des verbundenen Benutzers ermittelt werden.

URL

GET    /api/v1/apilevel

Optionale Parameter

Übergabe möglich in URL als ?param=value oder Form-Encoded im Request-Body

Name

Werte

Default

Funktion

doHandshake

true/false

false

Falls true, muss auch der Parameter "clientApiLevel" angegeben werden.

clientApiLevel

integer

-

API-Level, für das der Client programmiert wurde. Der Server antwortet mit der Information, ob er (noch) mit diesem Level kompatibel ist oder nicht.

format

json/xml

xml

Bestimmt das Datenformat der gelieferten Antwort (JSON oder XML).

 

Rückgabe

Wenn der doHandshake-Parameter nicht angegeben wurde oder false ist, oder wenn der Server älter als Version 23.0 ist:

▪    Wenn die REST API richtig angesprochen wurde (insbesondere korrekte Authentifizierung), besteht die Antwort des Servers nur aus dem aktuellen API-Level (HTTP Code 200).

▪    Alle anderen Serverantworten sind als Fehlschlag zu werten.

Wenn der doHandshake-Parameter auf "true" gesetzt wurde, und als Server eine Version ab 23.0 installiert ist:

▪    Wenn die REST API richtig angesprochen wurde (insbesondere korrekte Authentifizierung), besteht die Antwort des Servers aus einem HandshakeResult-Objekt (HTTP Code 200). Der Content-Type ist "text/xml" oder "application/json" (abhängig vom format-Parameter).

Dieses enthält folgende Angaben:

▪    ServerApiLevel (integer): Aktuelles API-Level des Servers.

▪    IsCompatibleWithClientApiLevel (boolean): Ist true, falls der Server mit dem erwarteten API-Level des Clients (siehe clientApiLevel-Parameter) kompa­tibel ist.

▪    UserPermissions (string-Array): Liste der Berechtigungen des aktuellen Benutzers.

Fehler (zusätzlich zu Allgemeine Fehlercodes):

Keine

Beispiele

▪    Request: GET:    /api/v1/apilevel

▪    Response: 3

 

▪    Request: GET   /api/v1/apiLevel?doHandshake=true&clientApiLevel=4&format=json

▪    Response:

{

  "ServerApiLevel": 4,

  "IsCompatibleWithClientApiLevel": true,

  "UserPermissions": [

    "AccessUI",

    "ManageReportTemplates",

    "ManageReportElements",

    "UseTaskPlaner",

    "ManageDataSources",

    "ManageSystem"

  ]

}