1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
Verbinden Sie externe Anwendungen mit kChat
Dieser Leitfaden hilft Ihnen, externe Anwendungen mit kChat mithilfe von Webhooks zu verwalten.
Vorwort
- Ein Webhook ist eine Methode, die es einer Anwendung ermöglicht, sofort benachrichtigt zu werden, wenn ein bestimmtes Ereignis in einer anderen Anwendung auftritt, anstatt diese Anwendung ständig nach neuen Ereignissen zu fragen ("Polling").
- Ausgehender Webhook: kChat ĂĽbermittelt Informationen an andere Apps, wenn ein Ereignis in kChat auftritt.
- Eingehen Webhook: kChat empfängt Informationen von anderen Apps, um Aktionen in kChat auszulösen.
- Es ist nicht möglich, den Chatverlauf aus einer anderen Anwendung (Slack, Teams, Jabber, etc.) oder aus einer anderen Organisation zu importieren.
âš Max. Anzahl der eingehenden/ausgehenden Webhooks:
kSuite | kostenlos | 1 / 1 |
Standard | 20 / 20 | |
Business | unbegrenzt | |
Enterprise | unbegrenzt | |
Auf die kChat-Webhook-Schnittstelle zugreifen
Voraussetzungen
- Kein externer Benutzer sein (dieser sieht das MenĂĽ nicht Integrationen).
Um einen Webhook zu konfigurieren, finden Sie selbstgehostete oder Drittanbieter-Anwendungen und -Integrationen:
- Hier klicken‍‍ um auf die Web-App kChat (Online-Dienst ksuite.infomaniak.com/kchat) zuzugreifen, oder öffnen Sie die Desktop-App kChat (Desktop-Anwendung auf macOS / Windows / Linux).
- Klicken Sie auf das Symbol Neu ‍ neben dem Namen Ihrer kChat-Organisation.
- Klicken Sie auf Integrationen.
- Navigieren Sie zu den Kategorien:
Beispiel fĂĽr eine Integration
Einen einfachen eingehenden Webhook erstellen
DafĂĽr:
- 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 erhält.
- Speichern Sie, um die URL (nicht öffentlich bekannt geben) zu erhalten; Beispiel „
https://your-server-kchat.xyz/hooks/xxx-key-generated-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-key-generated-xxx HTTP/1.1 Host: your-server-kchat.xyz Content-Type: application/json Content-Length: 63 { "text": "Hello, text1\nText2." }
Verwenden Sie gegebenenfalls dieselbe Anfrage, aber mit
curl
(zum Testen aus einer Anwendung vom TypTerminal
(Befehlszeilenschnittstelle,CLI / Command Line Interface
) auf Ihrem Gerät):curl -i -X POST -H 'Content-Type: application/json' -d '{"text": "Hello, text1\nText2."}' https://your-server-kchat.xyz/hooks/xxx-key-generated-xxx
Wenn kein Header Content-Type
definiert ist, muss der Anfragekörper mit payload=
beginnen, wie folgt:
payload={"text": "Hello, text1\nText2."}
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
zur Webhook-URL hinzufĂĽgen.
Die Bezeichnung BOT wird aus SicherheitsgrĂĽnden neben dem Benutzernamen in kChat hinzugefĂĽgt.
Einstellungen
Neben dem Feld text
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 werden soll. Um Benachrichtigungen auszulösen, verwenden Sie „@<Benutzername>“, „@Kanal“ und „@hier“, 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, verwenden Sie z. B. „town-square“, nicht „Place de la ville“. Verwenden Sie „@“ gefolgt von einem Benutzernamen, um eine Direktnachricht zu senden. Standardmäßig wird der beim Erstellen des Webhooks definierte Kanal verwendet. Der Webhook kann in jeden öffentlichen und privaten Kanal posten, in dem sich der Ersteller des Webhooks befindet. Veröffentlichungen in Direktnachrichten erscheinen in der Direktnachricht zwischen dem Zielbenutzer und dem Ersteller des Webhooks. | Nein |
username | Ersetzt den Benutzernamen, unter dem die Nachricht gepostet wird. Standardmäßig wird der beim Erstellen des Webhooks festgelegte Benutzername verwendet; wenn beim Erstellen kein Benutzername festgelegt wurde, wird webhook . | Nein |
icon_url | Ersetzt das Profilbild, mit dem die Nachricht gepostet wird. Standardmäßig wird die beim Erstellen des Webhooks festgelegte URL verwendet; wenn beim Erstellen kein Icon festgelegt wurde, wird das Standard-Webhook-Icon (‍) angezeigt. Das Konfigurationsparameter Erlauben Sie Integrationen, Profilbild-Icons zu ersetzen muss aktiviert sein, damit das Ersetzen des Icons wirksam wird. | Nein |
icon_emoji | Ersetzt das Profilbild und den Parameter icon_url .Standardmäßig wird beim Erstellen des Webhooks nichts festgelegt. Der erwartete Wert ist der Name eines Emojis, wie er in einer Nachricht eingegeben wird, mit oder ohne Doppelpunkte ( : ).Das Konfigurationsparameter Erlauben Sie Integrationen, Profilbild-Icons zu ersetzen muss aktiviert sein, damit das Ersetzen wirksam wird. | Nein |
attachments | Anlagen an der Nachricht, die fĂĽr reichhaltigere Formatierungsoptionen verwendet werden. | Wenn text nicht definiert ist, ja |
type | Legt den type der Veröffentlichung fest, hauptsächlich zur Verwendung durch Plugins.Wenn es nicht leer ist, muss es mit " beginnen. custom_ ". | Nein |
Codebeispiel mit Parametern
So können Sie eine umfassendere Nachricht mit Parametern erstellen, wobei einige Parameter bereits beim Erstellen des Webhooks festgelegte Parameter (Benutzername, bevorzugter Kanal, Avatar usw.) ersetzen können, wie in der obigen Tabelle angegeben:
POST /hooks/xxx-clé-générée-xxx HTTP/1.1
Host: votre-serveur-kchat.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": "#### Résultats des tests pour le 27 juillet 2023\n@channel veuillez vérifier les tests échoués.\n\n| Composant | Tests effectués | Tests échoués |\n|:-----------|:-----------:|:-----------------------------------------------|\n| Serveur | 948 | 0 |\n| Client Web | 123 | 2 [(voir détails)](https://linktologs) |\n| Client iOS | 78 | 3 [(voir détails)](https://linktologs) |"
}
Dies fĂĽhrt dazu, dass diese Nachricht im Kanal kchatemp der Organisation angezeigt wird.