Está disponível integração personalizada no Chat, onde poderá configurar webhooks de entrada e de saída.
Um webhook de entrada publicará mensagens a partir de fontes externas no Chat. Tira partido de pedidos HTTP gerais com um JSON payload, juntamente com outras definições opcionais.
Existem duas formas de enviar dados para o URL do webhook:
payload
num pedido POST.O JSON payload pode incluir uma propriedade text
, que será publicada no canal atribuído. Por exemplo:
payload={"text": "First line of message to post in the channel.\nAlso you can have a second line of message."}
Para adicionar uma ligação, poderá introduzir a ligação diretamente no texto
. Por exemplo:
payload={"text": "<https://www.synology.com>"}
Outro exemplo:
payload={"text": "Check this!! <https://www.synology.com|Click here> for details!"}
Poderá também carregar um ficheiro nas suas publicações de entrada. Para carregar um ficheiro, o seu JSON payload deverá conter uma propriedade file_url
e também uma propriedade de texto opcional. O seu URL será transferido por nós e tratado como uma publicação de carregamento de ficheiro do utilizador. Por exemplo:
payload={"text": "a fun image", "file_url": "http://imgur.com/xxxxx"}
Os webhooks de saída focam-se em palavras acionadoras em mensagens de Chat. Estas palavras acionadoras enviarão dados relevantes para um URL externo. Os webhooks de saída só podem ser acionados quando uma ou ambas as condições abaixo ocorrerem:
Se for indicado um canal, as palavras acionadoras são opcionais. Se nenhum canal for selecionado, as palavras acionadoras são requeridas. Contudo, se estiverem definidas duas condições, o webhook de saída só ocorrerá quando duas condições ocorrerem ao mesmo tempo.
Quando uma mensagem recebida corresponder a um acionador, será enviado um POST ao URL atribuído. Os campos de dados são descritos abaixo:
token: bot token channel_id channel_name user_id username post_id timestamp text trigger_word: which trigger word is matched
Se o destino externo quiser responder no canal Chat, é necessário devolver o JSON ao corpo da resposta. Os campos suportados são os mesmos do que um webhook de saída JSON.