CarTask API Dokumentation
REST API für externe Anwendungen zur Verwaltung von Aufgaben und Personen
Einführung
Die CarTask API ermöglicht es externen Anwendungen, Aufgaben, Personen und Monitore zu verwalten. Alle Endpunkte verwenden JSON für Request und Response.
Base URL
http://localhost:3000/api
Ersetze localhost:3000 mit der IP-Adresse/Domain deines Servers.
Authentifizierung
Aktuell ist keine Authentifizierung erforderlich. Alle Endpunkte sind frei zugänglich.
Personen API
GET Alle Personen abrufen
Gibt eine Liste aller Personen zurück.
Request
GET /api/persons
Response
[
{
"id": 1,
"name": "Max Mustermann",
"position": 0
},
{
"id": 2,
"name": "Erika Musterfrau",
"position": 1
}
]
cURL Beispiel
curl http://localhost:3000/api/persons
POST Person erstellen
Erstellt eine neue Person.
Request
POST /api/persons
Body Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
name |
string | Ja | Name der Person |
Request Beispiel
{
"name": "John Doe"
}
Response
{
"id": 3
}
cURL Beispiel
curl -X POST http://localhost:3000/api/persons \
-H "Content-Type: application/json" \
-d '{"name": "John Doe"}'
DELETE Person löschen
Löscht eine Person und alle zugehörigen Aufgaben.
Request
DELETE /api/persons/{id}
URL Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
id |
integer | ID der Person |
Response
{
"success": true
}
cURL Beispiel
curl -X DELETE http://localhost:3000/api/persons/3
Aufgaben API
GET Alle Aufgaben abrufen
Gibt eine Liste aller offenen Aufgaben zurück.
Request
GET /api/tasks
Response
[
{
"id": 1,
"title": "Ölwechsel",
"description": "Motoröl wechseln bei BMW 320d",
"person_id": 1,
"priority": 0,
"is_important": 1,
"created_at": 1703001234567
}
]
cURL Beispiel
curl http://localhost:3000/api/tasks
POST Aufgabe erstellen
Erstellt eine neue Aufgabe für eine Person.
Request
POST /api/tasks
Body Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
title |
string | Ja | Titel der Aufgabe |
description |
string | Nein | Beschreibung der Aufgabe |
person_id |
integer | Ja | ID der zugewiesenen Person |
priority |
integer | Nein | Priorität (Standard: 0) |
is_important |
boolean | Nein | Als wichtig markieren (Standard: false) |
Request Beispiel
{
"title": "Bremsen prüfen",
"description": "Vorder- und Hinterachse kontrollieren",
"person_id": 1,
"priority": 0,
"is_important": true
}
Response
{
"id": 5
}
cURL Beispiel
curl -X POST http://localhost:3000/api/tasks \
-H "Content-Type: application/json" \
-d '{
"title": "Bremsen prüfen",
"description": "Vorder- und Hinterachse kontrollieren",
"person_id": 1,
"is_important": true
}'
PUT Aufgabe bearbeiten
Aktualisiert eine bestehende Aufgabe.
Request
PUT /api/tasks/{id}
Body Parameter
Alle Parameter von POST /api/tasks
Response
{
"success": true
}
cURL Beispiel
curl -X PUT http://localhost:3000/api/tasks/5 \
-H "Content-Type: application/json" \
-d '{
"title": "Bremsen wechseln",
"description": "Neue Bremsbeläge montieren",
"person_id": 2,
"priority": 1,
"is_important": true
}'
POST Aufgabe abschließen
Markiert eine Aufgabe als erledigt und verschiebt sie ins Archiv.
Request
POST /api/tasks/{id}/complete
Response
{
"success": true
}
cURL Beispiel
curl -X POST http://localhost:3000/api/tasks/5/complete
DELETE Aufgabe löschen
Löscht eine Aufgabe permanent (nicht archivieren).
Request
DELETE /api/tasks/{id}
Response
{
"success": true
}
cURL Beispiel
curl -X DELETE http://localhost:3000/api/tasks/5
Archiv API
GET Archiv abrufen
Gibt alle archivierten (erledigten) Aufgaben zurück.
Request
GET /api/archived-tasks
Response
[
{
"id": 1,
"title": "Ölwechsel",
"description": "Motoröl wechseln",
"person_id": 1,
"priority": 0,
"is_important": 1,
"created_at": 1703001234567,
"completed_at": 1703005678901
}
]
cURL Beispiel
curl http://localhost:3000/api/archived-tasks
DELETE Archiv-Eintrag löschen
Löscht einen Eintrag aus dem Archiv permanent.
Request
DELETE /api/archived-tasks/{id}
cURL Beispiel
curl -X DELETE http://localhost:3000/api/archived-tasks/1
Monitor API
GET Alle Monitore abrufen
Request
GET /api/monitors
Response
[
{
"id": 1,
"name": "Werkstatt 1",
"person_ids": [1, 2]
}
]
POST Monitor erstellen
Body Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
name |
string | Name des Monitors |
person_ids |
array | Array von Personen-IDs |
Request Beispiel
{
"name": "Werkstatt 2",
"person_ids": [3, 4, 5]
}
PUT Monitor bearbeiten
Request
PUT /api/monitors/{id}
DELETE Monitor löschen
Request
DELETE /api/monitors/{id}
API bereit!
Du kannst jetzt externe Anwendungen mit der CarTask API verbinden.