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”
Abschnitt betitelt „Schema “messages”“Die Bestandteile einer Nachricht sind mit denen einer typischen Mail gleichzusetzen.
Attribute
Abschnitt betitelt „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
Abschnitt betitelt „Relationen“| Relation | Beschreibung |
|---|---|
| sender | Absendender Nutzer |
| recipients | Emfpänger einer Nachricht |
Alle Inbox-Nachrichten
Abschnitt betitelt „Alle Inbox-Nachrichten“Gibt alle Nachrichten eines Nutzers zurück.
HTTP Request
Abschnitt betitelt „HTTP Request“GET /users/{id}/inbox
Parameter
Abschnitt betitelt „Parameter“| Parameter | Beschreibung |
|---|---|
| id | ID des Nutzers |
URL-Parameter
Abschnitt betitelt „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
Abschnitt betitelt „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
Abschnitt betitelt „Alle Outbox-Nachrichten“Gibt alle Outbox-Nachrichten eines Nutzers zurück
HTTP Request
Abschnitt betitelt „HTTP Request“GET /users/{id}/outbox
Parameter
Abschnitt betitelt „Parameter“| Parameter | Beschreibung |
|---|---|
| id | ID des Nutzers |
Authorisierung
Abschnitt betitelt „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
Abschnitt betitelt „Eine Nachricht senden“HTTP Request
Abschnitt betitelt „HTTP Request“POST /messages
Authorisierung
Abschnitt betitelt „Authorisierung“Diese Route kann von jedem Studip-Nutzer genutzt werden.
Parameter
Abschnitt betitelt „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
Abschnitt betitelt „Eine Nachricht ansehen“HTTP Request
Abschnitt betitelt „HTTP Request“GET /messages/{id}
| Parameter | Beschreibung |
|---|---|
| id | ID der Nachricht |
Authorisierung
Abschnitt betitelt „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
Abschnitt betitelt „Eine Nachricht löschen“Löscht eine Nachrichten
HTTP Request
Abschnitt betitelt „HTTP Request“DELETE /messages/{id}
Authorisierung
Abschnitt betitelt „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`" \