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 Mit Webhook.
Präambel
- Ein Webhook ist eine Methode, die es einer Anwendung ermöglicht, sofort informiert zu werden, wenn ein bestimmtes Ereignis in einer anderen Anwendung auftritt, anstatt ständig nach dieser Anwendung zu fragen, wenn etwas Neues passiert ist (was als "Polling" bezeichnet wird).
- Ausgehende Webhook: kChat übermittelt Informationen an andere Apps, wenn ein Ereignis in kChat auftritt.
- Eingehende Webhook: kChat erhält Informationen von anderen Apps, um Aktionen in kChat zu starten.
- Es ist nicht möglich, die Geschichte der Diskussionen aus einer anderen Anwendung (Slack, Teams, Jabber usw.) oder aus einer anderen Organisation zu importieren.
Zugriff auf die kChat Webhooks-Schnittstelle
Voraussetzungen
- Nicht ein externer Benutzer sein (dieser wird das Menü nicht sehen Integrationen).
Um einen Webhook zu konfigurieren, finden Sie Anwendungen und Integrationen, die selbst oder von Drittanbietern gehostet werden:
- Klicken Sie hier um auf die kChat Web-App zuzugreifen (Online-Service) kchat.infomaniak.com) oder öffnen Sie die kChat Desktop-App (Desktop-App auf macOS / Windows / Linux).
- Klicken Sie auf das Symbol Neu auf den Namen Ihrer kChat-Organisation.
- Klicken Sie auf Integrationen.
- Zu den Kategorien:
Beispiel für die Integration
Erstellen Sie einen einfachen eingehenden Webhook
Zu diesem Zweck:
- 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, der Nachrichten erhält
- Registrieren Sie sich, um die URL zu erhalten (nicht öffentlich bekannt zu geben); z.B.:
https://your-server-kchat.xyz/hooks/xxx-key-generated-xxx
”.
Nutzung des Webhooks
Auf die Anwendung, die auf kChat posten soll:
Passen Sie den folgenden Code an die URL an, die Sie erhalten haben:
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 möglicherweise die gleiche Abfrage, aber curl (zum Testen von einem Terminal auf macOS z.B.):
curl -i -X POST -H 'Content-Type: application/json' -d '{"text": "Hello, text1 Text2."}' https://your-server-kchat.xyz/hooks/xxx-key-generated-xxx
Wenn keine Kopfzeile vorhanden ist Content-Type ist nicht definiert, so muss der Schriftkörper der Klageschrift vorangestellt werden: payload= Wie folgt:
payload={"text": "Hello, text1 Text2."}
Eine erfolgreiche Anfrage erhält 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 das gleiche 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
Sie müssen hinzufügen ?slack_return_format=true
zur Webhook-URL.
Parameter
Zusätzlich zum 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 zu aktivieren, verwenden Sie wie in anderen kChat-Nachrichten die folgenden Befehle: | 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. den Stadtrand, nicht den Stadtrand. Verwenden Sie "@," gefolgt von einem Benutzernamen, um eine direkte Nachricht zu senden. Standardmäßig verwendet man den beim Erstellen des Webhooks eingestellten Kanal. Webhook kann in jedem öffentlichen und privaten Kanal posten, in dem der Webhook-Ersteller anwesend ist. Die Veröffentlichungen in den Direktnachrichten werden in der direkten Nachricht zwischen dem Zielbenutzer und dem Webhook-Ersteller angezeigt. | Nein. |
username | Ersetzt den Benutzernamen, unter dem die Nachricht gepostet wird. Standardmäßig verwendet man den beim Erstellen des Webhooks festgelegten Benutzernamen; wenn beim Erstellen des Webhooks kein Benutzername festgelegt wurde, verwendet man webhook .Der Konfigurations-Parameter Integrationen erlauben, Benutzernamen zu ersetzen muss aktiviert sein, damit der Benutzername ersetzt wird. | Nein. |
icon_url | Ersetzt das Profilbild, mit dem die Nachricht gepostet wird. Standardmäßig verwendet man die beim Erstellen des Webhooks festgelegte URL; wenn beim Erstellen kein Symbol gesetzt wurde, ist das Standard-Webhook-Symbol () wird angezeigt. Der Konfigurations-Parameter Integrationen zum Ersetzen von Profilfoto-Symbolen erlauben muss aktiviert sein, damit das Symbol ersetzt wird. | Nein. |
icon_emoji | Ersetzt Profilbild und Parameter icon_url .Standardmäßig wird beim Erstellen des Webhooks nichts eingestellt. Der erwartete Wert ist der Name eines Emojis, wie er in eine Nachricht eingegeben wird, mit oder ohne zwei Punkte ( : ).Der Konfigurations-Parameter Integrationen zum Ersetzen von Profilfoto-Symbolen erlauben muss aktiviert sein, damit der Austausch wirksam wird. | Nein. |
attachments | Anlagen zur Nachricht, die für reichere Formatierungsoptionen verwendet werden. | Wenn text ist nicht definiert, ja |
type | Definiert das type Veröffentlichung, vor allem für die Verwendung durch Plugins.Wenn es nicht leer ist, muss mit " beginnen custom_ ". | Nein. |
Beispiel für Code mit Parametern
Hier ist, wie man eine vollständigere Nachricht mit Parametern erzeugt, einige, die bereits beim Erstellen des Webhooks etablierte Parameter ersetzen können (Benutzername, bevorzugter Kanal, Avatar...), wie in der obigen Tabelle dargestellt:
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) |"
}
Dies führt dazu, dass diese Nachricht im Kanal angezeigt wird. kchatemp der Organisation: