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.

  1. Per creare un messaggio come quello mostrato sopra, creare un payload JSON, indicato come segue:
  2. {"text": "This is a test"}
  3. Posizionare la stringa JSON dopo il payload e utilizzare application/x-www-form-urlencoded per inviare i dati all'URL webhook. Ad esempio:
  4. 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
  5. Di seguito è riportato un esempio per CURL:
  6. 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:
  • payload={"text": "a fun image", "file_url": "http://imgur.com/xxxxx"}
  • Il file sarà scaricato da file_url e sarà quindi caricato su Chat.1

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:

  1. Quando un messaggio ricevuto corrisponde alle condizioni di attivazione, un POST sarà inviato a tutti gli URL specificati. Ad esempio:
  2. token: bot token channel_id channel_name user_id username post_id: message ID timestamp: message time text: message content trigger_word: trigger words
  3. 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:
  4. {"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.

  1. Andare su Profilo utente > Integrazione > Comando barra per registrare l'integrazione di un comando barra.
  2. 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:
  3. 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):
  4. token: bot token user_id username text: message content
  5. 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:
  6. {"text": "Slash command response."}
  7. Il messaggio di risposta come mostrato di seguito sarà inviato e visibile solo all'utente che ha emesso il comando.
  8. Note:

    1. La dimensione massima di un file è 32 MB.
    2. Durante la configurazione di webhook in uscita, è possibile specificare qualsiasi canale accessibile. Se non viene specificato alcun canale, tutti i canali pubblici saranno monitorati da Chat per impostazione predefinita.
Scopo
Contenuti
Soluzione
Integrazione con webhook
Configurare i webhook in entrata
Configurare i webhook in uscita
Configurare i comandi barra