Kennisbank
1.000 veelgestelde vragen, 500 tutorials en uitlegvideo's. Hier vind je alleen maar oplossingen!
Externe applicaties verbinden met kChat
Deze handleiding helpt u bij het beheren van externe applicaties met kChat met behulp van webhooks.
Inleiding
- Een webhook is een methode waarmee een applicatie onmiddellijk op de hoogte wordt gesteld wanneer een bepaalde gebeurtenis in een andere applicatie plaatsvindt, in plaats van die applicatie voortdurend te vragen of er iets nieuws is gebeurd ("polling").
- Uitgaande webhook: kChat stuurt informatie naar andere apps wanneer er een gebeurtenis in kChat plaatsvindt.
- Inkomende webhook: kChat ontvangt informatie van andere apps om acties in kChat te activeren.
- Het is niet mogelijk om de gespreksgeschiedenis uit een andere applicatie (Slack, Teams, Jabber, enz.) of uit een andere organisatie te importeren.
⚠ Maximaal aantal inkomende/uitgaande webhooks:
| kSuite | gratis | 1 / 1 |
| Standaard | 20 / 20 | |
| Business | onbeperkt | |
| Enterprise | onbeperkt | |
Toegang krijgen tot de kChat-webhook-interface
Vereisten
- Geen externe gebruiker zijn (deze ziet het menu Integraties niet).
Om een webhook te configureren, zoekt u zelf gehoste of applicaties en integraties van derden:
- Klik hier om de web-app kChat (online dienst ksuite.infomaniak.com/kchat) te openen, of open de desktop-app kChat (desktopapplicatie voor macOS / Windows / Linux).
- Klik op het pictogram Nieuw naast de naam van uw kChat-organisatie.
- Klik op Integraties:

- Ga naar de categorieën:

Specifieke instructies
Voorbeelden van integraties in kChat:
- Agenda Infomaniak: Een herinnering voor een gebeurtenis in kChat weergeven
- Applicatie n8n: Een bericht in kChat verzenden
Instructies voor andere toepassingen
Om een inkomende webhook te maken (om een externe gebeurtenis in kChat weer te geven):
- Klik op de categorie Inkomende webhooks.
- Klik op de blauwe knop Inkomende webhook toevoegen:

- Voeg een naam en een beschrijving toe voor de webhook.
- Selecteer het kanaal dat de berichten ontvangt.
- Klik op de knop Opslaan:

- De URL die u moet opslaan voor uw ontwikkelingen wordt weergegeven (niet openbaar delen); voorbeeld: „
https://your-server-kchat.xyz/hooks/xxx-key-generated-xxx“:
Gebruik van de webhook
Snel voorbeeld
- Een exacte
curl-opdracht (hieronder in detail) wordt in een terminal ingevoerd. - De opdracht bevat de URL die in punt 6 hierboven is verkregen.
- De opdracht zorgt ervoor dat er een bericht wordt geplaatst in het kanaal dat in punt 4 hierboven is aangegeven:

Details
In de applicatie die berichten naar kChat moet sturen:
Pas de volgende code aan op basis van de URL die u in kChat heeft ontvangen:
POST /hooks/xxx-key-generated-xxx HTTP/1.1 Host: your-server-kchat.xyz Content-Type: application/json Content-Length: 63 { "text": "Hallo, tekst1\nTekst2." }Gebruik indien nodig dezelfde aanvraag, maar dan in
curl(om te testen vanuit een applicatie van het typeTerminal(commandoregelinterface,CLI) op uw apparaat), zoals in het bovenstaande voorbeeld:
curl -i -X POST -H 'Content-Type: application/json' -d '{"text": "Hallo, tekst1\nTekst2."}' https://your-server-kchat.xyz/hooks/xxx-key-generated-xxx
Om veiligheidsredenen wordt de tag BOT naast de gebruikersnaam in kChat weergegeven.
Als er geen header Content-Type is gedefinieerd, moet de aanvraagbody beginnen met payload=, zoals hieronder:
payload={"text": "Hello, text1\nText2."}Een succesvolle aanvraag ontvangt de volgende reactie:
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
}Als u hetzelfde antwoordformaat als Slack wilt:
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
okmoet u ?slack_return_format=true toevoegen aan de webhook-URL.
Parameters
Naast het veld text vindt u hier de volledige lijst met ondersteunde parameters:
| Parameter | Beschrijving | Vereist |
|---|---|---|
text | Bericht in Markdown-formaat dat in de post moet worden weergegeven. Gebruik „@ | Ja, als attachments niet is gedefinieerd |
channel | Vervangt het kanaal waarin het bericht wordt geplaatst. Gebruik de kanaalnaam, niet de weergavenaam; gebruik bijvoorbeeld „town-square” en niet „Place de la ville”. Gebruik „@” gevolgd door een gebruikersnaam om een direct bericht te verzenden. Standaard wordt het kanaal gebruikt dat is gedefinieerd bij het maken van de webhook. De webhook kan berichten plaatsen in elk openbaar en privé kanaal waar de maker van de webhook zich bevindt. Berichten in directe chats verschijnen in de directe chat tussen de doelgebruiker en de maker van de webhook. | Nee |
username | Vervangt de gebruikersnaam waaronder het bericht wordt geplaatst. Standaard wordt de gebruikersnaam gebruikt die is gedefinieerd bij het maken van de webhook; als er geen gebruikersnaam is gedefinieerd bij het maken, wordt webhook gebruikt. | Nee |
icon_url | Vervangt de profielfoto waarmee het bericht wordt geplaatst.
Standaard wordt de URL gebruikt die is gedefinieerd bij het maken van de webhook; als er geen pictogram is gedefinieerd bij het maken, wordt het standaard webhook-pictogram () weergegeven. De configuratieparameter Sta integraties toe om profielfoto's te vervangen moet zijn ingeschakeld om de vervanging van het pictogram mogelijk te maken. | Nee |
icon_emoji | Vervangt de profielfoto en de parameter icon_url.
Standaard is er niets gedefinieerd bij het maken van de webhook. De verwachte waarde is de naam van een emoji, zoals deze in een bericht wordt ingevoerd, met of zonder dubbele punt ( :).
De configuratieparameter Sta integraties toe om profielfoto's te vervangen moet zijn ingeschakeld om de vervanging mogelijk te maken. | Nee |
attachments | Bijlagen bij het bericht, die worden gebruikt voor uitgebreidere opmaakopties. | Ja, als text niet is gedefinieerd |
type | Stelt het type van de publicatie in, voornamelijk voor gebruik door plug-ins.
Als het niet leeg is, moet het beginnen met " custom_". | Nee |
Codevoorbeeld met parameters
Zo kunt u een uitgebreider bericht met parameters maken, waarbij sommige parameters al parameters zijn die zijn ingesteld bij het maken van de webhook (gebruikersnaam, voorkeurskanaal, avatar, enz.), zoals aangegeven in de bovenstaande tabel:
curl -i -X POST -H 'Content-Type: application/json' \
-d '{
"username": "System Monitor",
"icon_url": "https://cdn-icons-png.flaticon.com/512/5971/5971593.png",
"text": "### System Status Report\nEnvironment: PRODUCTION\nStatus: SUCCESSFUL\n\n---\n\n| Component | Version | Build ID | Status |\n|:----------|:-------:|:---------|:-------|\n| API-Core | 2.4.1 | #88421 | OK |\n| Web-UI | 1.9.0 | #88425 | OK |\n| Database | 14.5 | N/A | OK |\n\n---\n\n**Commit Reference:**\n`git-ref: a7f8e9c21b` \n\n**Summary:**\nAll automated integration tests passed successfully. No manual intervention is required. Please contact the DevOps team for further details regarding this release."
}' \
https://faq-infomaniakaruh.kchat.infomaniak.com/hooks/019c23e9-a9a8-735c-b6ce-0a69df63aaf0Resultaat van een vergelijkbaar voorbeeld in de vorm van een afbeelding:
Link naar deze veelgestelde vragen: https://faq.infomaniak.com/2001
Is deze veelgestelde vragenlijst nuttig geweest?