1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
Externe Anwendungen mit kChat verbinden
Diese Anleitung ermöglicht es Ihnen, externe Anwendungen mit kChat mithilfe von Webhooks zu verwalten.
Vorbemerkung
- 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 zu fragen, ob etwas Neues passiert ist (was als "Polling" bezeichnet wird).
- Ausgehender Webhook: kChat übermittelt Informationen an andere Apps, wenn ein Ereignis in kChat auftritt.
- Eingehender Webhook: kChat empfängt Informationen von anderen Apps, um Aktionen in kChat auszulösen.
- Es ist nicht möglich, den Verlauf der Gespräche aus einer anderen Anwendung (Slack, Teams, Jabber, etc.) oder aus einer anderen Organisation zu importieren.
Auf die kChat Webhook-Schnittstelle zugreifen
Voraussetzungen
- Kein externer Benutzer sein (dieser wird das Menü nicht sehen Integrationen).
Um einen Webhook zu konfigurieren und Anwendungen und selbstgehostete oder Drittanbieter-Integrationen zu finden:
- Klicken Sie hier, um auf die Web-App kChat (Online-Dienst kchat.infomaniak.com) zuzugreifen oder öffnen Sie die Desktop-App kChat (Desktop-Anwendung für macOS / Windows / Linux).
- Klicken Sie auf das Neue Symbol 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
Dazu:
- Klicken Sie auf die Kategorie Eingehende Webhooks.
- Klicken Sie auf die blaue Schaltfläche 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 weitergeben); 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 Text2." }
Verwenden Sie gegebenenfalls denselben Request, aber mit
curl
(zum Testen von einer Anwendung des TypsTerminal
(Kommandzeilenschnittstelle,CLI / Command Line Interface
) auf Ihrem Gerät):curl -i -X POST -H 'Content-Type: application/json' -d '{"text": "Hello, text1 Text2."}' https://your-server-kchat.xyz/hooks/xxx-key-generated-xxx
Falls kein Content-Type
Header definiert ist, muss der Anfragekörper mit payload=
beginnen:
payload={"text": "Hello, text1
Text2."}
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
}
Falls Sie dasselbe Antwortformat wie Slack erhalten 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
Sie müssen ?slack_return_format=true
zur Webhook-URL hinzufügen.
Einstellungen
Neben dem Feld text
hier ist 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 „@<username>“, „@channel“ und „@here“, wie Sie es in anderen kChat-Nachrichten tun würden. | Wenn attachments ist nicht definiert, ja |
channel | Ersetzt den Kanal, in dem die Nachricht gepostet wird. Verwenden Sie den Kanalnamen, nicht den Anzeigenamen, z.B. „town-square“ und nicht „Place de la ville“. Verwenden Sie "@" gefolgt von einem Benutzernamen, um eine Direktnachricht zu senden. Standardmäßig verwendet es den Kanal, der bei der Erstellung des Webhooks festgelegt wurde. Der Webhook kann in jeden öffentlichen und privaten Kanal posten, in dem sich der Ersteller des Webhooks befindet. Die Beiträge in den 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 Benutzername verwendet, der bei der Erstellung des Webhooks festgelegt wurde; wenn bei der Erstellung kein Benutzername festgelegt wurde, wird webhook .Der Konfigurationsparameter Es ist erlaubt, dass Integrationen die Benutzernamen ersetzen muss aktiviert sein, damit der Benutzernamenaustausch wirksam wird. | Nein |
icon_url | Ersetzt das Profilbild, mit dem die Nachricht gepostet wird. Standardmäßig wird die beim Erstellen des Webhooks definierte URL verwendet; wenn beim Erstellen keine Symbol verwendet wurde, wird das Standard-Webhook-Symbol angezeigt () wird angezeigt. Der Konfigurationsparameter Es wird erlaubt, dass Integrationen Profilbilder ersetzen muss aktiviert sein, damit der Icon-Ersatz wirksam wird. | Nein |
icon_emoji | Ersetzt das Profilbild und den Parameter icon_url .Standardmäßig ist beim Erstellen des Webhooks nichts festgelegt. Der erwartete Wert ist der Name eines Emojis, wie er in einer Nachricht eingegeben wird, mit oder ohne zwei Punkten ( : ).Der Konfigurationsparameter Es integrierten Anwendungen erlauben, Profilbildsymbole zu ersetzen muss aktiviert werden, damit der Ersatz wirksam wird. | Nein |
attachments | Anlagen zur Nachricht für reichhaltigere Formatierungsoptionen verwendet. | Wenn text ist nicht definiert, ja |
type | Legt fest das type des Veröffentlichungen, hauptsächlich für die Verwendung durch Plugins.Wenn es nicht leer ist, muss es mit beginnen custom_ ". | Nein |
Beispielcode mit Parametern
Hier ist, wie man eine umfassendere Nachricht mit Parametern erstellt, wobei einige bereits beim Erstellen des Webhooks festgelegte Parameter (Benutzername, bevorzugter Kanal, Avatar...) wie in der obigen Tabelle angegeben, ersetzen können:
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
@channel veuillez vérifier les tests échoués.
| Composant | Tests effectués | Tests échoués |
|:-----------|:-----------:|:-----------------------------------------------|
| Serveur | 948 | 0 |
| Client Web | 123 | 2 [(voir détails)](https://linktologs) |
| Client iOS | 78 | 3 [(voir détails)](https://linktologs) |"
}
Das wird dazu führen, dass diese Nachricht im Kanal kchatemp der Organisation: