EaseControl API

REST API Dokumentation | EU Data Act konform | Version 2.0

Authentifizierung: Alle API-Endpunkte (ausser /auth/login) erfordern einen JWT-Token im Authorization-Header:
Authorization: Bearer <token>

Base-URL: https://new.easecontrol.de/api
Content-Type: application/json
Rate-Limit: 200 Anfragen / 15 Minuten

Authentifizierung

POST/auth/login
Login mit E-Mail + Passwort. Gibt JWT-Token zurueck. Bei aktiviertem 2FA: totp_code mitsenden.
GET/auth/meAuth
Aktueller Benutzer mit Rolle, Sprache, Tenant-Info.
POST/auth/refreshAuth
Access-Token erneuern via Refresh-Token.
POST/auth/totp/setupAuth
2FA einrichten — gibt QR-Code + Secret zurueck.
POST/auth/totp/verifyAuth
2FA-Code verifizieren und aktivieren.
GET/auth/totp/statusAuth
2FA-Status und verbleibende Backup-Codes.

Leads & CRM

GET/leadsAuth
Alle Leads mit Filtern (status, quelle, gewerk, score). Paginiert.
POST/leadsAuth
Neuen Lead anlegen. Pflicht: name. Optional: telefon, email, firma, quelle, gewerk, notiz.
GET/leads/:idAuth
Lead-Details mit Timeline, Angeboten, Terminen.
PATCH/leads/:idAuth
Lead aktualisieren (Status, Score, Zuordnung etc.).
POST/leads/:id/convertAuth
Lead zu Auftrag umwandeln. Erstellt Kunde + Auftrag.
GET/crm/kundenAuth
Kundenliste mit Umsatz, Auftraegen, letzter Aktivitaet.

Angebote

GET/angeboteAuth
Alle Angebote mit Status-Filter und Statistiken.
POST/angeboteAuth
Neues Angebot erstellen. Generiert PDF automatisch.
PATCH/angebote/:id/statusAuth
Angebots-Status aendern (entwurf, versendet, angenommen, abgelehnt).
GET/angebote/:id/pdfAuth
Angebots-PDF herunterladen.

Auftraege

GET/ordersAuth
Alle Auftraege mit Status und Zeitraum-Filter.
POST/ordersAuth
Neuen Auftrag anlegen.
PATCH/orders/:idAuth
Auftrag aktualisieren.

Rechnungen

GET/rechnungenAuth
Alle Rechnungen mit Status-Filter.
POST/rechnungenAuth
Neue Rechnung erstellen (GoBD-konform, fortlaufende Nummer).
PATCH/rechnungen/:id/zahlungAuth
Zahlungseingang buchen.
POST/rechnungen/:id/stornierenAuth
Rechnung stornieren (GoBD: Original bleibt, Storno-Beleg wird erstellt).
GET/e-rechnung/:id/xrechnungAuth
XRechnung 3.0 (UBL 2.1) XML generieren.
GET/e-rechnung/:id/zugferdAuth
ZUGFeRD 2.2 (CII) XML generieren.

Personal (HR)

GET/hr/employeesAuth
Mitarbeiterliste mit Rollen, Status, Qualifikationen.
POST/hr/employeesAuth
Neuen Mitarbeiter anlegen.
GET/hr/zeiterfassungAuth
Zeiterfassungs-Eintraege mit Filtern.
POST/hr/krankmeldungAuth
Krankmeldung erfassen (mit optionaler AU-Datei).

Lager & Einkauf

GET/lagerAuth
Lagerbestand mit Suchfiltern.
POST/datanorm/uploadAuth
Datanorm v4/v5 Preisliste hochladen (Vorschau).
POST/datanorm/importAuth
Datanorm-Datei in Preiskatalog importieren.
POST/gaeb/vorschauAuth
GAEB DA XML 3.3 Vorschau (.x83/.x84/.x86).
POST/gaeb/importAuth
GAEB-Positionen importieren.
GET/gaeb/export/:idAuth
Angebot als GAEB X84 exportieren.

Mehrsprachigkeit (i18n)

GET/i18n/v2
Verfuegbare Sprachen und Sektionen. Kein Auth noetig.
GET/i18n/v2/:lang
Alle Uebersetzungen fuer eine Sprache (de, en, ru, ro, fa, ar). 420+ Keys.
GET/i18n/v2/:lang/:section
Uebersetzungen einer Sektion (common, nav, dashboard, leads, etc.).

Konto & DSGVO (EU Data Act)

GET/konto/infoAuth
Kontoinformationen, Plan, Firma.
GET/konto/daten-exportAuth
DSGVO Art. 20: Alle Daten als JSON exportieren (Datenportabilitaet).
DELETE/konto/loeschenAuth
DSGVO Art. 17: Konto und alle Daten unwiderruflich loeschen.
GET/konto/avv
Auftragsverarbeitungsvertrag (AVV) nach Art. 28 DSGVO.
GET/konto/impressum
Impressum nach DDG Paragraph 5.
GET/konto/widerrufsbelehrung
Widerrufsbelehrung fuer Fernabsatz.
GET/konto/audit-logAuth
Audit-Log der letzten 90 Tage.
GET/konto/security-info
Sicherheitsinformationen (NIS2/ISO27001).

Stripe Billing (SaaS)

POST/stripe/checkoutAuth
Stripe Checkout-Session erstellen fuer Plan-Upgrade.
GET/stripe/statusAuth
Aktueller Abo-Status, Plan, naechste Zahlung.
POST/stripe/cancelAuth
Abo kuendigen (zum Periodenende).
POST/stripe/reactivateAuth
Gekuendigtes Abo reaktivieren.

Webhook-Endpunkte

POST/webhook/lead
Lead-Webhook fuer externe Quellen (Facebook, Website-Formulare).
POST/webhook/stripe
Stripe Webhook (checkout.session.completed, invoice.paid etc.).

Fehler-Codes

CodeBedeutung
401Nicht authentifiziert — Token fehlt oder abgelaufen
403Keine Berechtigung — Rolle hat keinen Zugriff
404Ressource nicht gefunden
429Rate-Limit erreicht (max 200/15min)
500Server-Fehler

Rollen & Berechtigungen

RolleZugriff
admin / gfVollzugriff auf alle Module
managerVertrieb, Personal, Finanzen, Lager
buchhalterFinanzen, Rechnungen, Belege
dispatcherDisposition, Fuhrpark, Projekte
bauleiterBautagebuch, Qualitaet, Projekte
hrMitarbeiter, Zeiterfassung, Urlaub
lagermeisterLager, Bestellungen
aussendienstLeads, Angebote, Kalender
handwerkerEigene Aufgaben, Zeiterfassung, Krankmeldung