Hilfe › Ormio Support › OrmioSupport
OrmioSupport: Webhooks
Ereignisse an Zapier, Make, n8n, Slack oder dein eigenes Skript melden (Pro).
Was Webhooks tun
Mit einem Webhook ruft OrmioSupport eine Adresse deiner Wahl auf, wenn mit einem Ticket etwas passiert. Damit hängst du Zapier, Make, n8n, eine Slack-Brücke oder ein eigenes Skript an, etwa: Nachricht in Slack bei einem überfälligen Ticket, Eintrag in eine Tabelle bei einem neuen Ticket, ein KlickTipp-Tag bei 5 Sternen. Webhooks gehören zu Pro.
Einrichten
: Name, Adresse (https://…), die Ereignisse und auf Wunsch ein Projekt. Das Geheimnis erscheint nach dem Hinzufügen einmal. „Test senden“ schickt einen Ping, das Ergebnis steht in der Spalte „Letzter Aufruf“.
Die Ereignisse
ticket.created: ein Ticket wurde angelegtmessage.customer: der Kunde hat geschriebenmessage.agent: ein Mitarbeiter hat geantwortet (interne Notizen werden nie gesendet)ticket.status_changed: der Status hat sich geändertticket.assigned: ein Ticket wurde zugewiesenrating.received: ein Kunde hat bewertetsla.overdue: eine Antwort ist überfällig
Die Nachricht
Ein POST mit JSON: event, delivered_at, ticket (Nummer, Betreff, Status, Priorität, Projekt, Abteilung, Zuständiger, Kunde mit Name und E-Mail, Tags, Link) und extra (je nach Ereignis, zum Beispiel ein Textauszug oder der neue Status). Die Header sind X-OrmioSupport-Event, X-OrmioSupport-Delivery und X-OrmioSupport-Signature.
Die Signatur prüfen
Der Header hat die Form t=<Unix-Zeit>,v1=<Signatur>. Die Signatur ist HMAC-SHA256(Geheimnis, "<Unix-Zeit>.<Inhalt>") als Hex-Text. Prüfe sie, bevor du dem Aufruf traust, und lehne zu alte Zeiten ab (zum Beispiel älter als 5 Minuten):
$header = $_SERVER['HTTP_X_ORMIOSUPPORT_SIGNATURE'];
preg_match('/t=(\d+),v1=([a-f0-9]+)/', $header, $m);
$body = file_get_contents('php://input');
$expected = hash_hmac('sha256', $m[1] . '.' . $body, $secret);
$ok = hash_equals($expected, $m[2]) && abs(time() - (int) $m[1]) < 300;
Wenn die Gegenseite nicht antwortet
Antwortet die Adresse nicht mit einem Erfolgscode (2xx), wird der Aufruf nach 1, 4, 9 und 16 Minuten wiederholt. Gibt die Gegenseite danach nicht auf, steht der Aufruf unter den fehlgeschlagenen Aufgaben im Dashboard. Die Adresse muss mit https:// beginnen und von außen erreichbar sein; Adressen im Netzwerk deines Servers werden nicht aufgerufen.
