API-Zugriff
Eine kleine, überwiegend lesende API für das eigene Konto. Genug, um von einem Skript aus nach den eigenen Bots zu sehen – nicht genug, um bei einem geleakten Token Schaden anzurichten.
Anmeldung
Erzeuge ein Token unter Einstellungen → Sicherheit → API-Zugang. Schicke es bei jeder Anfrage als Authorization-Kopfzeile mit:
Authorization: Bearer <token>
Ein Token meldet dich an wie eine Sitzung im Browser, aber nur für die unten stehenden Wege – für nichts sonst, was eine Browser-Sitzung dürfte.
Endpunkte
GET https://afksystems.de/api/me
Das eigene Konto: Guthaben, Nutzung, ungelesene Anzahlen.
GET https://afksystems.de/api/profiles
Alle eigenen Serverplätze, mit Bot-Status.
GET https://afksystems.de/api/profiles/:id
Ein Serverplatz im Detail.
POST https://afksystems.de/api/profiles/:id/start
Die Bots eines Serverplatzes starten.
POST https://afksystems.de/api/profiles/:id/stop
Die Bots eines Serverplatzes stoppen.
GET https://afksystems.de/api/profiles/:id/events
Verbindungsverlauf eines Serverplatzes (Verbindungen, Trennungen, Weltwechsel).
GET https://afksystems.de/api/tickets
Die eigenen Support-Tickets.
GET https://afksystems.de/api/tickets/:id
Ein Ticket, mit seinem Nachrichtenverlauf.
POST https://afksystems.de/api/tickets
Ein neues Support-Ticket eröffnen.
GET /api/me
{
"user": {
"id": 128,
"display_name": "Jonas",
"credits": 340,
"low_balance_warning": -1
},
"stats": {
"profiles": 2,
"bots_running": 2,
"bots_online": 2,
"monthly_cost": 12,
"free_slots_left": 0,
"tickets_unread": 0
}
}
POST /api/tickets
// Request
{ "subject": "Bot won't reconnect", "body": "It disconnected around 14:00 and hasn't come back." }
// Response
{ "ticket": { "id": 4711, "subject": "Bot won't reconnect", "status": "open", … } }
Fehler
Jeder Fehler kommt als JSON zurück: {"error": "…"}. Der HTTP-Status sagt, welche Art: 401 ohne gültiges Token, 403 für einen Weg, den das Token nicht nutzen darf, 404 für etwas, das nicht dir gehört oder nicht existiert, 429 bei vielen Anfragen auf einmal.