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.
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 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.
- Webhook eingehend: 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 Befehl, aber mit
curl
(zum Testen von einer Anwendung vom TypTerminal
(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 Header Inhaltstyp ist nicht definiert, der Anfragekörper muss mit TRANSLATION_ERROR so wie folgt:
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
}
Wenn Sie dasselbe Antwortformat wie Slack 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
finden Sie hier die vollständige Liste der unterstützten Parameter:
Parameter | Beschreibung | Erforderlich |
---|---|---|
text | Nachricht im Markdown-Format, die im Beitrag 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, 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 festgelegte Kanal verwendet. 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 verwendet webhook .Der Konfigurationsparameter Benutzerintegrationen erlauben, Benutzernamen zu ersetzen muss aktiviert werden, damit der Benutzernamenaustausch wirksam wird. | Nein |
icon_url | Ersetzt das Profilbild, mit dem die Nachricht gepostet wird. Standardmäßig wird die URL verwendet, die bei der Erstellung des Webhooks festgelegt wurde; wenn keine Ikone bei der Erstellung festgelegt wurde, wird die Standard-Webhook-Ikone angezeigt () wird angezeigt. Der Konfigurationsparameter Es ist erlaubt, dass Integrationen Profilbilder ersetzen muss aktiviert werden, 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 Punkte ( : ).Der Konfigurationsparameter Es wird erlaubt, dass Integrationen die Profilbildsymbole ersetzen muss aktiviert werden, damit der Austausch wirksam wird. | Nein |
attachments | Anlagen zur Nachricht für reichhaltigere Formatierungsoptionen. | Wenn text ist nicht definiert, ja |
type | Legt fest das type für die Veröffentlichung, hauptsächlich für die Verwendung durch Plugins.Wenn es nicht leer ist, muss es mit beginnen custom_ ". | Nein |
Beispielcode mit Parametern
Hier erfahren Sie, wie Sie eine umfassendere Nachricht mit Parametern erstellen können, wobei einige bereits bei der Erstellung des Webhooks festgelegte Parameter (Benutzername, bevorzugter Kanal, Avatar...) ersetzt werden 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
@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: