110 — Plattform-Admin (Superadmin)

Aktualisiert am 1. Juni 2026

110 — Plattform-Admin (Superadmin)

Der Superadmin-Bereich ist die Kontrollebene für Plattform-Betreiber — die Personen, die PartnerDesk für alle Tenants administrieren. Tenant-Admins haben darauf keinen Zugriff.

Wer hat Zugriff?

  • ROLE_PLATFORM_OWNER — vollständige Kontrolle, kann auch andere Plattform-User anlegen.
  • ROLE_PLATFORM_ADMIN — operativ, kein User-Management auf Plattform-Ebene.

Login unter admin.partnerdesk.io.

Hauptfunktionen

Tenant-Verwaltung

Übersicht aller Tenants mit:

  • Slug, Name, Tier, Status (active/suspended).
  • Aktuelle Subscription-Status (trialing/active/past_due/canceled).
  • Plattform-weite Stats: aktive Partner, Anzahl TX, Volumen.
  • Filter nach Status, Tier.
  • Volltextsuche.

Aktionen pro Tenant:

Aktion Effekt
Anzeigen Detail-View mit Stammdaten, Statistiken, Owner-User-Info
Tier ändern Plan-Wechsel (z. B. von Growth auf Pro)
Suspendieren Setzt is_active=false, alle Webhooks landen mit 403 — Tenant kann sich nicht mehr einloggen
Reaktivieren Aufhebung der Suspendierung
Owner-User-Daten Email, Last-Login

Bei Suspendierung wird ein Grund abgefragt und im Audit-Log gespeichert.

Tenant-Provisionierung

Neuer Tenant kann auch von hier aus manuell angelegt werden:

Plattform-Admin → „Tenants" → „Neu" → Wizard.

Vorteile gegenüber Self-Service-Signup:

  • Tier kann sofort festgelegt werden (statt mit Starter zu beginnen).
  • Owner-Email kann unabhängig vom Onboarding-Mail-Verfahren gesetzt werden.
  • Initiale Trial-Verlängerung möglich.

Webhook-Event-Log (Cross-Tenant)

Plattform-Admin sieht alle Webhooks aller Tenants:

  • Filter: Provider, Status, Tenant-Slug.
  • Pagination.
  • Detail-Modal mit vollständigem Payload.
  • Replay-Button bei failure/skipped-Events.

Sinnvoll für: Provider-Probleme debuggen, Support-Anfragen beantworten.

Audit-Log (Cross-Tenant)

Alle sicherheitsrelevanten Aktionen aller Tenants:

  • Login-Erfolge und -Fehlschläge.
  • Payout-Approvals.
  • Tenant-Provisionierungen und Suspendierungen.
  • Partner-Anonymisierungen.

Filter: Aktion, Actor-Type, Zeitraum.

Plus farbcodierte Actor-Badges (Plattform/Tenant/Partner/System) für schnelle Orientierung.

Failed-Messages

Gescheiterte Messenger-Jobs (z. B. Buchhaltungs-Sync, Notification-Versand):

  • Liste mit Klasse, Anzahl Versuche, letzter Error.
  • Detail-View mit Stack-Trace und Stamps.
  • „Retry" verschiebt die Message zurück in den Original-Transport.
  • „Verwerfen" löscht endgültig.

Details: 113 — Failed-Messages.

Broadcast

Plattform-weite Mail-Aussendung an Tenant-Owner:

POST /api/superadmin/broadcast
{ subject, body, targetTier?, targetStatus? }

Filtert nach Tier oder Subscription-Status. Versand in Chunks (50/Batch).

Sinnvoll für: Wartungsfenster-Ankündigungen, neue Feature-Hinweise.

Plattform-Statistiken

Globale KPIs für 4leads/PartnerDesk:

  • Anzahl aktiver Tenants pro Tier.
  • Gesamt-MRR (Monthly Recurring Revenue) aus Stripe-Subscriptions.
  • Plattform-weites TX-Volumen.
  • Top-Tenants nach Umsatz.

Sicherheits-Setup

Plattform-Admin-Accounts sollten:

  • Immer 2FA aktiviert haben.
  • Mit starkem Passwort versehen sein (12+ Zeichen, mit Sonderzeichen).
  • Im Audit-Log überwacht werden — verdächtige Login-Patterns prüfen.

CLI-Anlage:

app:platform-user:create <email> <password> ROLE_PLATFORM_OWNER

Es gibt kein Self-Signup für diese Rolle. Bewusst.

API-Docs

Plattform-Admin hat Zugriff auf /api/doc (in nicht-Production-Umgebungen) — Swagger-UI mit allen Endpoints, gefilterten nach Rolle.

Health-Endpoints

Plattform-Admin überwacht die Systemgesundheit:

  • /health/live — Liveness (immer 200 wenn Prozess läuft).
  • /health/ready — Readiness (DB + Cache Smoke-Test).

Beide werden von Cloud-Run / Docker-Compose Health-Check / Monitoring-Tools (z. B. Uptime Robot) abgefragt.

Details: 111 — Health-Endpoints.

Verwandte Kapitel


Technische Tiefen-Doku: ../021-superadmin-cicd.md, ../022-superadmin-frontend-health.md, ../024-phpstan-failed-messages.md, ../025-webhook-audit-log.md, ../099-tenant-lifecycle-events.md (Broadcast)