Integratie gebruiken in Synology Chat

Met de standaard integratiefuncties in Synology Chat kunt u inkomende en uitgaande webhooks, bots en schuine streep-opdrachten configureren. Klik op het pictogram Profielfoto in de rechterbovenhoek en selecteer Integratie om deze functies in te schakelen.

Inkomende webhooks

Een inkomende webhook zal een bericht van externe bronnen in Chat plaatsen. Het maakt naast andere optionele instellingen gebruik van algemene HTTP-verzoeken met een JSON payload.

Berichten versturen:

Er zijn twee manieren om gegevens naar de webhook URL te sturen:

De JSON payload kan een text-eigenschap bevatten die gepost zal worden op het toegewezen kanaal. Bijvoorbeeld:

payload={"text": "First line of message to post in the channel.\nAlso you can have a second line of message."}

Koppelingen toevoegen:

Om een koppeling toe te voegen kunt u de koppeling rechtstreeks in de text invoeren. Bijvoorbeeld:

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

Een ander voorbeeld:

payload={"text": "Check this!! <https://www.synology.com|Click here> for details!"}

Bestanden uploaden:

U kunt ook een bestand uploaden in uw inkomende berichten. Om een bestand te uploaden moet uw JSON payload een file_url-eigenschap bevatten naast een optionele teksteigenschap. We zullen uw URL downloaden en behandelen als uploadpost van gebruikersbestand. Bijvoorbeeld:

payload={"text": "a fun image", "file_url": "http://imgur.com/xxxxx"}

Opmerking:

Uitgaande webhooks

Uitgaande webhooks luisteren naar triggerwoorden in Chatberichten. Deze triggerwoorden zullen relevante gegevens naar een externe URL versturen Uitgaande webhooks kunnen enkel geactiveerd worden als aan een of beide onderstaande voorwaarden is voldaan:

Als er een kanaal wordt aangegeven, zijn triggerwoorden optioneel. Triggerwoorden zijn vereist als er geen kanaal is geselecteerd. Als twee voorwaarden zijn gedefinieerd, zal de uitgaande webhook enkel plaatsvinden als er aan twee voorwaarden tegelijk is voldaan.

Uitgaande gegevens:

Wanneer een ontvangen bericht overeenstemt met een trigger, zal er een POST worden gestuurd naar de toegewezen URL. Gegevensvelden worden hieronder beschreven:

token: bot token
channel_id
channel_name
user_id
username
post_id
timestamp
text
trigger_word: which trigger word is matched

Antwoorden:

Als de externe bestemming wil antwoorden in het Chatkanaal, moet de JSON in de body van het antwoord worden geretourneerd. Ondersteunde velden zijn dezelfde als een inkomende webhook JSON.

Schuine streep-opdrachten

Bij schuine streep-opdrachten kunt u eenvoudig uitgaande webhooks activeren door "/" in het tekstveld te typen. Antwoorden zullen alleen voor u zichtbaar zijn, zodat andere gebruikers geen voor hen irrelevante berichten ontvangen.

Een schuine streep-opdracht maken:

In Integratie kunt u schuine streep-opdrachten aanpassen. Voor toegang tot Integratie klikt u in de rechterbovenhoek van uw profielfoto.

Een schuine streep-opdracht gebruiken:

Typ een schuine streep "/" in het tekstveld van een kanaal of conversatie en er verschijnt een keuzelijst van door u en uw teams gemaakte opdrachten. Typt u bijvoorbeeld "/" en selecteert u "/lunch", dan zal de webhook u een maaltijd aanbevelen.

Bots

Een bot kan een een-op-een-gesprek met u aangaan, berichten van externe bronnen posten en luisteren naar berichten die door de gebruiker in een gesprek worden verzonden.

Gebruikers toestaan om een actief gesprek met uw bots aan te gaan:

Schakel het selectievakje Verbergen in de botlijst in om te voorkomen dat gebruikers deze bot in de botlijst kunnen zien of toevoegen.

