Integrationen und Schnittstellen

API-Schlüssel

Ein API-Schlüssel erlaubt einem anderen System, Tickets in DeskHub anzulegen oder zu lesen (Adminportal → API-Schlüssel, nur echte Administratoren).

API-Schlüssel mit Rechten und IP-Beschränkung.

Webhooks

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).

Webhooks mit Zustellstatus.
EreignisWann
ticket.createdNeues Ticket (Portal, E-Mail, Chat, Mitarbeiter oder API)
ticket.repliedAntwort oder interne Notiz (Feld author, bei Mitarbeitern auch internal)
ticket.status_changedStatus geändert (Feld previousStatus)
ticket.assignedZuweisung geändert

Die Ticket-API für Entwickler

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.

AufrufRechtZweck
POST /api/public/v1/tickets.phpTickets anlegenTicket 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=1Tickets anlegenÖffentliche Hilfethemen
GET …tickets.php?form=1&helpTopicId=3Tickets anlegenDas Formular eines Themas oder einer Abteilung (Felder, Texte, Anhangsgrenzen)
GET …tickets.php?number=T-1042&email=…Tickets lesenStatus 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.

WordPress-Plugin „DeskHub 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“).

Das Plugin wurde mit einem Nachbau der WordPress-Funktionen und gegen einen echten DeskHub-Server getestet, noch nicht in einer echten WordPress-Installation.

Minecraft-Plugin

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 liegtErkennungTicket
BungeeCord-Proxy (empfohlen)Prüft die Server von außen per Ping alle 30 Sekundennach 3 Fehlschlägen in Folge und wenn der Server länger als die Schonfrist (5 Minuten) fehlt
Spigot/PaperSchreibt Lebenszeichen und markiert normales Beendenbeim nächsten Start nach einem Absturz oder harten Ende
Auf der Seite „Apps“ steht das Minecraft-Plugin bereit, wenn es unter Einstellungen → Allgemein eingeblendet ist.