API Endpoints
osTicket-Plugin, das die REST-API erweitert: Ticket-Erstellung mit Format und Abteilung, Update, Suche, Löschen, Statistik, Attachment-Download und Subtickets mit Berechtigungen je API-Key.
API Endpoints
Diese Dokumentation bezieht sich immer auf die aktuellste veröffentlichte Version.
Live Demo: Teste alle Plugins für OXID eShop, Shopware und osTicket von Markus Michalski live — ohne Installation, ohne Risiko. demo.markus-michalski.net
Überblick
Das Plugin erweitert die REST-API von osTicket. Du kannst Tickets mit Nachrichtenformat und Zielabteilung erstellen, Tickets aktualisieren und löschen, abrufen und suchen, Statistiken lesen, Anhänge herunterladen und Eltern-Kind-Beziehungen zwischen Tickets verwalten. Jeder API-Key bekommt eigene Berechtigungen.
Es eignet sich für Integrationen, die mehr brauchen, als die Standard-API von osTicket bietet, zum Beispiel Support-Portale, Bug-Tracker, Automatisierungsplattformen und Monitoring-Systeme.
graph LR
A["Client mit API-Key"] --> B["POST /api/tickets.json oder PATCH /api/tickets/:number.json"]
A --> C["Endpunkt-Dateien in /api/, zum Beispiel tickets-get.php"]
B --> D["Plugin-Routen über das Signal api"]
C --> E["ApiBootstrap"]
D --> F["ExtendedTicketApiController"]
E --> F
E --> G["SubticketApiController"]
F --> H["osTicket-Core"]
G --> H
H --> I["Antwort als JSON, XML oder Klartext"]
Dokumentation
| Seite | Inhalt |
|---|---|
| Installation | ZIP oder Git, Ordnername, Aktivieren, Apache- und NGINX-Konfiguration, Update und Entfernen |
| Konfiguration | Plugin-Einstellungen, API-Key-Berechtigungen, Best Practices |
| API-Dokumentation | Alle 12 Endpunkte mit Pfaden, Parametern, Statuscodes und Beispielen |
| Fehlerbehebung | Fehlermeldungen, bekannte Einschränkungen, FAQ |
| Technik | Architektur, Struktur, Datenbankspalten, Sicherheit, Tests |
Funktionen
| Funktion | Beschreibung |
|---|---|
| Erweiterte Ticket-Erstellung | format (text, html, markdown), departmentId per Name oder ID, parentTicketNumber |
| Ticket-Update | Status, Abteilung, Hilfethema, SLA, Mitarbeiter, Fälligkeitsdatum, Elternticket, interne Notiz mit Anhängen |
| Abrufen und Suchen | Einzelnes Ticket mit Thread und Anhang-Metadaten, Suche nach Betreff, Status und Abteilung mit Paginierung |
| Löschen | Endgültiges Löschen, standardmäßig deaktiviert |
| Statistik | Summen, je Abteilung, je Mitarbeiter, dazu die Liste der Status |
| Attachment-Download | Base64-Antwort mit Metadaten |
| Subtickets | Elternticket, Kinder, verknüpfen und lösen, setzt das Plugin Subticket Manager voraus |
| API-Key-Berechtigungen | Sieben Berechtigungen je API-Key: die sechs vom Plugin ergänzten Spalten plus die eigene Berechtigung can_create_tickets von osTicket, gesetzt auf der Plugin-Seite |
| Auflösung über Namen | Abteilung, Status, Hilfethema und SLA per Name statt ID, Mitarbeiter per ID, Benutzername oder E-Mail-Adresse |
| Formate | JSON oder XML bei Endpunkten mit Pfadparameter |
Das Plugin patcht keine osTicket-Core-Dateien.
Anforderungen
| Anforderung | Version | Hinweise |
|---|---|---|
| osTicket | 1.18.x | |
| PHP | 8.1 oder höher | |
| Webserver | Apache oder NGINX | Apache wird automatisch über .htaccess eingerichtet |
Optionale Plugins:
| Plugin | Zweck |
|---|---|
| Markdown Support | Darstellung von format=markdown |
| Subticket Manager | Nötig für die vier Subticket-Endpunkte |
| API Key Wildcard | Wildcard-IP-Prüfung für API-Keys. Ist es installiert, nutzen die eigenständigen Endpunkte und die Update-Route dessen Key-Prüfung. Die Create-Route POST /api/tickets.json ruft sie nicht auf |
Lizenz
Dieses Plugin wird unter der GNU General Public License v2 veröffentlicht, kompatibel mit osTicket Core. Details siehe LICENSE.
Support
Bei Fragen oder Problemen erstelle bitte ein Issue auf GitHub:
Issue Tracker: https://github.com/markus-michalski/osticket-api-endpoints/issues
Beim Melden von Problemen bitte angeben:
- osTicket-Version (Admin Panel → Einstellungen → Über)
- PHP-Version (
php -v) - Webserver (Apache oder NGINX)
- Request-Beispiel (cURL-Befehl)
- Antwort oder Fehlermeldung
Mitwirken
Entwickelt von Markus Michalski. Beiträge sind willkommen: Repository forken, Feature-Branch erstellen und Pull Request einreichen.
git clone https://github.com/markus-michalski/osticket-api-endpoints.git
cd osticket-api-endpoints
composer install
composer test