Ein API-Schlüssel erlaubt einem anderen System, Tickets in DeskHub anzulegen oder zu lesen (Adminportal → API-Schlüssel, nur echte Administratoren).
dh_ plus 48 Hexzeichen) nur einmal angezeigt – sofort notieren. In der Datenbank liegt nur eine Prüfsumme.Webhooks melden Ereignisse sofort an eine Adresse eures Systems (Adminportal → Webhooks): Name, URL und gewünschte Ereignisse wählen; das Secret zur Signaturprüfung legt ihr selbst fest oder lasst es erzeugen (es wird nur verschlüsselt gespeichert).
| Ereignis | Wann |
|---|---|
ticket.created | Neues Ticket (Portal, E-Mail, Chat, Mitarbeiter oder API) |
ticket.replied | Antwort oder interne Notiz (Feld author, bei Mitarbeitern auch internal) |
ticket.status_changed | Status geändert (Feld previousStatus) |
ticket.assigned | Zuweisung geändert |
POST mit JSON und den Headern X-DeskHub-Event und X-DeskHub-Signature (sha256= plus HMAC-SHA256 des rohen Körpers mit dem Secret). Gesendet werden nur Ticketdaten, nicht der Nachrichtentext.2xx antworten. Es gibt keine automatische Wiederholung. Nach 10 Fehlern in Folge wird der Webhook automatisch deaktiviert; Status, Fehlertext und Zeitpunkt stehen in der Liste.http:// und https://, aber keine internen Ziele (localhost, private Netze). Nutzt https://.Basis-Adresse: https://support.example.de/api/public/v1/tickets.php (Beispieladresse). Jeder Aufruf braucht einen Schlüssel im Header X-API-Key oder Authorization: Bearer. Anfragen und Antworten sind JSON.
| Aufruf | Recht | Zweck |
|---|---|---|
POST /api/public/v1/tickets.php | Tickets anlegen | Ticket anlegen mit name, email, subject, message und optional helpTopicId, departmentId, priorityId, fields (Formularfelder) und attachments (bis 5 Dateien, Base64). Antwort 201 mit {"number":"T-1042","status":"open"} |
GET …tickets.php?topics=1 | Tickets anlegen | Öffentliche Hilfethemen |
GET …tickets.php?form=1&helpTopicId=3 | Tickets anlegen | Das Formular eines Themas oder einer Abteilung (Felder, Texte, Anhangsgrenzen) |
GET …tickets.php?number=T-1042&email=… | Tickets lesen | Status und öffentliche Nachrichten (nie interne Notizen); falsche E-Mail ergibt 404 |
Fehler haben immer die Form {"error":{"code":"INVALID_EMAIL","message":"…"}}. Wichtige Codes: UNAUTHENTICATED (401), IP_NOT_ALLOWED (401), FORBIDDEN (403), BANNED/REJECTED (403), NOT_FOUND (404), TOO_LARGE (413), INVALID_* (422), RATE_LIMITED (429), NO_DEPARTMENT (503). Das Anlegen hat keine Wiederholungssicherung: Zweimal gesendet ergibt zwei Tickets.
Besucher einer WordPress-Seite legen damit Tickets in DeskHub an ([deskhub_ticket]) und fragen den Stand ab ([deskhub_status]). Das Plugin nutzt die öffentliche Ticket-API und braucht nur einen API-Schlüssel (Recht „Tickets anlegen“, für die Statusabfrage zusätzlich „Tickets lesen“).
wp-config.php), nie im Browser.Eine Jar für Spigot, Paper und BungeeCord, die in DeskHub automatisch ein Ticket anlegt, wenn ein Minecraft-Server offline geht – und es nach der Rückkehr als gelöst markiert.
| Wo es liegt | Erkennung | Ticket |
|---|---|---|
| BungeeCord-Proxy (empfohlen) | Prüft die Server von außen per Ping alle 30 Sekunden | nach 3 Fehlschlägen in Folge und wenn der Server länger als die Schonfrist (5 Minuten) fehlt |
| Spigot/Paper | Schreibt Lebenszeichen und markiert normales Beenden | beim nächsten Start nach einem Absturz oder harten Ende |
plugins; config.yml ausfüllen (url, api-key, requester-email, optional Abteilung und Priorität); /deskhubmc reload; mit /deskhubmc test ein Testticket anlegen./deskhubmc test, /deskhubmc status, /deskhubmc reload (Alias /dhmc, Recht deskhubmc.admin).{server}, {time}, {downtime} u. a.).