1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Collegare app esterne a kChat
Questa guida ti permette di accedere alla gestione delle applicazioni esterne per kChat.
Prerequisiti
- non essere un utente esterno (non vedrà il menu Integrazioni)
Accesso all'interfaccia
Per configurare un webhook, trovare applicazioni e integrazioni auto-ospitate o di terze parti:
- aprire l'applicazione kChat (sul tuo dispositivo o da un browser all'URL kchat.infomaniak.com)
- cliccare sulla freccia a destra del nome della tua organizzazione kChat
- cliccare su Integrazioni
- accedere alle categorie:
Esempio di integrazione
Creare un webhook semplice in ingresso
Per farlo:
- cliccare sulla categoria Webhook in ingresso
- cliccare sul pulsante blu Aggiungi webhook in ingresso
- aggiungere un nome e una descrizione (max 500 caratteri) per il webhook
- selezionare il canale che riceverà i messaggi
- salvare per ottenere l'URL (da non divulgare pubblicamente) del tipo:
https://votre-serveur-kchat.xyz/hooks/xxx-clé-générée-xxx
Utilizzo del webhook
Sull'applicazione che deve pubblicare su kChat:
- aggiustare il codice sottostante 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, questo è un testo\nQuesto è un altro testo."
} - eventualmente utilizzare la stessa richiesta ma con curl (per testare da un Terminale su macOS, ad esempio):
curl -i -X POST -H 'Content-Type: application/json' -d '{"text": "Bonjour, questo è un testo\nQuesto è un altro testo."}' https://votre-serveur-kchat.xyz/hooks/xxx-clé-générée-xxx
Se nessun'intestazione Content-Type è definita, il corpo della richiesta deve essere preceduto da payload= come segue:
payload={"text": "Bonjour, questo è un testo\nQuesto è un altro testo."}
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 ottenere 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.
Parametri
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 @<nome utente> , @channel e @here come fareste con altri messaggi kChat. | Se attachments non è definito, sì |
channel | Sostituisce il canale in cui viene pubblicato il messaggio. Utilizzare il nome del canale, non il nome visualizzato, utilizzare ad es. town-square , non Piazza della Città .Usare "@" 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 è presente il creatore del webhook. Le pubblicazioni nei messaggi diretti appariranno nel messaggio diretto tra l'utente destinatario e il creatore del webhook. | No |
username | Sostituisce 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 è definito durante la creazione, utilizza webhook .Il parametro di configurazione Consenti alle integrazioni di sostituire i nomi utente deve essere attivato affinché la sostituzione del nome utente abbia effetto. | No |
icon_url | Sostituisce l'immagine del profilo con cui viene pubblicato il messaggio. Per impostazione predefinita, utilizza l'URL definito durante la creazione del webhook; se nessuna icona è stata definita durante la creazione, viene visualizzata l'icona webhook standard (). Il parametro di configurazione Consenti alle integrazioni di sostituire le icone dell'immagine del profilo deve essere attivato affinché la sostituzione dell'icona abbia effetto. | No |
icon_emoji | Sostituisce l'immagine del profilo e il parametro icon_url .Per impostazione predefinita, nulla è definito durante la creazione del webhook. Il valore previsto è 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 dell'immagine 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 | Imposta il tipo 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à impostati 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": "#### Risultati dei test per il 27 luglio 2023\n@channel si prega di controllare i test falliti.\n\n| Componente | Test effettuati | Test falliti |\n|:-----------|:-----------:|:-----------------------------------------------|\n| Server | 948 | 0 |\n| Client Web | 123 | 2 [(vedere dettagli)](https://linktologs) |\n| Client iOS | 78 | 3 [(vedere dettagli)](https://linktologs) |"
}
Ciò comporterà la visualizzazione di questo messaggio nel canale kchatemp dell'organizzazione: