Zum Inhalt springen

Nachrichten

Studip bietet die Möglichkeit Nachrichten (“messages”) innerhalb des Systems zwischen Nutzern und Nutzergruppen zu versenden. Das Nachrichten-System ist aufgebaut wie ein interner Mail-Service.

Die Bestandteile einer Nachricht sind mit denen einer typischen Mail gleichzusetzen.

AttributBeschreibung
subjectDer Betreff einer Nachricht
messageDer Content einer Nachricht
mkdateErstellungsdatum einer Nachricht
priorityArt der Relevanz
tagsThemen der Nachricht
RelationBeschreibung
senderAbsendender Nutzer
recipientsEmfpänger einer Nachricht

Gibt alle Nachrichten eines Nutzers zurück.

GET /users/{id}/inbox

ParameterBeschreibung
idID des Nutzers
ParameterBeschreibung
filter[unread]Sollen nur ungelesene Nachrichten ausgeliefert werden?

Wenn “filter[unread]” nicht gesetzt ist, werden alle Nachrichten ausgeliefert. Mit “filter[unread]=1” werden nur ungelesene Nachrichten zurück gegeben.

Diese Route kann nur vom Besitzer der betreffenden Nachrichten genutzt werden.

Terminal-Fenster
curl --request GET \
--url https://example.com/blubber-postings/<posting-id>/users/<user-id>/inbox \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"

Gibt alle Outbox-Nachrichten eines Nutzers zurück

GET /users/{id}/outbox

ParameterBeschreibung
idID des Nutzers

Diese Route kann nur vom Besitzer der betreffenden Nachrichten genutzt werden.

Terminal-Fenster
curl --request GET \
--url https://example.com/blubber-postings/<posting-id>/users/<user-id>/outbox \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"

POST /messages

Diese Route kann von jedem Studip-Nutzer genutzt werden.

Diese Route benötigt keine Parameter

Terminal-Fenster
curl --request POST \
--url https://example.com/messages \
--header "Content-Type: application/vnd.api+json" \
--header "Authorization: Basic `echo -ne "root@studip:testing" | base64`" \
--data
'{"data": {"type": "messages","attributes": {"subject": "Eine neue E-Mail","message": "Das ist meine erste Mail - Dank der API super einfach.", "priority": "normal" }, "relationships": {"recipients": {"data": [{"type": "users","id": "6235c46eb9e962866ebdceece739ace5"}]}}}}'

GET /messages/{id}

ParameterBeschreibung
idID der Nachricht

Diese Route kann von Besitzern der jeweiligen Nachricht genutzt werden.

Terminal-Fenster
curl --request GET \
--url https://example.com/blubber-postings/messages/<message-id>/ \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"

Löscht eine Nachrichten

DELETE /messages/{id}

Diese Route kann von Besitzern der jeweiligen Nachricht genutzt werden.

Terminal-Fenster
curl --request DELETE \
--url https://example.com/messages/<messages-id> \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`" \