## 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/player/death (Registriert einen Spielertod) ##### Request Body ``` { // UUID des getöteten Spielers "user": string, // UUID des Spielers, der den Kill gemacht hat "killer": string | null, // Todesnachricht "message": string } ``` ##### Response Codes | http code | beschreibung | | --------- | -------------------------------------------------------------------------------- | | 200 | / | | 400 | Der Request Body ist falsch | | 401 | Es wurde ein falsches API Secret angegeben | | 404 | Der getötete Spieler, oder der Spieler der den Kill gemacht hat, existiert nicht | ##### Response Body `/`
POST /api/player/status (Status eines Spielers) ##### Request Body ``` { // UUID eines Spielers "user": string } ``` ##### Response Codes | http code | beschreibung | | --------- | --------------------------------------------------- | | 200 | / | | 400 | Der Request Body ist falsch | | 401 | Es wurde ein falsches API Secret angegeben | | 404 | Der Spieler existiert nicht oder ist in keinem Team | ##### Response Body ``` { "team": { // Teamname "name": string, // Teamfarbe in HEX "color": string }, // Ob der Spieler Tot ist "dead": boolean, // Gewichtung aller Strikes "strikeWeight": number, // UTC timestamp wann das Team zuletzt gejoined ist "lastJoined": number | null } ```
PUT /api/player/status (Updatet den Status eines Spielers) ##### Request Body ``` { // UUID eines Spieler "user": string, // Registriert einen neuen UTC timestamp an dem das Team zuletzt gejoined ist "lastJoined": number } ``` ##### Response Codes | http code | beschreibung | | --------- | ------------------------------------------ | | 200 | / | | 400 | Der Request Body ist falsch | | 401 | Es wurde ein falsches API Secret angegeben | ##### Response Body `/`
GET /api/team (Liste aller Teams) ##### Request Body `/` ##### Response Codes | http code | beschreibung | | --------- | ------------------------------------------ | | 200 | / | | 400 | Der Request Body ist falsch | | 401 | Es wurde ein falsches API Secret angegeben | ##### Response Body ``` { // Teamname "name": string, // Teamfarbe in HEX "color": string, // UTC timestamp wann das Team zuletzt gejoined ist "lastJoined": number | null, // Gewichtung aller Strikes "strikeWeight": number, // Alle Spieler des Teams "users": { // UUID des Spielers "uuid": string, // Ob der Spieler Tot ist "dead": boolean }[] } ```
## 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 Team hat ein Strike bekommen |
x-webhook-action: strike
|
{
  // UUIDs aller Nutzer des Teams, das einen Strike bekommen hat
  "users": string[],
  // Gewichtung aller Strikes, die das Team insgesamt bekommen hat
  "totalWeight": number
}
|