Používání integrace ve službě Synology Chat

Funkce vlastní integrace ve službě Synology Chat umožňují konfigurovat příchozí a odchozí volání webhook, roboty a příkazy lomítka. Tyto funkce můžete povolit kliknutím vpravo nahoře na ikonu Fotografie profilu a výběrem možnosti Integrace.

Příchozí volání webhook

Příchozí volání webhook odešle do služby Chat zprávy z externích zdrojů. Využívá obecných požadavků HTTP s datovou částí JSON a další volitelná nastavení.

Odesílání zpráv:

Existují dva způsoby odeslání dat na adresu URL volání webhook:

Datová část JSON může obsahovat vlastnost text, která se odešle do přiřazeného kanálu. Příklad:

payload={"text": "První řádek zprávy, která se odešle do kanálu.\nZpráva může mít také druhý řádek."}

Přidání odkazů:

Chcete-li přidat odkaz, můžete ho zadat přímo do textu. Příklad:

payload={"text": "<https://www.synology.com>"}

Další příklad:

payload={"text": "Prohlédněte si tohle!! <https://www.synology.com|Kliknutím na tento odkaz> zobrazíte podrobnosti!"}

Odeslání souborů:

Do svých příchozích příspěvků můžete také odeslat soubor. Chcete-li odeslat soubor, musí datová část JSON obsahovat vlastnost file_url a také volitelnou vlastnost text. Vaši adresu URL stáhneme a budeme s ní zacházet jako s příspěvkem odeslání souboru uživatele. Příklad:

payload={"text": "legrační obrázek", "file_url": "http://imgur.com/xxxxx"}

Poznámka:

Odchozí volání webhook

Odchozí volání webhook naslouchají aktivačním slovům ve zprávách služby Chat. Tato aktivační slova odešlou příslušná data na externí adresu URL. Odchozí volání webhook lze aktivovat pouze v případě splnění jedné či obou následujících podmínek:

Pokud je uveden kanál, jsou aktivační slova volitelná. Pokud není vybrán žádný kanál, aktivační slova jsou povinná. Pokud jsou ale definovány obě dvě podmínky, proběhne odchozí volání webhook pouze v případě současného splnění obou podmínek.

Odchozí data:

Pokud přijatá zpráva odpovídá aktivaci, proběhne doručení požadavku POST na přiřazenou adresu URL. Datová pole jsou popsaná níže:

token: bot token
channel_id
channel_name
user_id
username
post_id
timestamp
text
trigger_word: které aktivační slovo odpovídá

Odpovídání:

Pokud chce externí cíl odpovědět v kanálu služby Chat, musí být datová část JSON navrácena v těle odpovědi. Podporovaná pole jsou stejná jako u datové části JSON příchozího volání webhook.

Příkazy lomítka

Příkazy lomítka umožňují snadné spouštění odchozích volání webhook napsáním znaku „/“ do textového pole. Odpovědi budou viditelné pouze vám, takže ostatním uživatelům se zprávy, které se jich netýkají, nezobrazí.

Vytvoření příkazu lomítka:

Příkazy lomítka lze upravit v části Integrace. Do části Integrace přejdete kliknutím na svou profilovou fotografii v pravém horním rohu.

Použití příkazu lomítka:

Do textového pole libovolného kanálu nebo konverzace zadejte znak lomítka „/“. Zobrazí se seznam příkazů vytvořených vámi a členy vašich týmů. Pokud například zadám „/“ a vyberu možnost „/oběd“, doporučí mi volání webhook nějaké jídlo.

Roboti

Robot s vámi může zahájit konverzaci mezi dvěma uživateli, odeslat zprávy přijaté z externích zdrojů a naslouchat zprávám odeslaným uživateli v konverzaci.

Zákaz uživatelům spustit aktivní konverzaci s roboty:

Zaškrtnutím možnosti Skrýt ze seznamu robotů zabráníte uživatelům zobrazit a přidat tohoto robota ze seznamu robotů.

Odeslání odchozích dat:

