Externe Aktivitäten¶
Externe Systeme können, mit den notwendigen Berechtigungen, Benachrichtigungen für Benutzer erzeugen.
Externe Aktivität erzeugen (POST)¶
-
POST
/@external-activities
¶ Erzeugt eine externe Aktivität und damit eine Benachrichtigung an die angegebenen Benutzer oder Gruppen.
Beim Aufrufen einer solchen Benachrichtigung wird der Empfänger zu der in
resource_url
angegebenen URL weitergeleitet.Die in
notification_recipients
angegebene Liste muss IDs von Benutzern und/oder Gruppen enthalten, an welche eine Benachrichtigung ausgelöst werden soll.Bemerkung
API-Benutzer mit normalen Berechtigungen dürfen ausschliesslich Benachrichtigungen an ihren eigenen Benutzer auslösen (Schutz vor Missbrauch).
Dieser Anwendungsfall setzt dementsprechend voraus, dass die externe Applikation als vertrauenswürdig eingestuft wurde, und GEVER so konfiguriert ist, von dieser Applikation Requests im Kontext des Benutzers zu erlauben (Impersonation).
API-Benutzer mit der Rolle
PrivilegedNotificationDispatcher
dürfen hingegen Benachrichtigungen an beliebige Benutzer auslösen, insbesondere indirekt via Angabe von Gruppen.Dieser Anwendungsfall bedingt einen Service-Account für die externe Applikation, welchem die
PrivilegedNotificationDispatcher
Rolle zugewiesen wird. Die Anmeldung erfolgt in diesem fall nicht im Kontext des Benutzers, sondern regulär mit dem Service-Account.Request:
POST /@external-activities HTTP/1.1 Accept: application/json Content-Type: application/json { "notification_recipients": ["john.doe"], "resource_url": "https://external.example.org/", "title": { "de": "Ein Ereignis ist eingetreten", "en": "An event happened" }, "label": { "de": "...", "en": "..." }, "summary": { "de": "...", "en": "..." }, "description": { "de": "...", "en": "..." } }
Response:
HTTP/1.1 201 Created Content-Type: application/json { "activity": { "actor_id": "__system__", "actor_label": "System", "created": "2021-12-09T10:16:00+00:00", "label": "...", "summary": "...", "title": "..." } }