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.
Schema "messages"
Die Bestandteile einer Nachricht sind mit denen einer typischen Mail gleichzusetzen.
Attribute
| Attribut | Beschreibung |
|---|---|
| subject | Der Betreff einer Nachricht |
| message | Der Content einer Nachricht |
| mkdate | Erstellungsdatum einer Nachricht |
| priority | Art der Relevanz |
| tags | Themen der Nachricht |
Relationen
| Relation | Beschreibung |
|---|---|
| sender | Absendender Nutzer |
| recipients | Emfpänger einer Nachricht |
Alle Inbox-Nachrichten
Gibt alle Nachrichten eines Nutzers zurück.
HTTP Request
GET /users/{id}/inbox
Parameter
| Parameter | Beschreibung |
|---|---|
| id | ID des Nutzers |
URL-Parameter
| Parameter | Beschreibung |
|---|---|
| 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.
Authorisierung
Diese Route kann nur vom Besitzer der betreffenden Nachrichten genutzt werden.
curl --request GET \
--url https://example.com/blubber-postings/<posting-id>/users/<user-id>/inbox \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"
Alle Outbox-Nachrichten
Gibt alle Outbox-Nachrichten eines Nutzers zurück
HTTP Request
GET /users/{id}/outbox
Parameter
| Parameter | Beschreibung |
|---|---|
| id | ID des Nutzers |
Authorisierung
Diese Route kann nur vom Besitzer der betreffenden Nachrichten genutzt werden.
curl --request GET \
--url https://example.com/blubber-postings/<posting-id>/users/<user-id>/outbox \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"
Eine Nachricht senden
HTTP Request
POST /messages
Authorisierung
Diese Route kann von jedem Studip-Nutzer genutzt werden.
Parameter
Diese Route benötigt keine Parameter
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"}]}}}}'
Eine Nachricht ansehen
HTTP Request
GET /messages/{id}
| Parameter | Beschreibung |
|---|---|
| id | ID der Nachricht |
Authorisierung
Diese Route kann von Besitzern der jeweiligen Nachricht genutzt werden.
curl --request GET \
--url https://example.com/blubber-postings/messages/<message-id>/ \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`"
Eine Nachricht löschen
Löscht eine Nachrichten
HTTP Request
DELETE /messages/{id}
Authorisierung
Diese Route kann von Besitzern der jeweiligen Nachricht genutzt werden.
curl --request DELETE \
--url https://example.com/messages/<messages-id> \
--header "Authorization: Basic `echo -ne "test_autor:testing" | base64`" \