Pokud po zadání odchozí adresy URL do pole konfigurace robota odešle uživatel do robota zprávu, služba Chat odešle požadavek na tuto adresu URL. Níže se nachází popis datových polí:

token: bot token
user_id
username
post_id
timestamp
text

Poznámka:

Odesílání příchozích zpráv:

Příjemce a zprávy je možné přiřadit prostřednictvím parametru datové části v požadavku POST. Příklad:

payload={"text": "První řádek zprávy, která se odešle do kanálu.\nZpráva může mít také druhý řádek.", "user_ids": [5] }

To znamená, že zprávaPrvní řádek zprávy, která se odešle do kanálu.\nZpráva může mít také druhý řádek.>byla odeslána uživateli s hodnotou user_id 5.

Připojení zpráv k příchozím zprávám:

Při konverzaci s robotem může robot odesílat texty a soubory a může rovněž připojit speciální data (přílohu) a interaktivní objekty (akci). V současné době jsou jako interaktivní objekty nabízena tlačítka. Můžete přidat zprávu, kterou chcete připojit do pole přílohy v datové části. Příklad:

attachments: array of attachment object

attachment object: {
  callback_id: string[2], který označuje řetězec definovaný vlastní službou robota. Ten vám bude odeslán, když uživatel aktivuje událost s připojenými daty.
  text: string
  actions: array of action object
}

action object: {
  type: "button"
  text: string
  name: string
  value: string
  style: string, ve kterém lze použít hodnoty zelená, šedá, červená, oranžová, modrá a šedozelená
}

Příklad:

payload={"text": "Hello World", "user_ids": [3], "attachments":
[{"callback_id": "abc", "text": "attachment", "actions":
[{"type": "button", "name": "resp", "value": "ok", "text": "OK", "style": "green"}]}]}

Příjem interaktivních dat aktivovaných uživateli:

Když uživatel aktivuje interaktivní objekt, odešle služba Chat požadavek na odchozí adresu URL robota. Datová pole jsou popsaná níže:

payload = {
  "actions": pole objektů akce odkazující na akci aktivovanou uživatelem
  "callback_id": řetězec, odkazující na hodnotu callback_id přílohy, ve které se nachází akce aktivovaná uživatelem
  "post_id"
  "token"
  "user": {
  "user_id"
  "username"
  }
}

Poté, co robot přijme požadavek, může odeslat zpět data JSON a upravit tak původní požadavek POST. Kroměuser_id, podporovaný formát je stejný jako u datové části.

Příklad:

{"text": "Odpověď byla přijata!"}

Výpis seznamu konverzací viditelných pro robota:

Požadavek lze odeslat na následující adresu URL:
[Adresa URL služby Chat]/webapi/entry.cgi?api=SYNO.Chat.External&method=channel_list&version=2

a může obsahovat následující parametr:
token = token robota

Výpis seznamu uživatelů viditelných pro robota:

Požadavek lze odeslat na následující adresu URL:
{Adresa URL služby Chat}/webapi/entry.cgi?api=SYNO.Chat.External&method=user_list&version=2

a může obsahovat následující parametr:
token = token robota

Výpis seznamu zpráv viditelných pro robota

Požadavek lze odeslat na následující adresu URL:
{Adresa URL služby Chat}/webapi/entry.cgi?api=SYNO.Chat.External&method=post_list&version=2

a může obsahovat následující parametry:
token = token robota
channel_id = parametr channel_ID je určen pro procházení
next_count = počet zpráv následujících po požadavku POST
previous_count = počet zpráv předcházejících požadavku POST, minimální hodnota je 1
(volitelné)post_id = parametr post_id je určen pro procházení, nevyplněný parametr post_id označuje nejnovější zprávu

Stažení dat souborů:

Požadavek lze odeslat na následující adresu URL:
{Adresa URL služby Chat}/webapi/entry.cgi?api=SYNO.Chat.External&method=post_file_get&version=2&post_id={ID post}&token=”{token robota}”

a může obsahovat následující parametry:
token = token robota
post_id = parametr post_id je určen pro procházení

Poznámka: