1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Connettere applicazioni esterne a kChat
Questa guida ti permette di gestire applicazioni esterne con kChat tramite webhook.
Premessa
- Un webhook è un metodo che permette a un'applicazione di essere informata immediatamente quando un evento particolare si verifica in un'altra applicazione, piuttosto che chiedere costantemente a quest'ultima se è successo qualcosa di nuovo (quello che viene chiamato "polling").
- Webhook in uscita: kChat comunica informazioni ad altre app quando si verifica un evento in kChat.
- Webhook in entrata: kChat riceve informazioni da altre app per attivare azioni in kChat.
- Non è possibile importare la cronologia delle conversazioni da un'altra applicazione (Slack, Teams, Jabber, ecc.) o da un'altra Organizzazione.
Accedere all'interfaccia webhook di kChat
Prerequisiti
- Non essere un utente esterno (quest'ultimo non vedrĂ il menu Integrazioni).
Per configurare un webhook, trovare applicazioni e integrazioni auto-ospitate o di terze parti:
- Clicca qui‍ per accedere all'app Web kChat (servizio online kchat.infomaniak.com) o apri l'app desktop kChat (applicazione desktop su macOS / Windows / Linux).
- Clicca sull'icona Nuovo ‍ accanto al nome della tua organizzazione kChat.
- Clicca su Integrazioni.
- Accedi alle categorie:
Esempio di integrazione
Creare un semplice webhook in ingresso
Per fare questo:
- Fai clic sulla categoria Webhook in ingresso.
- Fai clic sul pulsante blu Aggiungi webhook in ingresso:
- Aggiungi un nome e una descrizione (max 500 caratteri) per il webhook.
- Seleziona il canale che riceverĂ i messaggi
- Salva per ottenere l'URL (da non divulgare pubblicamente); esempio “
https://your-server-kchat.xyz/hooks/xxx-key-generated-xxx
”.
Utilizzo del webhook
Nell'applicazione che deve pubblicare su kChat:
Modifica il codice seguente in base all'URL ottenuta:
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." }
Utilizza eventualmente la stessa richiesta ma in
curl
(per testare da un'applicazione di tipoTerminal
(interfaccia a riga di comando,CLI /Command Line Interface
) sul tuo dispositivo):curl -i -X POST -H 'Content-Type: application/json' -d '{"text": "Hello, text1 Text2."}' https://your-server-kchat.xyz/hooks/xxx-key-generated-xxx
Se nessuna intestazione Content-Type
è definita, il corpo della richiesta deve essere preceduto da payload=
come segue:
payload={"text": "Hello, text1
Text2."}
Una richiesta riuscita riceverĂ la seguente risposta:
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
}
Se desideri avere lo stesso formato di risposta di Slack:
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
devi aggiungere ?slack_return_format=true
all'URL del webhook.
L'indicazione BOT viene aggiunta accanto al nome utente su kChat per motivi di sicurezza.
Impostazioni
Oltre al campo text
, ecco l'elenco completo dei parametri supportati:
Parametro | Descrizione | Obbligatorio |
---|---|---|
text | Messaggio in formato Markdown da visualizzare nella pubblicazione. Per attivare le notifiche, utilizzare “@<username>”, “@channel” e “@here” come faresti in altri messaggi kChat. | Se attachments non è definito, sì |
channel | Sostituisce il canale in cui viene inviato il messaggio. Utilizzare il nome del canale, non il nome visualizzato, ad esempio “town-square”, non “Piazza della città ”. Utilizzare “@” seguito da un nome utente per inviare un messaggio diretto. Per impostazione predefinita, utilizza il canale definito durante la creazione del webhook. Il webhook può pubblicare in qualsiasi canale pubblico e privato in cui il creatore del webhook è presente. Le pubblicazioni nei messaggi diretti appariranno nel messaggio diretto tra l'utente target e il creatore del webhook. | No |
username | Sostituisci il nome utente con cui viene pubblicato il messaggio. Per impostazione predefinita, utilizza il nome utente definito durante la creazione del webhook; se nessun nome utente è stato definito durante la creazione, utilizza webhook . | No |
icon_url | Sostituisci l'immagine del profilo con cui viene pubblicato il messaggio. Per impostazione predefinita, utilizza l'URL definita durante la creazione del webhook; se nessuna icona è stata definita durante la creazione, viene visualizzata l'icona standard del webhook (‍) Il parametro di configurazione Consenti alle integrazioni di sostituire le icone delle foto del profilo deve essere attivato affinché la sostituzione dell'icona abbia effetto. | No |
icon_emoji | Sostituisci l'immagine del profilo e il parametro icon_url .Per impostazione predefinita, nulla è definito durante la creazione del webhook. Il valore atteso è il nome di un emoji come viene digitato in un messaggio, con o senza due punti ( : ).Il parametro di configurazione Consenti alle integrazioni di sostituire le icone delle foto del profilo deve essere attivato affinché la sostituzione abbia effetto. | No |
attachments | Allegati al messaggio utilizzati per opzioni di formattazione più ricche. | Se text non è definito, sì |
type | Definisce la type di pubblicazione, principalmente per l'uso da parte di plugin.Se non è vuoto, deve iniziare con " custom_ ". | No |
Esempio di codice con parametri
Ecco come generare un messaggio piĂą completo con parametri, alcuni dei quali possono sostituire parametri giĂ stabiliti durante la creazione del webhook (nome utente, canale preferito, avatar...) come indicato nella tabella sopra:
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) |"
}
Ciò comporterà la visualizzazione di questo messaggio nel canale kchatemp dell'organizzazione: