Basis-URL: https://api.schraubertermin.de/v1

Kunden

Verwalten Sie Ihren Kundenstamm: auflisten, erstellen, aktualisieren und Fahrzeugdaten pflegen.

GET/v1/kunden

Listet alle Kunden Ihrer Werkstatt auf. Unterstützt Suche nach Name, E-Mail oder Telefonnummer.

Query-Parameter

NameTypPflichtBeschreibung
suchestringNeinSuche nach Name, E-Mail oder Telefon
pageintegerNeinSeitennummer (Standard: 1)
per_pageintegerNeinEinträge pro Seite (Standard: 25, Max: 100)
"token-method">curl "token-keyword">-X GET '"token-url">https://api.schraubertermin.de/v1/kunden?suche=Mustermann' \
  "token-flag">-H 'Authorization: Bearer sk_live_IhrApiKey'
Response200 OK
{
  "data": [
    {
      "id": "k1a2b3c4-5678-9012-3456-789012345678",
      "name": "Max Mustermann",
      "email": "max@example.com",
      "telefon": "+491701234567",
      "fahrzeuge": [
        {
          "marke": "BMW",
          "modell": "320d",
          "baujahr": 2020,
          "kennzeichen": "B-AB 1234"
        }
      ],
      "buchungen_count": 5,
      "erstellt_am": "2025-01-15T10: 00: 00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 25,
    "total": 142,
    "total_pages": 6
  }
}
GET/v1/kunden/:id

Ruft einen einzelnen Kunden mit Fahrzeugen und Buchungshistorie ab.

NameTypPflichtBeschreibung
iduuidJaID des Kunden
"token-method">curl "token-keyword">-X GET "token-url">https://api.schraubertermin.de/v1/kunden/k1a2b3c4... \
  "token-flag">-H 'Authorization: Bearer sk_live_IhrApiKey'
Response200 OK
{
  "id": "k1a2b3c4...",
  "name": "Max Mustermann",
  "email": "max@example.com",
  "telefon": "+491701234567",
  "fahrzeuge": [
    {
      "marke": "BMW",
      "modell": "320d",
      "baujahr": 2020,
      "kennzeichen": "B-AB 1234",
      "antrieb": "verbrenner"
    }
  ],
  "letzte_buchungen": [
    {
      "id": "b1a2...",
      "datum": "2025-06-15",
      "service": "Reifenwechsel",
      "status": "completed"
    }
  ],
  "erstellt_am": "2025-01-15T10: 00: 00Z"
}
POST/v1/kunden

Erstellt einen neuen Kunden in Ihrer Werkstatt-Datenbank.

Body-Parameter

NameTypPflichtBeschreibung
namestringJaVollständiger Name des Kunden
emailstringNeinE-Mail-Adresse
telefonstringNeinTelefonnummer (E.164 Format, z.B. +491701234567)
fahrzeugearrayNeinFahrzeuge: [{ marke, modell, baujahr, kennzeichen, antrieb }]
"token-method">curl "token-keyword">-X POST "token-url">https://api.schraubertermin.de/v1/kunden \
  "token-flag">-H 'Authorization: Bearer sk_live_IhrApiKey' \
  "token-flag">-H 'Content-Type: application/json' \
  "token-flag">-d '{
    "name": "Anna Schmidt",
    "email": "anna@example.com",
    "telefon": "+491709876543",
    "fahrzeuge": [{
      "marke": "VW",
      "modell": "Golf 8",
      "baujahr": 2022,
      "kennzeichen": "M-XY 5678"
    }]
  }'
Response201 Created
{
  "id": "neue-kunden-uuid",
  "name": "Anna Schmidt",
  "email": "anna@example.com",
  "erstellt_am": "2025-06-10T14: 30: 00Z"
}
PATCH/v1/kunden/:id

Aktualisiert Kundendaten. Nur die übergebenen Felder werden geändert.

Body-Parameter

NameTypPflichtBeschreibung
namestringNeinNeuer Name
emailstringNeinNeue E-Mail-Adresse
telefonstringNeinNeue Telefonnummer
fahrzeugearrayNeinAktualisierte Fahrzeugliste (ersetzt komplett)
"token-method">curl "token-keyword">-X PATCH "token-url">https://api.schraubertermin.de/v1/kunden/k1a2b3c4... \
  "token-flag">-H 'Authorization: Bearer sk_live_IhrApiKey' \
  "token-flag">-H 'Content-Type: application/json' \
  "token-flag">-d '{"telefon": "+491709999999"}'
Response200 OK
{
  "id": "k1a2b3c4...",
  "name": "Max Mustermann",
  "telefon": "+491709999999",
  "aktualisiert_am": "2025-06-10T16: 00: 00Z"
}
DELETE/v1/kunden/:id

Löscht einen Kunden. Buchungen des Kunden bleiben erhalten, werden aber anonymisiert.

Diese Aktion kann nicht rückgängig gemacht werden. Kundendaten werden gemäß DSGVO unwiderruflich gelöscht.

"token-method">curl "token-keyword">-X DELETE "token-url">https://api.schraubertermin.de/v1/kunden/k1a2b3c4... \
  "token-flag">-H 'Authorization: Bearer sk_live_IhrApiKey'

Gibt 204 No Content bei Erfolg zurück.