Come si configurano webhook e comandi barra in Synology Chat?
Come si configurano webhook e comandi barra in Synology Chat?
Alcuni articoli sono stati tradotti dall’inglese con strumenti meccanici e possono contenere imprecisioni oppure errori di grammatica.
Scopo
Quando si utilizza Synology Chat, i webhook in entrata e in uscita possono essere configurati per facilitare l'integrazione e la comunicazione con più servizi, come chatbot o feed RSS. Questo articolo guiderà l'utente nel processo di configurazione di webhook e comandi barra.
Soluzione
Integrazione con webhook
È possibile utilizzare due tipi di webhook per integrare e comunicare con fonti esterne. Per iniziare a utilizzare l'integrazione webhook in Chat, andare su Profilo utente > Integrazione.
Configurare i webhook in entrata
Un webhook contiene un payload formattato come JSON.
- Per creare un messaggio come quello mostrato sopra, creare un payload JSON, indicato come segue:
- Posizionare la stringa JSON dopo il
payload
e utilizzareapplication/x-www-form-urlencoded
per inviare i dati all'URL webhook. Ad esempio: - Di seguito è riportato un esempio per CURL:
{"text": "This is a test"}
POST https://DS_IP/webapi/entry.cgi?api=SYNO.Chat.External&XXXXX Content-Type: application/x-www-form-urlencoded payload=%7B%22text%22%3A%22This%20is%20a%20test.%22%7D
curl -X POST \ --data-urlencode 'payload={"text": "This is a test"}' \ https://DS_IP/webapi/entry.cgi?api=SYNO.Chat.External&XXXXX
Per aggiungere collegamenti:
Per aggiungere un collegamento, è sufficiente inserire il collegamento nel text
. Ad esempio:
payload={"text": "https://www.synology.com"}
o
payload={"text": "Check this out!! <https://www.synology.com|click here> for details!"}
Per caricare i file:
I file possono essere caricati su Chat tramite i webhook in arrivo.
- Per caricare un file, il payload JSON deve contenere un
file_url
e anche una proprietà text opzionale. Ad esempio: - Il file sarà scaricato da
file_url
e sarà quindi caricato su Chat.1
payload={"text": "a fun image", "file_url": "http://imgur.com/xxxxx"}
Configurare i webhook in uscita
I webhook in uscita consentono di ricevere messaggi da Chat inviando una richiesta HTTP POST all'URL assegnato quando un messaggio corrisponde alle parole di attivazione e alle condizioni definite.
Parole chiave e condizioni:
- I webhook in uscita possono essere attivati quando un messaggio soddisfa una o entrambe le condizioni seguenti:
- Il messaggio è in un canale specificato.
- Il messaggio inizia con una delle parole d'ordine definite.
- Le parole di attivazione sono opzionali se viene specificato un canale. Tuttavia, le parole di attivazione sono necessarie se non viene specificato alcun canale. Se entrambe le condizioni di cui sopra sono specificate, i webhook in uscita saranno inviati solo quando il messaggio soddisfa entrambe le condizioni.2
Dati in uscita:
- Quando un messaggio ricevuto corrisponde alle condizioni di attivazione, un POST sarà inviato a tutti gli URL specificati. Ad esempio:
- Per pubblicare una risposta in Chat, il JSON deve essere restituito come corpo della risposta (i campi supportati sono gli stessi di un JSON webhook in entrata). Ad esempio:
token: bot token channel_id channel_name user_id username post_id: message ID timestamp: message time text: message content trigger_word: trigger words
{"text": "This is a test"}
Configurare i comandi barra
Un altro modo per interagire con fonti o applicazioni esterne è tramite i comandi barra. Un comando barra può essere eseguito in qualsiasi canale ed è visibile solo all'utente che ha emesso il comando.
- Andare su Profilo utente > Integrazione > Comando barra per registrare l'integrazione di un comando barra.
- Per creare un comando barra, è sufficiente digitare la barra "/" nel campo di testo e inserire il comando. Gli esempi sono mostrati nello screenshot di seguito:
- Quando viene eseguito un comando slash, una richiesta HTTP POST insieme ad alcuni degli attributi elencati di seguito sarà inviata agli URL specificati (il processo è simile a quello dei webhook in uscita):
- L'origine esterna o l'applicazione deciderà se rispondere o meno al comando barra inviato da Chat. Per rispondere a una richiesta di comando, nella risposta deve essere contenuto un payload JSON valido come quello mostrato di seguito:
- Il messaggio di risposta come mostrato di seguito sarà inviato e visibile solo all'utente che ha emesso il comando.
token: bot token user_id username text: message content
{"text": "Slash command response."}