Alle Endpunkte sind unter https://crackfifa.coban.top/api erreichbar und geben JSON zurück.
Liefert diese Dokumentation.
Registriert einen neuen Benutzer und gibt ein Auth-Token zurück.
Body-Parameter
name(string, erforderlich)email(string, erforderlich, eindeutig)password(string, erforderlich, mindestens 8 Zeichen)
Beispiel
curl -X POST https://crackfifa.coban.top/api/register \
-H "Content-Type: application/json" \
-d '{"name":"Max","email":"max@example.com","password":"geheim123"}'Erfolgreiche Antwort (201 Created)
{
"token": "<API Token>"
}Meldet einen bestehenden Benutzer an und gibt ein Auth-Token zurück.
Body-Parameter
email(string, erforderlich)password(string, erforderlich)
Beispiel
curl -X POST https://crackfifa.coban.top/api/login \
-H "Content-Type: application/json" \
-d '{"email":"max@example.com","password":"geheim123"}'Erfolgreiche Antwort (200 OK)
{
"token": "<API Token>"
}Bei ungültigen Zugangsdaten folgt eine Antwort 401 mit
{ "message": "Invalid credentials" }Das Token muss bei geschützten Endpunkten im Header mitgesendet werden:
Authorization: Bearer <API Token>
Die folgenden Endpunkte verwalten Karten von Lehrern.
Listet alle vorhandenen Karten mit zugehörigem Kartentyp auf.
Beispiel
curl https://crackfifa.coban.top/api/teacher-cardsErfolgreiche Antwort (200 OK)
[
{
"id": 1,
"name": "Beispiel-Lehrer",
"overall_rating": 90,
"card_type": {
"id": 1,
"name": "Gold"
}
}
]Liefert eine einzelne Lehrerkarte.
Beispiel
curl https://crackfifa.coban.top/api/teacher-cards/1Erfolgreiche Antwort (200 OK)
{
"id": 1,
"name": "Beispiel-Lehrer",
"overall_rating": 90,
"image": "bild.png",
"year": 2024,
"card_type": {
"id": 1,
"name": "Gold"
},
"authority": 80,
"character": 85,
"teaching_quality": 95,
"tech_skills": 70,
"student_vibe": 88,
"humor": 60
}Erstellt eine neue Lehrerkarte.
Body-Parameter
name(string, erforderlich)overall_rating(integer 0-100, erforderlich)image(Datei, erforderlich, Bild)year(integer, erforderlich)card_type_id(integer, erforderlich)authority(integer 0-100, erforderlich)character(integer 0-100, erforderlich)teaching_quality(integer 0-100, erforderlich)tech_skills(integer 0-100, erforderlich)student_vibe(integer 0-100, erforderlich)humor(integer 0-100, erforderlich)
Beispiel
curl -X POST https://crackfifa.coban.top/api/teacher-cards \
-H "Authorization: Bearer <API Token>" \
-F name="Beispiel-Lehrer" \
-F overall_rating=90 \
-F image=@bild.png \
-F year=2024 \
-F card_type_id=1 \
-F authority=80 \
-F character=85 \
-F teaching_quality=95 \
-F tech_skills=70 \
-F student_vibe=88 \
-F humor=60Erfolgreiche Antwort (201 Created)
{
"id": 1,
"name": "Beispiel-Lehrer",
"overall_rating": 90,
"image": "bild.png",
"year": 2024,
"card_type_id": 1,
"authority": 80,
"character": 85,
"teaching_quality": 95,
"tech_skills": 70,
"student_vibe": 88,
"humor": 60
}Aktualisiert eine bestehende Lehrerkarte. Es können optionale Felder wie bei POST /api/teacher-cards gesendet werden.
Beispiel
curl -X PUT https://crackfifa.coban.top/api/teacher-cards/1 \
-H "Authorization: Bearer <API Token>" \
-F overall_rating=91Erfolgreiche Antwort (200 OK)
{
"id": 1,
"name": "Beispiel-Lehrer",
"overall_rating": 91,
"image": "bild.png",
"year": 2024,
"card_type_id": 1,
"authority": 80,
"character": 85,
"teaching_quality": 95,
"tech_skills": 70,
"student_vibe": 88,
"humor": 60
}Löscht eine Lehrerkarte. Antwort 204 No Content bei Erfolg.
Verwaltet die verfügbaren Kartentypen.
Listet alle Kartentypen auf.
Beispiel
curl https://crackfifa.coban.top/api/card-typesErfolgreiche Antwort (200 OK)
[
{
"id": 1,
"name": "Gold",
"description": "Gold card"
}
]Gibt einen einzelnen Kartentyp zurück.
Beispiel
curl https://crackfifa.coban.top/api/card-types/1Erfolgreiche Antwort (200 OK)
{
"id": 1,
"name": "Gold",
"description": "Gold card"
}Legt einen neuen Kartentyp an.
Body-Parameter
name(string, erforderlich)description(string, optional)
Beispiel
curl -X POST https://crackfifa.coban.top/api/card-types \
-H "Authorization: Bearer <API Token>" \
-H "Content-Type: application/json" \
-d '{"name":"Gold","description":"Gold card"}'Erfolgreiche Antwort (201 Created)
{
"id": 1,
"name": "Gold",
"description": "Gold card"
}Aktualisiert einen Kartentyp. Es können optionale Felder wie bei POST /api/card-types gesendet werden.
Beispiel
curl -X PUT https://crackfifa.coban.top/api/card-types/1 \
-H "Authorization: Bearer <API Token>" \
-H "Content-Type: application/json" \
-d '{"description":"Legendäre Goldkarte"}'Erfolgreiche Antwort (200 OK)
{
"id": 1,
"name": "Gold",
"description": "Legendäre Goldkarte"
}Löscht einen Kartentyp. Antwort 204 No Content bei Erfolg.
Speichert einen Vote für eine Lehrerkarte. Der Benutzer muss eingeloggt sein.
Body-Parameter
teacher_card_id(integer, erforderlich)authority(integer 0-100, erforderlich)character(integer 0-100, erforderlich)teaching_quality(integer 0-100, erforderlich)tech_skills(integer 0-100, erforderlich)student_vibe(integer 0-100, erforderlich)humor(integer 0-100, erforderlich)
Beispiel
curl -X POST https://crackfifa.coban.top/api/teacher-card-votes \
-H "Authorization: Bearer <API Token>" \
-H "Content-Type: application/json" \
-d '{"teacher_card_id":1,"authority":80,"character":85,"teaching_quality":90,"tech_skills":70,"student_vibe":88,"humor":60}'Erfolgreiche Antwort (201 Created)
{
"id": 1,
"teacher_card_id": 1,
"user_id": 1,
"authority": 80,
"character": 85,
"teaching_quality": 90,
"tech_skills": 70,
"student_vibe": 88,
"humor": 60
}Bei erneutem Vote für dieselbe Karte wird 409 Conflict zurückgegeben. Hat der Benutzer nach einem Vote für alle Karten abgestimmt, wird is_verified auf true gesetzt.