Benachrichtigungen¶
Der @notifications
Endpoint stellt Funktionen für die Benachrichtigungen zur Verfügung. Der Endpoint steht nur auf Stufe PloneSite zur Verfügung und erwartet eine Einschränkung auf einen Benutzer via Benutzer-ID. Die URL setzt sich somit folgendermassen zusammen:
http://example.org/fd/@notifications/peter.mueller
Auflistung:¶
Mittels eines GET-Request können alle GEVER Benachrichtigungen des Benutzers abgefragt werden.
Beispiel-Request:
GET /@notifications/peter.mueller HTTP/1.1 Accept: application/json
Beispiel-Response:
HTTP/1.1 200 OK Content-Type: application/json [ { "@id": "http://nohost/plone/@notifications/kathi.barfuss/3", "actor_id": "robert.ziegler", "actor_label": "Ziegler Robert", "created": "2018-10-16T00:00:00+00:00", "label": "Task opened", "link": "http://nohost/plone/@@resolve_notification?notification_id=3", "notification_id": 3, "oguid": "plone:1016273300", "read": false, "summary": "New task opened by Ziegler Robert", "title": "Important task" }, { "@id": "http://nohost/plone/@notifications/kathi.barfuss/1", "actor_id": "robert.ziegler", "actor_label": "Ziegler Robert", "created": "2017-10-16T00:00:00+00:00", "label": "Task opened", "link": "http://nohost/plone/@@resolve_notification?notification_id=1", "notification_id": 1, "oguid": "plone:1016273300", "read": true, "summary": "New task opened by Ziegler Robert", "title": "Important task" } ]
Einzelne Benachrichtigung:¶
Eine einzelne Benarchrichtigung kann durch hinzufügen der Benachrichtigungs-ID abgefragt werden:
Beispiel-Request:
GET /@notifications/peter.mueller/3 HTTP/1.1 Accept: application/json
Beispiel-Response:
HTTP/1.1 200 OK Content-Type: application/json { "@id": "http://nohost/plone/@notifications/kathi.barfuss/3", "actor_id": "robert.ziegler", "actor_label": "Ziegler Robert", "created": "2018-10-16T00:00:00+00:00", "label": "Task opened", "link": "http://nohost/plone/@@resolve_notification?notification_id=3", "notification_id": 3, "oguid": "plone:1016273300", "read": false, "summary": "New task opened by Ziegler Robert", "title": "Important task" }
Benachrichtigung als gelesen markieren¶
Durch einen PATCH-Request kann eine Benachrichtigung als gelesen markiert werden:
Beispiel-Request:
PATCH /@notifications/peter.mueller/3 HTTP/1.1 Accept: application/json { "read": true }
Beispiel-Response:
HTTP/1.1 204 No Content
Alle Benachrichtigungen als gelesen markieren¶
Durch einen POST-Request können alle Benachrichtigungen als gelesen markiert werden:
Beispiel-Request:
POST /@notifications/peter.mueller/3 HTTP/1.1 Accept: application/json { "mark_all_notifications_as_read": true, "latest_client_side_notification": 215 }
Beispiel-Response:
HTTP/1.1 204 No Content
Benachrichtigungen unterdrücken¶
Viele Aktionen lösen Benachrichtigungen aus, beispielsweise das Kommentieren einer Aufgabe. Um Benachrichtigungen zu unterdrücken, kann der X-GEVER-SuppressNotifications
-Header mitgeschickt werden. Akzeptiert werden folgende Werte (case insensitive): yes, y, true, t, 1
Beispiel-Request:
POST /task-1/@responses HTTP/1.1 Accept: application/json Content-Type: application/json X-GEVER-SuppressNotifications: true { "text": "Bitte rasch anschauen. Danke.", }