1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
Externe Anwendungen mit kChat verbinden
Dieser Leitfaden ermöglicht es Ihnen, externe Anwendungen mit kChat mithilfe von Webhooks zu verwalten.
Einleitung
- Ein Webhook ist eine Methode, die es einer Anwendung ermöglicht, sofort benachrichtigt zu werden, wenn ein bestimmtes Ereignis in einer anderen Anwendung eintritt, anstatt ständig zu fragen, ob etwas Neues passiert ist (bekannt als "Polling").
- Es ist nicht möglich, den Chatverlauf aus einer anderen Anwendung (Slack, Teams, Jabber usw.) oder aus einer anderen Organisation zu importieren.
- Ausgehender Webhook: kChat kommuniziert Informationen an andere Apps, wenn in kChat ein Ereignis eintritt.
- Eingehender Webhook: kChat erhält Informationen von anderen Apps, um Aktionen in kChat auszulösen.
Zugriff auf die kChat-Webhooks-Oberfläche
Voraussetzungen
- Sie dürfen kein externer Benutzer sein (dieser sieht das Integrationen-Menü nicht).
Um einen Webhook zu konfigurieren, finden Sie Anwendungen und selbst gehostete oder Drittanbieter-Integrationen:
- Öffnen Sie die kChat-App (auf Ihrem Gerät oder über einen Browser unter der URL kchat.infomaniak.com).
- Klicken Sie auf den Chevron neben dem Namen Ihrer kChat-Organisation.
- Klicken Sie auf Integrationen
- Greifen Sie auf die Kategorien zu:
Integrationsbeispiel
Erstellen Sie einen einfachen eingehenden Webhook
Dazu:
- Klicken Sie auf die Kategorie Eingehende Webhooks.
- Klicken Sie auf die blaue Schaltfläche Eingehende Webhooks hinzufügen
- Fügen Sie einen Namen und eine Beschreibung (max. 500 Zeichen) für den Webhook hinzu.
- Wählen Sie den Kanal aus, der die Nachrichten erhalten soll.
- Speichern Sie, um die URL zu erhalten (nicht öffentlich bekannt geben) vom Typ:
https://your-kchat-server.xyz/hooks/xxx-generierte-schlüssel-xxx
Verwendung des Webhooks
In der Anwendung, die auf kChat posten soll:
Passen Sie den folgenden Code entsprechend der erhaltenen URL an:
POST /hooks/xxx-generierte-schlüssel-xxx HTTP/1.1 Host: your-kchat-server.xyz Content-Type: application/json Content-Length: 63 { "text": "Hallo, dies ist ein Text\nDies ist ein weiterer Text." }
- Optional können Sie die gleiche Anfrage, jedoch in curl verwenden (um von einem Terminal unter macOS zu testen, zum Beispiel):
curl -i -X POST -H 'Content-Type: application/json' -d '{"text": "Hallo, dies ist ein Text\nDies ist ein weiterer Text."}' https://your-kchat-server.xyz/hooks/xxx-generierte-schlüssel-xxx
Wenn kein Content-Type-Header festgelegt ist, muss der Body der Anfrage mit payload= wie folgt vorangestellt werden:
payload={"text": "Hallo, dies ist ein Text\nDies ist ein weiterer Text."}
Eine erfolgreiche Anfrage erhält die folgende Antwort:
HTTP/1.1 200 OK
Content-Type: application/json
X-Version-Id: 4.7.1.dev.12799dvd77e172e8a2eba0f4041ec1471.false
Date: Sun, 01 Jun 2023 17:00:00 GMT
Content-Length: 58
{
"id":"x",
"create_at":1713198308869,
"update_at":1713198308869,
"delete_at":0,
"user_id":"x",
"channel_id":"x",
"root_id":"",
"original_id":"",
"participants":null,
"message":"test",
"type":"",
"props":{
"override_username":"webhook",
"override_icon_url":null,
"override_icon_emoji":null,
"webhook_display_name":"test",
"attachments":[
],
"card":null,
"from_webhook":"true"
},
"hashtags":null,
"metadata":{
"embeds":[
{
"type":"message_attachment"
}
],
"files":[
],
"reactions":[
]
},
"file_ids":null,
"has_reactions":false,
"edit_at":0,
"is_pinned":false,
"remote_id":null,
"reply_count":0,
"pending_post_id":null,
"is_following":false
}
Wenn Sie dasselbe Antwortformat wie Slack haben möchten:
HTTP/1.1 200 OK
Content-Type: text/plain
X-Request-Id: hoan69ws7rp5xj7wu9rmystry
X-Version-Id: 4.7.1.dev.12799dvd77e172e8a2eba0f4041ec1471.false
Date: Sun, 01 Jun 2023 17:00:00 GMT
Content-Length: 2
ok
müssen Sie ?slack_return_format=true
an die URL des Webhooks anhängen.
Parameter
Zusätzlich zum text
-Feld finden Sie hier die vollständige Liste der unterstützten Parameter:
Parameter | Beschreibung | Erforderlich |
---|---|---|
text | Nachricht im Markdown-Format, die in der Veröffentlichung angezeigt wird. Um Benachrichtigungen auszulösen, verwenden Sie @<Benutzername> , @channel und @here wie Sie es in anderen kChat-Nachrichten tun würden. | Wenn attachments nicht definiert ist, ja |
channel | Ersetzt den Kanal, in dem die Nachricht gepostet wird. Verwenden Sie den Kanalnamen, nicht den Anzeigenamen, z. B. town-square , nicht Stadtplatz .Verwenden Sie "@" gefolgt von einem Benutzernamen, um eine Direktnachricht zu senden. Standardmäßig wird der Kanal verwendet, der beim Erstellen des Webhooks festgelegt wurde. Der Webhook kann in jedem öffentlichen und privaten Kanal posten, in dem der Ersteller des Webhooks vorhanden ist. Beiträge in Direktnachrichten erscheinen in der Direktnachricht zwischen dem betroffenen Benutzer und dem Ersteller des Webhooks. | Nein |
username | Ersetzt den Benutzernamen, unter dem die Nachricht gepostet wird. Standardmäßig wird der Benutzername verwendet, der beim Erstellen des Webhooks festgelegt wurde; wenn kein Benutzername beim Erstellen festgelegt wurde, wird webhook verwendet.Der Konfigurationsparameter Erlaube Integrationen, Benutzernamen zu überschreiben muss aktiviert sein, damit die Überschreibung des Benutzernamens wirksam wird. | Nein |
icon_url | Ersetzt das Profilbild, mit dem die Nachricht gepostet wird. Standardmäßig wird die URL verwendet, die beim Erstellen des Webhooks festgelegt wurde; wenn beim Erstellen kein Symbol festgelegt wurde, wird das Standard-Webhooksymbol () angezeigt. Der Konfigurationsparameter Erlaube Integrationen, Profilfoto-Symbole zu überschreiben muss aktiviert sein, damit die Überschreibung des Symbols wirksam wird. | Nein |
icon_emoji | Ersetzt das Profilbild und den icon_url -Parameter.Standardmäßig wird bei der Erstellung des Webhooks nichts festgelegt. Der erwartete Wert ist der Name eines Emojis, wie er in einer Nachricht eingegeben wird, mit oder ohne Doppelpunkte ( : ).Der Konfigurationsparameter Erlaube Integrationen, Profilfoto-Symbole zu überschreiben muss aktiviert sein, damit die Überschreibung wirksam wird. | Nein |
attachments | Anhänge an der Nachricht, die für reichhaltigere Formatierungsoptionen verwendet werden. | Wenn text nicht definiert ist, ja |
type | Definiert den type der Veröffentlichung, hauptsächlich zur Verwendung durch Plugins.Wenn nicht leer, muss es mit " custom_ " beginnen. | Nein |
Codebeispiel mit Parametern
So generieren Sie eine umfassendere Nachricht mit Parametern, von denen einige Parameter überschreiben können, die bereits beim Erstellen des Webhooks festgelegt wurden (Benutzername, bevorzugter Kanal, Avatar...), wie in der obigen Tabelle angegeben:
POST /hooks/xxx-generierte-schlüssel-xxx HTTP/1.1
Host: your-kchat-server.xyz
Content-Type: application/json
Content-Length: 630
{
"channel": "kchatemp",
"username": "test-automation",
"icon_url": "https://domain.xyz/wp-content/uploads/2023/06/icon.png",
"text": "#### Testergebnisse für den 27. Juli 2023\n@channel bitte überprüfen Sie die fehlgeschlagenen Tests.\n\n| Komponente | Durchgeführte Tests | Fehlgeschlagene Tests |\n|:-----------|:-----------:|:-----------------------------------------------|\n| Server | 948 | 0 |\n| Web-Client | 123 | 2 [(Details ansehen)](https://linktologs) |\n| iOS-Client | 78 | 3 [(Details ansehen)](https://linktologs) |"
}
kchatemp-Kanal der Organisation angezeigt wird: