1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Collegare applicazioni esterne a kChat
Questa guida ti consente di gestire applicazioni esterne con kChat Con l'aiuto di webhook.
Preambolo
- Un webhook è un metodo che consente a un'applicazione di essere informata immediatamente quando un particolare evento si verifica in un'altra applicazione, piuttosto che chiedere costantemente a questa applicazione se è successo qualcosa di nuovo (il cosiddetto "polling").
- Webhook in uscita: kChat comunica informazioni ad altre app quando si verifica un evento in kChat.
- Webhook in arrivo: kChat riceve informazioni da altre app per attivare azioni in kChat.
- Non è possibile importare la cronologia delle discussioni da un'altra applicazione (Slack, Teams, Jabber, ecc.) o da un'altra Organizzazione.
Accesso all'interfaccia webhooks kChat
Prerequisiti
- Non essere un utente esterno (questo non vedrà il menu Integrazioni).
Per configurare un webhook, trovare delle applicazioni e integrazioni Auto-ospiti o terze parti:
- Clicca qui Per accedere all'app Web kChat (Servizio online kchat.infomaniak.com) o aprire l'app desktop kChat (applicazione desktop su macOS / Windows / Linux).
- Clicca sull'icona Nuovo il nome della tua organizzazione kChat.
- Clicca su Integrazioni.
- Accedi alle categorie:
Esempio di integrazione
Creare un semplice webhook in arrivo
Per questo:
- Clicca sulla categoria Webhooks in arrivo.
- Clicca sul pulsante blu Aggiungere Webhook in arrivo:
- Aggiungi un nome e una descrizione (max 500 caratteri) per il webhook.
- Selezionare il canale che riceverà i messaggi
- Salva per ottenere l'URL (da non divulgare pubblicamente) di tipo:
https://votre-serveur-kchat.xyz/hooks/xxx-clé-générée-xxx
Utilizzo del webhook
Nell'app che deve essere postata su kChat:
Regolare il codice qui sotto in base all'URL ottenuto:
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." }
- È possibile utilizzare la stessa query ma in curl (per testare da un Terminale su macOS p.ex):
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
Se nessuna intestazione Content-Type non è definito, il corpo della richiesta deve essere preceduto da payload come questo:
payload={"text": "Bonjour, ceci est un texte Ceci est un autre texte."}
Una richiesta di successo 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 si desidera 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
L'URL del webhook.
Impostazioni
Oltre al campo text
Ecco l’elenco completo dei parametri supportati:
Parametro | Descrizione | Richiesto |
---|---|---|
text | Messaggio in formato Markdown da visualizzare nella pubblicazione. Per attivare le notifiche, utilizzare @<nom d'utilisateur> , @channel e @here come si farebbe in altri messaggi kChat. | Si', si'. attachments Non è definito, sì |
channel | Sostituisce il canale in cui viene postato il messaggio. Utilizzare il nome del canale, non il nome di visualizzazione, utilizzare p,ex town-square No, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no. Place de la Ville .Utilizzare "" seguito da un nome utente per inviare un messaggio diretto. Per impostazione predefinita, utilizza il canale impostato durante la creazione del webhook. Il webhook può pubblicare in qualsiasi canale pubblico e privato in cui è presente il creatore del webhook. I post nei messaggi diretti appariranno nel messaggio diretto tra l'utente mirato e il creatore del webhook. | No, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no. |
username | Sostituisce il nome utente sotto il quale viene postato il messaggio. Per impostazione predefinita, utilizza il nome utente impostato durante la creazione del webhook; se non è stato impostato alcun nome utente durante la creazione, utilizza webhook .Il parametro di configurazione Consentire alle integrazioni di sostituire i nomi utente deve essere attivato in modo che la sostituzione del nome utente abbia effetto. | No, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no. |
icon_url | Sostituisce l'immagine del profilo con cui viene postato il messaggio. Per impostazione predefinita, utilizza l'URL impostato durante la creazione del webhook; se non è stata impostata alcuna icona durante la creazione, l'icona di webhook standard () è visualizzato. Il parametro di configurazione Consenti integrazioni per sostituire le icone delle foto del profilo deve essere attivato in modo che la sostituzione dell'icona abbia effetto. | No, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no. |
icon_emoji | Sostituisce l'immagine del profilo e il parametro icon_url .Per impostazione predefinita, non viene impostato nulla durante la creazione del webhook. Il valore atteso è il nome di un emoji digitato in un messaggio, con o senza due punti ( : ).Il parametro di configurazione Consenti integrazioni per sostituire le icone delle foto del profilo deve essere attivato in modo che la sostituzione abbia effetto. | No, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no. |
attachments | Allegati al messaggio utilizzati per opzioni di formattazione più ricche. | Si', si'. text Non è definito, sì |
type | Definisce il type di pubblicazione, principalmente per l'uso da parte di plugin.Se non è vuoto, deve iniziare con " custom_ ". | No, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no. |
Esempio di codice con parametri
Ecco come generare un messaggio più completo con le impostazioni, alcuni dei quali possono sostituire le impostazioni già stabilite durante la creazione del webhook (nome utente, canale preferito, avatar...) come mostrato nella tabella precedente:
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: