Deskwoot-Ereignisse an deine eigene URL, sobald sie passieren
Webhooks schicken Ereignisse aus Deskwoot an eine URL deiner Wahl, sobald sie passieren: eine neue Konversation, eine neue Nachricht, eine Zuweisung, eine gelöste Konversation, eine Kontaktänderung oder eine CSAT-Bewertung. Jedes kommt als JSON in einer signierten POST-Anfrage an, so reagieren deine eigenen Systeme auf Ereignisse, statt die API immer wieder nach Änderungen zu fragen.
Überblick
Deine Supportdaten müssen oft in ein anderes System: ein CRM, das jeden neuen Kontakt kennen soll, eine Datenbank, die gelöste Konversationen zählt, deine eigene Automatisierung, die läuft, wenn jemand einen Chat bewertet. Webhooks erledigen das ohne Code, der Deskwoot ständig nach Änderungen fragt. Deskwoot ruft deine URL auf, sobald etwas passiert.
Du wählst die Ereignisse für jeden Webhook: Konversation erstellt, aktualisiert, zugewiesen und gelöst, Nachricht erstellt, Kontakt erstellt und aktualisiert sowie CSAT abgegeben. Im Enterprise-Plan mit eingeschalteten Tickets kommen Ticket erstellt, aktualisiert, zugewiesen und gelöst dazu. Ein Webhook ohne angehaktes Ereignis bekommt alle Ereignisse außer den Ticket-Ereignissen, die nur an Webhooks gehen, die sie wählen. Für mehrere URLs legst du je einen Webhook mit eigenen Ereignissen an.
Jedes Ereignis ist eine POST-Anfrage mit einem JSON-Body aus event (dem Namen des Ereignisses), data (den Daten des Ereignisses, beschrieben in der API-Dokumentation), timestamp und accountId. Der Header X-Deskwoot-Event nennt das Ereignis, und X-Deskwoot-Signature trägt sha256= und den HMAC-SHA256 des unveränderten Bodys, signiert mit dem Secret des Webhooks.
Deskwoot sendet jedes Ereignis sofort, ohne Warteschlange. Dein Endpunkt hat 10 Sekunden Zeit, mit einem 2xx-Status zu antworten. Scheitert die Anfrage, kommt ein Fehler zurück oder dauert es länger, versucht Deskwoot es nach 5 Sekunden noch einmal, danach wird das Ereignis verworfen. Selten kommt ein Ereignis doppelt an. Der Body hat keine Ereignis-ID, aber eine Wiederholung ist eine genaue Kopie mit demselben timestamp. Nimm deshalb den Namen des Ereignisses, die ID des Objekts in data und den timestamp zusammen, um schon Verarbeitetes zu überspringen. Deskwoot sendet nur an öffentliche HTTPS-Adressen.
Ein Webhook schickt nur Daten aus Deskwoot hinaus. Um Kunden von deinem eigenen Server aus zu antworten, nutzt du einen Bot vom Typ Benutzerdefinierter Webhook unter Einstellungen → Bots (ab dem Startup-Plan). Um aus deinem eigenen Code Konversationen zuzuweisen, mit Labels zu versehen oder zu lösen oder Kontakte zu ändern, nutzt du die REST-API, die einen bezahlten Enterprise-Plan braucht. Webhooks gibt es ab dem Startup-Plan, auch in der Testphase von 7 Tagen. Im Free-Plan bleiben Webhooks, die du vorher angelegt hast, sichtbar, senden aber nichts, bis dein Plan wieder Webhooks enthält.
Das bekommst du mit der Webhooks-Integration
Ereignisse, sobald sie passieren
Neue Konversationen, Nachrichten, Zuweisungen, gelöste Konversationen, Kontaktänderungen und CSAT-Bewertungen erreichen deine URL sofort, ohne ständiges Abfragen.
Signiertes JSON
Jede Anfrage ist ein POST mit einem JSON-Body, dem Namen des Ereignisses in X-Deskwoot-Event und einer HMAC-SHA256-Signatur in X-Deskwoot-Signature.
Nur die Ereignisse, die du brauchst
Wähle die Ereignisse für jeden Webhook und schick verschiedene Ereignisse mit je einem Webhook an verschiedene URLs.
Pausieren, ohne zu löschen
Ein Schalter schaltet einen Webhook aus und wieder ein, und mit Bearbeiten änderst du seine URL oder seine Ereignisse.
So legst du los
Verbinde Webhooks in 3 Schritten.
- Öffne in Deskwoot Einstellungen → Webhooks und klick auf Webhook hinzufügen. Diese Seite sehen nur Administratoren.
- Gib unter Endpunkt-URL eine öffentliche HTTPS-Adresse ein und hake unter Ereignisse abonnieren die Ereignisse an, die du willst.
- Klick auf Webhook erstellen. Ab dann sendet Deskwoot bei jedem dieser Ereignisse eine POST-Anfrage an deine URL.
