Webhook oder API?
- Webhooks schicken dir ein Ereignis, sobald es passiert, etwa ein neues oder geschlossenes Ticket. Ideal für Benachrichtigungen und Synchronisation.
- Die REST-API fragst du selbst ab, zum Beispiel für eine Ticketliste oder Statistiken auf deiner Website.
- Beides zusammen: Webhook als Signal, API für die vollständigen Daten eines Tickets.
Einrichten
Tarif Business oder Enterprise
API und Webhooks sind ab Business enthalten: bis zu 5 Schlüssel und 3 Webhooks, mit Enterprise 20 und 10.
Webhook anlegen
Im Dashboard unter „API & Webhooks“ trägst du eine HTTPS-Adresse ein und wählst die Ereignisse. Du erhältst ein Geheimnis für die Signaturprüfung.
Test senden
Mit „Testen“ kommt ein Ereignis vom Typ ping an. So prüfst du Erreichbarkeit und Signatur.
Ereignisse verarbeiten
Antworte innerhalb von 5 Sekunden mit einem Status 2xx und verarbeite länger dauernde Aufgaben im Hintergrund.
Verfügbare Ereignisse
- ticket.created und ticket.closed
- ticket.claimed und ticket.transferred
- ticket.status_changed und ticket.priority_changed
- ticket.transcript_created
Signatur prüfen
Jede Zustellung trägt den Header X-MeinTicketbot-Signature mit Zeitstempel und Signatur. Die Signatur ist HMAC-SHA256 über „Zeit.Rohdaten“ mit deinem Webhook-Geheimnis. Verwirf Nachrichten mit falscher Signatur oder einem Zeitstempel, der älter als fünf Minuten ist. Den vollständigen Beispielcode findest du in der Hilfe.
$body = file_get_contents('php://input');
[$t, $v1] = sscanf($_SERVER['HTTP_X_MEINTICKETBOT_SIGNATURE'], 't=%d,v1=%s');
$ok = hash_equals(hash_hmac('sha256', $t . '.' . $body, $secret), $v1) && abs(time() - $t) < 300;Zuverlässig empfangen
- Fehlgeschlagene Zustellungen werden mit wachsendem Abstand bis zu 6 Stunden wiederholt.
- Nach 10 Fehlern in Folge wird der Webhook pausiert und lässt sich im Dashboard wieder einschalten.
- Der Header X-MeinTicketbot-Delivery enthält eine eindeutige ID. Speichere sie, um doppelte Zustellungen zu erkennen.
Häufige Fragen
Kann ich über die API Tickets ändern?
Nein, die API ist nur lesend. Tickets bearbeitest du in Discord oder im Dashboard.
Wie viele Anfragen sind erlaubt?
120 Anfragen pro Minute und Schlüssel. Darüber antwortet die API mit Status 429.