Symptome:
/api/wildcard/tickets.json liefert 404.api/.htaccess.Prüfung:
api/wildcard.php?RewriteRule ^wildcard/(.*)$ wildcard.php/$1 [L] in api/.htaccess?Options -MultiViews in api/.htaccess?mod_rewrite aktiv und wertet dein Webserver .htaccess aus?api/ und auf api/.htaccess?Lösung: Deaktiviere das Plugin und aktiviere es erneut, enable() kopiert die Datei neu und ergänzt die .htaccess. Die dabei gemeldeten Fehler (zum Beispiel Could not find osTicket API rewrite pattern) nennen die Ursache. Alternativ installierst du manuell (siehe Installation).
Der Endpoint kennt vier Meldungen. Sie erscheinen in der Sprache der osTicket-Oberfläche, im englischen Standard wie hier.
| Meldung | Ursache | Lösung |
|---|---|---|
Valid API key required |
Der Request enthält keinen Key. | Header X-API-Key mitsenden. |
API key not found or IP not authorized |
Der Key existiert nicht, oder seine IP ist weder 0.0.0.0 noch die Absender-IP. |
Key prüfen und die IP des Keys auf 0.0.0.0 setzen. |
API key not active |
Der Key ist deaktiviert. | Key im Admin Panel aktivieren. |
Source IP not authorized |
Die IP des Keys weicht von 0.0.0.0 und von der Absender-IP ab. |
IP des Keys prüfen. |
Prüfe außerdem, dass du /api/wildcard/tickets.json mit der Methode POST aufrufst und der Key das Recht Kann Tickets erstellen hat.
Routen anderer Plugins, die sich über das Signal api am Wildcard-Dispatcher registrieren, prüfen den Key selbst. Die Wildcard-Regel gilt dort nicht. Siehe Verwendung.
Ursache: Der Plugin-Ordner heißt nicht api-key-wildcard. wildcard.php lädt include/plugins/api-key-wildcard/api.wildcard.inc.php über diesen festen Pfad.
Lösung: Benenne den Ordner in api-key-wildcard um und aktiviere das Plugin erneut.
0.0.0.0 erzeugen einen Eintrag, Keys mit fester IP nicht.Das Update der Endpoint-Datei läuft nur, wenn installed_version leer oder niedriger als die Version in plugin.php ist. Wurden Dateien ohne Versionsänderung ausgetauscht, bleibt die alte api/wildcard.php bestehen.
Lösung: Deaktiviere und aktiviere das Plugin, enable() kopiert die Datei immer neu. Leere bei Bedarf den PHP-OPcache, damit geänderte Plugin-Dateien geladen werden.
Ändert das Plugin osTicket-Dateien?
Es ändert keine PHP-Dateien von osTicket. Es kopiert wildcard.php nach api/ und ergänzt api/.htaccess.
Kann ich beide Endpoints gleichzeitig nutzen?
Ja. Der Standard-Endpoint bleibt unverändert, der Wildcard-Endpoint kommt daneben.
Was passiert beim Deaktivieren?
api/wildcard.php wird gelöscht und die Wildcard-Regel sowie Options -MultiViews werden aus api/.htaccess entfernt.
Welche PHP-Versionen sind getestet?
Die CI prüft die Syntax mit PHP 7.4, 8.0, 8.1, 8.2 und 8.3.
Gibt es Tests für das Plugin?
Das Repository enthält keine Testsuite. Die CI prüft die Syntax aller PHP-Dateien, das Vorhandensein der Pflichtdateien, die Plugin-Metadaten (name und version in plugin.php), sucht in den PHP-Dateien nach eval( und base64_decode (Treffer lassen die CI fehlschlagen), prüft, dass README.md existiert, und prüft, dass CHANGELOG.md einen Abschnitt [Unreleased] enthält.