trim($_POST['name']), 'key' => $created['key']]; audit_log($staff['id'], 'API-Schlüssel erstellt: ' . trim($_POST['name'])); redirect('/staff/api_keys.php'); } catch (AdminModelException $e) { $errors[] = $e->getMessage(); } } if ($action === 'toggle') { $pdo->prepare('UPDATE api_keys SET is_active = 1 - is_active WHERE id = ?')->execute([(int) $_POST['id']]); audit_log($staff['id'], 'API-Schlüssel umgeschaltet: #' . (int) $_POST['id']); redirect('/staff/api_keys.php'); } if ($action === 'delete') { $pdo->prepare('DELETE FROM api_keys WHERE id = ?')->execute([(int) $_POST['id']]); audit_log($staff['id'], 'API-Schlüssel gelöscht: #' . (int) $_POST['id']); flash('success', 'Schlüssel gelöscht. Systeme, die ihn nutzen, werden ab sofort abgewiesen.'); redirect('/staff/api_keys.php'); } } $keys = $pdo->query('SELECT k.*, s.name AS creator FROM api_keys k LEFT JOIN staff s ON s.id = k.created_by ORDER BY k.created_at DESC')->fetchAll(); $base = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' ? 'https://' : 'http://') . ($_SERVER['HTTP_HOST'] ?? 'ihre-domain.de'); $pageTitle = 'API-Schlüssel'; $activePage = 'api_keys'; require __DIR__ . '/_header.php'; ?>
Schlüssel „“ wurde erstellt. Kopiere ihn jetzt – aus Sicherheitsgründen wird er nie wieder angezeigt:

API-Schlüssel

Mit einem Schlüssel können Fremdsysteme (Website-Formular, Shop, Monitoring …) Tickets über die öffentliche API anlegen oder deren Status abfragen. Ereignisse an andere Systeme meldest du über Webhooks.

NameSchlüsselRechteErlaubte IPsStatusZuletzt genutztErstellt
… ' : '' ?>
·
Noch keine API-Schlüssel angelegt.

Neuen Schlüssel erstellen

So nutzt du die API

Ticket anlegen (JSON). Antwort: 201 mit der Ticketnummer. Höchstens 60 Tickets pro Minute.

Status abfragen:

Optionale Felder beim Anlegen: departmentId, priorityId, helpTopicId. Ticket-Regeln und SLA-Pläne gelten wie bei jedem anderen Ticket.