Chat Server Manual

Alle Befehle laufen über einen einzigen Endpunkt. GET-Requests übergeben request=<name> plus weitere Parameter als Query-String; das einzige POST-Kommando (postmessage) übergibt alles, inklusive request, als JSON-Body.

Die meisten Kommandos benötigen ein token aus register/login. Einige Admin-Kommandos benötigen zusätzlich einen gültigen Admin-key.

Account

Kommando Parameter Beschreibung
ping – Lebenszeichen, kein Token nötig.
register userid, password, nickname, fullname Account anlegen, liefert token + hash.
login userid, password Neues Token ausstellen.
logout token Aktuelles Token ungültig machen.
validatetoken token Prüft Token (immer HTTP 200, Ergebnis in message).
deregister token Eigenen Account löschen (Nachrichten bleiben erhalten).

Nachrichten

Kommando Parameter Beschreibung
postmessage (POST) token, text?, photo?, file?, position?, chatid?, important? Nachricht in einen Chat posten.
getmessages token, fromid?, chatid?, key? Nachrichten ab einer id abrufen.
getphoto token, photoid Foto als PNG herunterladen.
getfile token, fileid Datei herunterladen.

Chats

Kommando Parameter Beschreibung
getchats token, key? Sichtbare Chats auflisten.
createchat token, chatname, ispublic?, directchat? Neuen Chat erstellen.
deletechat token, chatid, key? Chat löschen (nur Owner/Admin).
joinchat token, chatid Chat beitreten (öffentlich oder eingeladen).
leavechat token, chatid Chat verlassen (nicht als Owner, nicht Main-Chat).

Einladungen

Kommando Parameter Beschreibung
invite token, chatid, invitedhash, key? User per Hash einladen (nur Owner/Admin).
getinvites token Eigene offene Einladungen auflisten.
rejectinvite token, chatid Einladung ablehnen.

Benutzer

Kommando Parameter Beschreibung
getprofiles token, key? Alle registrierten Profile auflisten.

Admin

Kommando Parameter Beschreibung
resetuser token, key, userhash Passwort/Tokens eines Users zurücksetzen.
deleteuser token, key, userhash User inkl. aller Daten löschen.
clear key Alle Daten auf dem Server unwiderruflich löschen.

Fehlercodes

Der HTTP-Status entspricht immer dem Fehlercode in code. Details siehe api-docs.yaml / Swagger-UI.