Externe Panels

Externe Tools und APIs direkt in Admin-Seiten einbetten — ohne den Back-Office-Bereich zu verlassen.

Zuletzt aktualisiert: 2026-04-27

Externe Panels

Mit externen Panels betten Sie beliebige externe Webseiten oder API-Daten direkt in Admin-Seiten ein — in der Produktbearbeitung, der Bestelldetailansicht, der Kundendetailansicht und dem Dashboard. Konfiguration erfolgt einmalig zentral; die Panels erscheinen danach automatisch auf den Zielseiten.

Panels verwalten

  1. Öffnen Sie Einstellungen → Externe Panels im Admin-Bereich (direkte URL: /admin/settings/external-panels).
  2. Die Liste zeigt alle angelegten Panels mit Zielseite, Modus und Status.
  3. Die Kopfzeile zeigt den aktuellen Zähler (z. B. 3 / 25) — maximal 25 Panels pro Mandant.

Panel anlegen

  1. Klicken Sie auf Panel hinzufügen oben rechts.
    Der Button ist deaktiviert, sobald das Limit von 25 erreicht ist.
  2. Füllen Sie das Formular aus (→ Felder im Überblick).
  3. Klicken Sie auf Speichern — das Panel erscheint sofort in der Liste.

Panel bearbeiten

  1. Klicken Sie in der Zeile auf das Bearbeiten-Symbol (Stift).
  2. Das Formular öffnet sich mit allen gespeicherten Werten.
  3. Nehmen Sie Änderungen vor und klicken Sie auf Speichern.

Panel aktivieren / deaktivieren

Schalten Sie den Aktiv-Toggle in der Zeile um — die Änderung wirkt sofort beim nächsten Laden der Zielseite.

Panel löschen

  1. Klicken Sie auf das Löschen-Symbol in der Zeile.
  2. Bestätigen Sie den Dialog — das Panel wird dauerhaft entfernt.

Felder im Überblick

Das Panel-Formular enthält folgende Einstellungen:

FeldPflichtStandardBeschreibung
NameJaBezeichnung im Panel-Header der Zielseite
ZielseiteJaProduktbearbeitung, Bestelldetail, Kundendetail oder Dashboard
ModusJaIframe oder API + Template
URLJaExterne URL; unterstützt {{variablen}}
API-SchlüsselNeinWird verschlüsselt gespeichert; im Bearbeitungsmodus als ••• (unchanged) angezeigt
API-Schlüssel-HeaderNeinAuthorizationHTTP-Header, über den der Schlüssel gesendet wird (z. B. X-Api-Key)
HTML-TemplateNur API + TemplateHTML mit {{response.feldname}}-Tokens
PositionNeinsidebarsidebar (rechte Spalte) oder main (linke/volle Spalte)
HöheNein400pxBeliebiger CSS-Wert, z. B. 600px oder 50vh
AnzeigereihenfolgeNein0Niedrigere Zahl = weiter oben; mehrere Panels auf derselben Seite werden aufsteigend sortiert
AktivJaDeaktiviertes Panel erscheint nicht auf der Zielseite

Hinweis zum API-Schlüssel: Lassen Sie das Feld beim Bearbeiten leer (steht auf ••• (unchanged)), um den gespeicherten Schlüssel zu behalten. Geben Sie einen neuen Wert ein, um ihn zu ersetzen.


Variablen in URLs

Panels können kontextsensitive Daten in ihre URL oder ihr Template einfügen. Sobald Sie eine Zielseite gewählt haben, erscheinen unter dem URL-Feld farbige Variablen-Chips.

Variablen einfügen

  1. Setzen Sie den Cursor an die gewünschte Stelle im URL-Feld.
  2. Bewegen Sie die Maus über einen Chip — ein Tooltip erklärt, was die Variable enthält.
  3. Klicken Sie den Chip an — {{variablenname}} wird an der Cursorposition eingefügt.
  4. Beim Laden der Zielseite ersetzt das System jeden Token durch den echten Wert des angezeigten Datensatzes.

Verfügbare Variablen nach Zielseite

ZielseiteVerfügbare Variablen
Produktbearbeitungsku, productId, productName, productSlug, categoryName, price, stockStatus
BestelldetailorderId, orderNumber, customerEmail, customerName, orderTotal, orderStatus, paymentMethod
KundendetailcustomerId, customerEmail, customerName, customerPhone
DashboardtenantId, tenantDomain

Fehlende Variablen: Hat ein Datensatz keinen Wert für eine Variable (z. B. ein Produkt ohne SKU), wird der Token durch einen Leerstring ersetzt. Ein gelber Hinweisbalken im Panel listet auf, welche Variablen nicht belegt waren.

Sicherheit: Der Token {{api_key}} wird nie an den Browser übertragen. Bei Iframe-Panels löst der Server die URL auf und sendet einen Weiterleitungs-Response — der Schlüssel ist im Browser-Netzwerk-Tab nicht sichtbar. Leerzeichen innerhalb der geschweiften Klammern sind zulässig: {{ sku }} funktioniert genauso wie {{sku}}.


Iframe-Panels

Im Modus Iframe wird eine externe Webseite direkt als sandboxierter Rahmen in die Admin-Seite eingebettet.

Panel einrichten

  1. Erstellen Sie ein Panel mit Modus Iframe und geben Sie die URL ein (mit optionalen {{variablen}}).
  2. Öffnen Sie die Zielseite — das Panel erscheint als aufklappbare Karte unterhalb des Hauptinhalts.

Bedienung auf der Zielseite

  • Klicken Sie auf den Panel-Header oder das Chevron-Symbol, um das Panel ein- oder auszuklappen.
  • Während das Iframe lädt, wird ein Lade-Platzhalter angezeigt.
  • Antwortet der externe Dienst nicht innerhalb von 10 Sekunden, erscheint eine Timeout-Meldung mit zwei Optionen:
    • Erneut versuchen — lädt das Iframe neu.
    • In neuem Tab öffnen — öffnet die URL im Browser-Tab.

Einschränkungen

  • Iframes laufen im Sandbox-Modus (allow-scripts allow-same-origin allow-forms) — Pop-ups und Top-Level-Navigation sind blockiert.
  • Ist der externe Dienst nicht erreichbar, erscheint die Timeout-UI nach 10 Sekunden.

API + Template-Panels

Im Modus API + Template ruft der Server die externe API ab und rendert eine benutzerdefinierte HTML-Vorlage mit den Antwortdaten. API-Zugangsdaten verlassen den Server nie.

Panel einrichten

  1. Erstellen Sie ein Panel mit Modus API + Template.
  2. Geben Sie die API-URL ein (mit optionalen {{variablen}}).
  3. Tragen Sie falls nötig den API-Schlüssel ein.
  4. Schreiben Sie im Feld HTML-Template Ihren Inhalt. Verwenden Sie {{response.feldname}} für Werte aus der JSON-Antwort der API:
    • Einfaches Feld: {{response.status}}
    • Verschachteltes Feld: {{response.data.total}}
  5. Öffnen Sie die Zielseite — das Panel ruft die Daten serverseitig ab, befüllt das Template und zeigt das Ergebnis an.

Verhalten bei Fehlern

SituationAnzeige
Anfrage dauert länger als 8 SekundenTimeout-Meldung + Schaltfläche „Erneut versuchen"
Externe API gibt Fehler zurückHTTP-Statuscode + Fehlermeldung + Schaltfläche „Erneut versuchen"
Rate-Limit erreichtSpezifische Meldung; kein automatischer Wiederholungsversuch

Einschränkungen

  • Script-Tags im Template werden automatisch entfernt (DOMPurify-Bereinigung).
  • API-Antworten sind auf 1 MB begrenzt.
  • Rate-Limit: 30 Anfragen pro Minute pro Mandant, über alle API + Template-Panels hinweg.

Panels auf Admin-Seiten

Aktive Panels erscheinen automatisch auf ihrer jeweiligen Zielseite — keine seitenspezifische Konfiguration notwendig.

Produktbearbeitung

Öffnen Sie ein beliebiges Produkt unter /admin/products/[id] — alle aktiven Panels für "Produktbearbeitung" werden unterhalb des Editors eingeblendet, mit den Produktdaten des geöffneten Datensatzes.

Bestelldetail

Panels mit Position = Sidebar erscheinen in der rechten Spalte (unterhalb der Zeitleiste). Panels mit Position = Main erscheinen in der linken Spalte (unterhalb des Download-Bereichs). Mehrere Panels werden in der festgelegten Anzeigereihenfolge gestapelt.

Kundendetail

Panels erscheinen nur bei registrierten Kunden — nicht bei Gastbestellungen.

Dashboard

Das Dashboard stellt tenantId und tenantDomain als Kontext bereit. Panels erscheinen unterhalb der KPI-Karten.

Panels deaktivieren

Deaktivieren Sie ein Panel unter Einstellungen → Externe Panels — es verschwindet beim nächsten Laden der Zielseite.


Berechtigungen & Grenzen

GrenzeWert
Maximale Panels pro Mandant25
Iframe-Timeout10 Sekunden
API-Timeout (API + Template)8 Sekunden
Maximale API-Antwortgröße1 MB
Rate-Limit (API + Template)30 Anfragen / Minute / Mandant
  • Panels sind nur für Nutzer mit der Berechtigung settings:read sichtbar.
  • Schlägt ein Panel fehl (Komponentenfehler), sind andere Panels auf derselben Seite davon nicht betroffen — jedes Panel ist isoliert.

Nächste Schritte