Uitgaande gegevens verzenden:

Na het invoeren van een uitgaande URL in het botconfiguratieveld, stuurt Chat een verzoek naar de URL wanneer een gebruiker een bericht naar de bot stuurt. Hieronder worden de gegevensvelden beschreven:

token: bot token
user_id
username
post_id
timestamp
text

Opmerking:

Inkomende berichten verzenden:

U kunt de ontvangers en berichten toewijzingen met de payloadparamerer in een POST-aanvraag. Bijvoorbeeld:

payload={"text": "First line of message to post in the channel.\nAlso you can have a second line of message.", "user_ids": [5] }

Dit betekent dat het bericht First line of message to post in the channel.\nAlso you can have a second line of message.> werd gestuurd naar de gebruiker met user_id 5.

Berichten aan inkomende berichten toevoegen:

In een gesprek met een bot kan de bot teksten en bestanden verzenden en ook speciale gegevens (bijlage) aan interactieve objecten (actie) toe te voegen. Er zijn knoppen voor interactieve objecten. U kunt het bericht toevoegen dat u aan het veld attachments in de payload wilt vastmaken. Bijvoorbeeld:

attachments: array of attachment object

attachment object: {
  callback_id: string[2], which refers to the string self-defined by the bot service. Dit wordt u gestuurd wanneer een gebruiker een gebeurtenis gekoppeld met gegevens activeert.
  text: string
  actions: array of action object
}

action object: {
  type: "button"
  text: string
  name: string
  value: string
  style: string, where green, grey, red, orange, blue, and teal are the feasible values
}

Bijvoorbeeld:

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

Interactieve gegevens ontvangen die door gebruikers wordt geactiveerd:

Chat stuurt een aanvraag naar de uitgaande URL van de bot wanneer een gebruiker een interactief object activeert. Gegevensvelden worden hieronder beschreven:

payload = {
  "actions": array of action object, which refers to the action triggered by the user
  "callback_id": string, which refers to the callback_id of the attachment where the action triggered by the user is located
  "post_id"
  "token"
  "user": {
  "user_id"
  "username"
  }
}

Nadat een bot een aanvraag ontvangt, kan het de JSON-gegevens terugsturen om de originele POST te reviseren. Behalve voor user_id is het ondersteunde formaat hetzelfde als dat van payload.

Bijvoorbeeld:

{"text": "Got your response!"}

De voor een bot zichtbare gesprekken in een lijst weergeven:

U kunt een aanvraag naar de volgende URL verzenden:
[Chat URL]/webapi/entry.cgi?api=SYNO.Chat.External&method=channel_list&version=2

en de onderstaande parameter opnemen:
token = bot token

De voor een bot zichtbare gebruikers in een lijst weergeven:

U kunt een aanvraag naar de volgende URL verzenden:
{Chat URL}/webapi/entry.cgi?api=SYNO.Chat.External&method=user_list&version=2

en de onderstaande parameter opnemen:
token = bot token

De voor een bot zichtbare berichten in een lijst weergeven

U kunt een aanvraag naar de volgende URL verzenden:
{Chat URL}/webapi/entry.cgi?api=SYNO.Chat.External&method=post_list&version=2

en de onderstaande parameters opnemen:
token = bot token
channel_id = channel_id is intended for browsing
next_count = the number of messages that comes after a post
prev_count = the number of messages that comes before a post, with 1 as the minimum
(optional)post_id = post_id is intended for browsing, the unfilled post_id refers to the newest message

Gegevens van bestanden downloaden:

U kunt een aanvraag naar de volgende URL verzenden:
{Chat URL}/webapi/entry.cgi?api=SYNO.Chat.External&method=post_file_get&version=2&post_id={post id}&token="{bot token}"

en de onderstaande parameters opnemen:
token = bot token
post_id = post_id is intended for browsing

Opmerking: