Userprofile-App

Userprofile-App

 Einleitung

 Funktionsumfang von d.ecs user profile

d.ecs user profile stellt eine Übersichtseite für den aktuellen Benutzer bereit. Außerdem wird die Verwaltung der eigenen Abwesenheit ermöglicht. Dieser Abwesenheitszustand sowie zugehörige weitere Informationen können über eine REST-API abgefragt und geändert werden.

 Verwenden der API-Funktionen

d.ecs user profile stellt eine API-Schnittstelle zur Verfügung die es erlaubt folgende Aktionen auszuführen:

 Abwesenheitsstatus und -informationen eines Benutzers abrufen

 Aufruf

Um den aktuellen Abwesenheitsstatus sowie weitere Abwesenheitsinformationen eines Benutzers abzurufen, muss eine App eine GET-Abfrage an d.ecs user profile senden.


GET /userprofile/api/absence[?userId=11A5C79F-D9AB-498B-9158-D3034B7E45E5]
Accept: application/json
ParameterBeschreibung
userId(optional) Ein Query-Paramter, der genutzt werden kann, um den Abwesenheitszustand eines anderen Benutzers abzurufen. Wird der Parameter nicht verwendet, werden die Informationen des aktuell angemeldeten Benutzers abgerufen.

 Antwort

Die Antwort enthält ein Json-Objekt mit folgendem Aufbau:

ParameterTypBeschreibung
userIdstringDie ID des abgerufenen Benutzers. Der Parameter ist unabhängig vom aktuellen Abwesenheitszustand.
deputyIdstringDie ID des aktuell ausgewählten Vertreters. Sollte kein Vertreter ausgewählt worden sein, enthält dieser Parameter den Wert null. Hinweis: Ein Vertreter kann unabhängig vom aktuellen Abwesenheitszustand ausgewählt werden.
nextPresentDeputyIdstringDie ID des nächsten anwesenden Vertreters. Ist der ausgewählte Vertreter nicht anwesend, wird die ID des Vertreters des ausgewählten Vertreters ermittelt, bis ein anwesender Vertreter gefunden werden kann. Kann kein anwesender Vertreter ermittelt werden, enthält der Parameter den Wert null. Sollte kein Vertreter ausgewählt worden sein oder der Benutzer anwesend sein, enthält dieser Parameter den Wert null.
isAbsentboolDieser Parameter gibt den aktuellen Abwesenheitszustand an. Ist der abgerufene Benutzer abwesend, enthält dieser Parameter den Wert true.
absenceTextstringDer Abwesenheitstext des Benutzers. Der Abwesenheitstext kann unabhängig vom aktuellen Abwesenheitszustand definiert werden.

Beispiel:


{
    "userId" : "11A5C79F-D9AB-498B-9158-D3034B7E45E5",
    "deputyId" : "3D789836-69DC-4C3C-8A0A-3D9D2B07B087",
    "nextPresentDeputyId" : "3D789836-69DC-4C3C-8A0A-3D9D2B07B087",
    "isAbsent" : true,
    "absenceText" : "Ich bin nicht anwesend!"
}

Folgende HTTP-Statuscodes können zurückgegeben werden:

StatuscodeNameBedeutung
200OKDie Anfrage wurde erfolgreich verarbeitet.
400Bad RequestDie Anfrage konnte nicht verarbeitet werden. Möglicherweise ist der Wert des userId-Parameters nicht gültig.
401UnauthorizedEs wurde keine gültige AuthSessionId übergeben.

 Abwesenheitsstatus und -informationen eines Benutzers setzen

 Aufruf


POST /userprofile/api/absence
Content-Type: application/json

Um den aktuellen Abwesenheitsstatus sowie die weiteren Abwesenheitsinformationen eines Benutzers zu ändern, muss eine App eine POST-Abfrage an d.ecs user profile senden.

ParameterTypBeschreibung
userIdstring(optional) Die ID des Benutzers, dessen Abwesenheitsstatus und -informationen geändert werden sollen. Mithilfe dieses Parameter kann ein Administrator den Abwesenheitsstatus und alle weiteren Abwesenheitsinformationen für andere Benutzer definieren.
deputyIdstring(optional) Die ID des Benutzers, der als Vertreter definiert werden soll.
isAbsentboolDer zu setzenden Abwesenheitszustand (abwesend = true).
absenceTextstring(optional) Der zu setzende Abwesenheitstext.

Beispiel:


{
    "userId" : "11A5C79F-D9AB-498B-9158-D3034B7E45E5",
    "deputyId" : "3D789836-69DC-4C3C-8A0A-3D9D2B07B087",
    "isAbsent" : true,
    "absenceText" : "Ich bin nicht anwesend!"
}

Wird für einen optionalen Parameter kein Wert übergeben, wird der ggf. bereits vorhandene Wert dieses Parameters nicht übernommen, sondern entfernt. Daher müssen bei Änderungen der Werte alle weiterhin benötigten Werten ebenfalls übergeben werden. Einzig der Parameter userId wird automatisch mit der ID des aktuellen Benutzer gefüllt, sofern er nicht oder als null-Wert übergeben wird. Die Parameter deputyId and absenceText können unabhängig vom Abwesenheitsstatus angepasst werden.

 Antwort

Als Antwort können folgende HTTP-Statuscodes zurückgegeben werden:

StatuscodeNameBedeutung
200OKDie Anfrage wurde erfolgreich verarbeitet.
400Bad RequestDie Anfrage konnte nicht verarbeitet werden. Weitere Informationen werden protokolliert.
401UnauthorizedEs wurde keine gültige AuthSessionId übergeben.
403ForbiddenDie Anfrage konnte nicht verarbeitet werden, da der angemeldete Benutzer nicht das Recht besitzt, Änderungen für andere Benutzer vorzunehmen.

 Abrufen bei welchen abwesenden Benutzern ein Benutzer aktuell als Vertreter eingesetzt ist

 Aufruf

Um eine Liste aller Benutzer zu erhalten, bei denen ein Benutzer aktuell als Vertreter eingesetzt ist, muss eine App eine GET-Abfrage an d.ecs user profile senden.


GET /userprofile/api/usedasdeputyof[?userId=11A5C79F-D9AB-498B-9158-D3034B7E45E5]
Accept: application/json
ParameterBeschreibung
userId(optional) Ein Query-Paramter, der genutzt werden kann, um die Benutzer abzurufen bei denen ein anderer Benutzer als Vertreter aktuell eingesetzt ist. Wird der Parameter nicht verwendet, werden die Informationen für den aktuell angemeldeten Benutzers abgerufen.

 Antwort

Die Antwort enthält ein Json-Objekt mit folgendem Aufbau:

ParameterTypBeschreibung
userIdListstring[]Die Liste der IDs der ermittelten Benutzer.

Beispiel:


{
    "userIdList" : ["21A5C79F-D9AB-498B-9158-D3034B7E45E5","31A5C79F-D9AB-498B-9158-D3034B7E45E5"]
}

Folgende HTTP-Statuscodes können zurückgegeben werden:

StatuscodeNameBedeutung
200OKDie Anfrage wurde erfolgreich verarbeitet.
400Bad RequestDie Anfrage konnte nicht verarbeitet werden. Möglicherweise ist der Wert des userId-Parameters nicht gültig.
401UnauthorizedEs wurde keine gültige AuthSessionId übergeben.
404Not FoundDie Anfrage konnte keine abwesenden Benutzer finden bei denen der angegebene Benutzer als Vertreter eingesetzt wird.

 Abrufen welche Benutzer aktuell abwesend sind

 Aufruf

Um eine Liste aller Benutzer zu erhalten die aktuell abwesend gemeldet sind, muss eine App eine GET-Abfrage an d.ecs user profile senden.


GET /userprofile/api/absentusers
Accept: application/json

 Antwort

Die Antwort enthält ein Json-Objekt mit folgendem Aufbau:

ParameterTypBeschreibung
userIdListstring[]Die Liste der IDs der ermittelten Benutzer.

Beispiel:


{
    "userIdList" : ["21A5C79F-D9AB-498B-9158-D3034B7E45E5","31A5C79F-D9AB-498B-9158-D3034B7E45E5"]
}

Folgende HTTP-Statuscodes können zurückgegeben werden:

StatuscodeNameBedeutung
200OKDie Anfrage wurde erfolgreich verarbeitet.
401UnauthorizedEs wurde keine gültige AuthSessionId übergeben.
404Not FoundDie Anfrage konnte keine abwesenden Benutzer finden.