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 Hilfe von 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).
- Herauskommender 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).
So konfigurieren Sie eine webhook, finden Sie Anwendungen und Integrationen Selbstbeherbergung oder Drittanbieter:
- Klicken Sie hier‍ um auf die App zuzugreifen Web kChat (Online-Dienst) kchat.infomaniak.com) oder öffnen Sie die desktop kChat (Desktop-Anwendung 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 den blauen Knopf 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
- Speichern Sie, um die URL (nicht öffentlich bekannt zu geben):
https://votre-serveur-kchat.xyz/hooks/xxx-clé-générée-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-clé-générée-xxx HTTP/1.1 Host: votre-serveur-kchat.xyz Content-Type: application/json Content-Length: 63 { "text": "Bonjour, ceci est un texte Ceci est un autre texte." }
- 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": "Bonjour, ceci est un texte Ceci est un autre texte."}' https://votre-serveur-kchat.xyz/hooks/xxx-clé-générée-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": "Bonjour, ceci est un texte Ceci est un autre texte."}
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 auslösen, verwenden Sie @<nom d'utilisateur> , @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. Kanalname verwenden, nicht Anzeigename, p,ex verwenden town-square , nicht Place de la Ville .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: