API Endpoints: Konfiguration
osTicket-Plugin API Endpoints konfigurieren: Plugin-Einstellungen, Berechtigungen je API-Key und welcher Endpunkt zu welcher Berechtigung gehört, dazu Praxistipps.
API Endpoints: Konfiguration
Diese Dokumentation bezieht sich immer auf die aktuellste veröffentlichte Version.
Plugin-Einstellungen
Öffne Admin Panel → Verwalten → Plugins → API Endpoints und klicke auf Configure.
| Einstellung | Beschreibung | Standard |
|---|---|---|
| Enable API Endpoints | Steuert die beiden Routen, die das Plugin in der osTicket-API registriert: POST /api/tickets.json (erweiterte Erstellung) und PATCH/PUT /api/tickets/{number}.json (Update). Ist die Einstellung aus, verhalten sich diese Routen wie im osTicket-Core. Die eigenständigen Endpunkte /api/tickets-*.php sind davon nicht betroffen, ihr Zugriff wird nur über die API-Key-Berechtigungen gesteuert |
aktiviert |
| Require Markdown Plugin | Ist die Einstellung an, wird das Erstellen eines Tickets mit format=markdown mit 400 abgelehnt, solange das Plugin Markdown Support nicht aktiv ist. Ist sie aus, wird der Wert ohne diese Prüfung durchgereicht |
deaktiviert |
| Installed Version | Wird vom Plugin selbst gepflegt, nicht ändern | automatisch |
Unter den Einstellungen listet die Seite die verfügbaren Endpunkte mit ihren Berechtigungen und die Tabelle der API-Key-Berechtigungen auf.
API-Key-Berechtigungen
Das Plugin ergänzt die API-Key-Tabelle von osTicket um sechs Berechtigungsspalten. Sie sind alle standardmäßig deaktiviert. can_create_tickets ist die eigene Berechtigung von osTicket.
Berechtigungen setzen
- Öffne Admin Panel → Verwalten → Plugins → API Endpoints → Configure
- Suche im Abschnitt API Key Permissions den API-Key. Die Tabelle zeigt IP-Adresse, gekürzten Key, Status und Erstellungsdatum
- Klicke neben dem Key auf Manage Permissions und hake die Berechtigungen an
- Speichere die Einstellungsseite
Beim Speichern werden die Checkboxen aller aufgelisteten API-Keys in einem Zug übernommen.
Berechtigungen
| Berechtigung | Spalte | Schaltet frei |
|---|---|---|
| Create Tickets | can_create_tickets |
Die eigene Create-Berechtigung von osTicket. Die Route POST /api/tickets.json des Plugins prüft sie nicht selbst, siehe API-Dokumentation |
| Update Tickets | can_update_tickets |
PATCH/PUT /api/tickets-update.php/{number}.{format}, PATCH/PUT /api/tickets/{number}.{format} |
| Read Tickets | can_read_tickets |
GET /api/tickets-get.php/{number}.{format}, GET /api/tickets-attachment-download.php/{file_id}.{format}, außerdem die Endpunkte für Suche, Statistik und Statusliste |
| Search Tickets | can_search_tickets |
GET /api/tickets-search.php |
| Delete Tickets | can_delete_tickets |
DELETE /api/tickets-delete.php/{number}.{format} |
| Read Stats | can_read_stats |
GET /api/tickets-stats.php, GET /api/tickets-statuses.php |
| Manage Subtickets | can_manage_subtickets |
Die vier Endpunkte /api/tickets-subtickets-*.php, setzt das Plugin Subticket Manager voraus |
Die genauen Pfade und Parameter stehen auf der Seite API-Dokumentation.
can_read_ticketsist die einzige Berechtigung mit größerer Reichweite: Sie deckt auch Suche, Statistik und Statusliste ab. Jede andere Berechtigung der eigenständigen Endpunkte wird für sich geprüft, und ein fehlender oder deaktivierter Wert bedeutet verweigerten Zugriff. Es gibt keinen Fallback auf die eigene Create-Berechtigung von osTicket.
Bestehende API-Keys
Bestehende Keys erhalten nach der Installation keinen Zugriff auf die neuen Endpunkte, weil jede neue Berechtigung deaktiviert startet. Aktiviere die Berechtigungen, die jede Integration braucht.
Best Practices
- Aktiviere nur die Berechtigungen, die eine Integration braucht, zum Beispiel nur
can_read_statsfür ein Dashboard. - Nutze pro Integration einen eigenen API-Key.
can_delete_ticketsist standardmäßig deaktiviert. Oft ist einPATCHauf einen geschlossenen Status die bessere Wahl als das Löschen.- Willst du einen Key per IP-Adresse mit Wildcards einschränken, nutze das Plugin API Key Wildcard. Ist es installiert, nutzen die eigenständigen Endpunkte und die Update-Route dessen Key-Prüfung. Die Create-Route
POST /api/tickets.jsonruft sie nicht auf. - Rotiere Keys regelmäßig und deaktiviere Keys, die du nicht mehr brauchst.