Basis · jeder Tarif
Eingehende Webhooks in Enclessa geben einem Kanal einen Endpunkt, in den jedes System posten kann, das JSON senden kann: Monitoring, CI, ein Deployment-Skript, ein Formular auf Ihrer eigenen Website. Beim Anlegen wird ein Bot-Konto eingerichtet und dem Raum hinzugefügt, sodass der Beitrag einen echten Autor hat und das Berechtigungsmodell des Kanals selbst entscheidet, ob er erlaubt ist. Die Nutzlast hat die Form, die Slack etabliert hat, sodass die meisten Werkzeuge, die schon mit Slack sprechen, nur eine neue URL brauchen und sonst nichts.
Aktualisiert
- Angelegt von
- Allen, die den Kanal verwalten dürfen
- Zugangsdaten
- Ein Bearer-Geheimnis, einmal angezeigt, im Header gesendet
- Nutzlast
- Slack-förmig: Text, Benutzername, Icon, Anhänge
- Autor
- Ein Bot-Konto, das mit dem Hook eingerichtet wird
- Raumtyp
- Nur verwaltete Räume
- Größengrenze
- 8 KiB, gekürzt statt abgelehnt
Wie lege ich einen eingehenden Webhook an?
Im Kanal, sofern Sie diesen Kanal verwalten dürfen. Beim Anlegen erhalten Sie eine URL und ein Geheimnis, und das Geheimnis wird genau einmal angezeigt. Die Zugangsdaten reisen in einem Authorization-Header statt in der URL, weil eine URL mit Zugangsdaten in jedem Proxy-Zugriffsprotokoll zwischen Aufrufer und uns landet.
- Erfordert die Berechtigung, genau diesen Kanal zu verwalten, und nichts darüber hinaus
- Das Geheimnis wird einmal angezeigt und nur als Hash gespeichert
- Als Bearer-Token im Header gesendet, nie als Query-String
- Ein unbekannter Hook, ein widerrufener Hook und ein falsches Geheimnis antworten alle mit demselben 404
- Wer einen Hook widerruft, deaktiviert den Bot dahinter
Was darf die Nutzlast enthalten?
Nachrichtentext, einen Anzeigenamen, der den des Bots überschreibt, ein Icon und Anhänge mit Titel, Link, Fließtext, Feldern und Fußzeile. Anhänge werden beim Eingang zu reinem Text zusammengeführt — der Titel in einer Zeile, seine URL in der nächsten, damit die Linkerkennung sie aufgreift, Felder als Name und Wert —, weil die Nachrichtenanzeige zeigt, was sie bekommt, statt Markup zu interpretieren, das sie nicht selbst geschrieben hat.
- text, username, icon und attachments, in der Form, die Slack etabliert hat
- Ein Hook kann für mehrere Systeme sprechen, indem er pro Beitrag einen anderen Benutzernamen setzt
- Der Raum zeigt neben dem Namen ein Webhook-Abzeichen, damit ihn niemand für eine Person hält
- Anhänge werden zu lesbarem Text statt als rohes Markup anzukommen
- Ein Beitrag über 8 KiB wird gekürzt, weil ein Alarm um drei Uhr nachts nicht an einem 422 verloren gehen darf
Warum braucht ein Webhook ein Bot-Konto?
Weil die Alternative eine zweite, schwächere Vorstellung davon wäre, wer eine Nachricht geschrieben hat. Die Beiträge eines Hooks stammen von einem echten Konto, das echtes Mitglied des Raums ist. Damit entscheidet das gewöhnliche Berechtigungsmodell, ob der Beitrag erlaubt ist, der gewöhnliche Audit-Pfad erfasst ihn, und den Bot aus dem Raum zu entfernen bewirkt genau das, was das Entfernen einer beliebigen Person aus einem Raum bewirkt.
- Der Autor ist ein Konto, kein Sonderfall in der Nachrichtentabelle
- Die Berechtigungen des Kanals regeln den Hook, ohne dass daneben etwas angeschraubt ist
- Bot-Konten zählen nicht als abrechenbare Plätze
- Wird der Bot deaktiviert, stoppt der Hook beim nächsten Aufruf
Welche Ratengrenzen gelten?
Ratengrenzen gelten pro Organisation über Klassen von Anfragen hinweg statt pro Endpunkt, und sie wachsen mit der Zahl der Plätze. Jede Ablehnung trägt die Header, die ein gut erzogener Client braucht, um richtig zurückzuweichen — ein System, das sie beachtet, braucht also keine Aufsicht.
- Budgets pro Organisation, skaliert nach Plätzen, mit einer Obergrenze pro Mitglied
- Ein 429 trägt RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset und Retry-After
- Eine leere Nutzlast wird mit 422 abgelehnt, statt eine leere Nachricht zu posten
Was es nicht leistet
Hier gesagt, statt erst nach der Anmeldung entdeckt.
- Nur verwaltete Räume. Ein Ende-zu-Ende-verschlüsselter Raum hat keinen serverseitigen Schlüssel, also kann der Server darin keine Nachricht verfassen — das ist der Sinn des Raums, keine Lücke.
- Nur eingehend. Es gibt keine ausgehenden Webhooks: Nichts überträgt Enclessa-Ereignisse an einen Endpunkt von Ihnen.
- Ein Webhook postet. Er kann keinen Verlauf lesen, keine Mitglieder auflisten, nicht reagieren und keinen Thread öffnen — dafür gibt es ein Bot-Konto mit einem Token begrenzten Umfangs.
- Anhänge werden als reiner Text dargestellt. Es gibt keine interaktiven Schaltflächen, Menüs oder Formulare in einer Nachricht.
- Das Geheimnis ist ein Bearer-Token, keine HMAC-Signatur über den Inhalt. Behandeln Sie URL und Geheimnis zusammen als Zugangsdaten.
Verwandte Seiten
Fragen
- Ja. Wer einen Kanal verwalten darf, kann dafür einen eingehenden Webhook anlegen und erhält eine URL und ein Bearer-Geheimnis, die jedes System nutzen kann, das JSON posten kann. Das Nutzlastformat folgt der Form von Slack, sodass die meisten bestehenden Integrationen nur eine neue URL brauchen.
- In den meisten Fällen ja. Enclessa akzeptiert die Slack-förmige Nutzlast — Text, Benutzername, Icon und Anhänge —, sodass ein Werkzeug, das schon in Slack postet, meist eine neue URL und einen Header mit dem Geheimnis braucht. Interaktive Komponenten werden nicht unterstützt, weil Enclessa-Nachrichten keine Schaltflächen oder Menüs haben.
- Nein. Ende-zu-Ende-verschlüsselte Räume halten keinen serverseitigen Schlüssel, also kann der Server darin keine Nachricht verfassen. Webhooks funktionieren in verwalteten Räumen, in denen der Server Nachrichteninhalte lesen und schreiben kann.
- Sie wird auf 8 KiB gekürzt und gepostet statt abgelehnt. Ein Monitoring-System, das mitten in der Nacht ein 422 erhält, hat den Alarm verloren — und das ist schlimmer als eine gekürzte Nachricht.
- Nein. Webhooks sind nur eingehend — Systeme posten in Enclessa hinein. Nichts überträgt Enclessa-Ereignisse an einen Endpunkt, den Sie betreiben, und eigene Slash-Befehle sind der einzige ausgehende HTTP-Aufruf, den die Plattform macht.
Legen Sie in ein paar Minuten einen Workspace an. Er gehört Ihnen, erreichbar unter your-team.enclessa.app, betrieben in der Europäischen Union, mit Ende-zu-Ende-verschlüsselten Direktnachrichten ab der ersten.