## API > Wenn die env variable `API_SECRET` gesetzt ist, muss jede API Request den HTTP Header `Authorization: Basic ` haben.
POST /api/feedback (Erstellt Feedbackformulare) ##### Request Body ``` { // Interner Event Name (oder ID) "event": string, // Event Titel, wird über dem Feedbackformular angezeigt "title": string, // UUIDs aller Spieler, die das Feedback ausfüllen sollen "users": string[] } ``` ##### Response Codes | http code | beschreibung | | --------- | ------------------------------------------ | | 200 | / | | 400 | Der Request Body ist falsch | | 401 | Es wurde ein falsches API Secret angegeben | ##### Response Body ``` { "feedback": { // UUID eines Spieler "uuid": string // URL zum Feedbackformular "url": string }[] } ```
POST /api/report (Erstellt einen Report) ##### Request Body ``` { // UUID des Report Erstellers "reporter": string, // UUID des Reporteten Spielers "reported": string | null, // Report Grund "reason": string } ``` ##### Response Codes | http code | beschreibung | | --------- | ----------------------------------------------------------------- | | 200 | / | | 400 | Der Request Body ist falsch | | 401 | Es wurde ein falsches API Secret angegeben | | 404 | Der Report Ersteller, oder der reportete Spieler, existiert nicht | ##### Response Body ``` { // URL, wo der Ersteller den Report abschicken kann "url": string } ```
PUT /api/report (Erstellt einen Abgeschlossenen Report) ##### Request Body ``` { // UUID des Reporters. Wenn `null`, wird der Reporter als System interpretiert "reporter": string | null, // UUID des Reporteten Spielers "reported": string, // Report Grund "reason": string, // Inhalt des Reports "body": string | null, // Interne Notiz "notice": string | null, // Öffentliches Statement "statement": string | null, // ID des Strikegrundes "strike_reason_id": number } ``` | http code | beschreibung | | --------- | ----------------------------------------------------------------- | | 200 | / | | 400 | Der Request Body ist falsch | | 401 | Es wurde ein falsches API Secret angegeben | | 404 | Der Report Ersteller, oder der reportete Spieler, existiert nicht | ##### Response Body `/`
GET /api/player (Status eines Spielers) ##### Request Body ``` { // UUID eines Spielers "user": string } ``` | http code | beschreibung | | --------- | ------------------------------------------ | | 200 | / | | 400 | Der Request Body ist falsch | | 401 | Es wurde ein falsches API Secret angegeben | | 404 | Der Spieler existiert nicht | ##### Response Body ``` { // Liste aller Strikes, die der Spieler hat strikes: { // UTC Timestamp wann der Strike erstellt wurde "at": number, // Strike Gewichtung "weight": number, }[] } ```
## Webhook > Die env variable `WEBHOOK_ENDPOINT` muss gesetzt und eine valide HTTP URL sein. Bei bestimmten Aktionen wird an den Webhook Endpoint ein Webhook gesendet. Die Art des Webhooks wird dabei durch den `x-webhook-action` HTTP Header angegeben und hat einen festgelegten JSON Body. Das Webhook wir so oft gesendet, bis der angegebene Webhook Endpoint eine Response mit Status `200` zurücksendet. Alle Webhooks: | Beschreibung | HTTP Header | Body | | ------------------------------------- | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | | Ein neuer Nutzer hat sich registriert |
x-webhook-action: signup
|
{
  // Vorname des Nutzers
  firstname: string,
  // Nachname des Nutzers
  lastname: string,
  //Geburtstag des Nutzers im YYYY-MM-DD format
  birthday: string,
  // Telefonnummer des Nutzers. `null` wenn keine angegeben wurde
  telephone: string \| null,
  // Spielername des Nutzers
  username: string,
  // Minecraft-Edition des Nutzers
  edition: 'java' \| 'bedrock'
| | Ein neuer Report wurde erstellt |
x-webhook-action: report
|
{
  // Username des Reporters. `null` wenn der Report vom System gemacht wurde
  reporter: string \| null,
  // Username des reporteten Spielers. `null` wenn Spieler unbekannt ist
  reported: string \| null,
  // Grund des Reports
  reason: string
}
| |