Pridaj tlačidlá
Pridaj tlačidlá pod ľubovoľnú kartu. Tlačidlo otvorí odkaz, zmení kartu pre všetkých hneď, ako naň niekto ťukne, alebo dá tvojej službe vedieť, že ho niekto stlačil.
Čo s tým môžeš robiť
- Otvor odkazPošli ľudí na stránku, dashboard alebo pull request.
- Zmeň kartu ťuknutímUprav ju, odstráň, zareaguj alebo odpovedz priamo po stlačení, bez vlastného servera.
- Zachyť každé stlačenieTvoja služba sa naživo dozvie, kto čo stlačil.
- Spusti príkazTlačidlo môže spustiť jeden z príkazov s lomkou tvojej komunity, aj s dátami.
V aplikácii
Niekto zazvoní: objaví sa karta
Ťuknutie na Otvoriť bránu: karta sa zmení pre všetkých
Samotná zmena nepotrebuje server: kroky sú uložené spolu so správou. Tvoj ovládač brány zachytí stlačenie a bránu otvorí.
Rýchly štart
Pridaj zoznam actions
Tlačidlá patria do
actions, vedľa karty, v správe z webhooku, v odpovedi na príkaz alebo v aktualizácii.json{ "message_container": { "color": "yellow", "title": "Deploy v2.1 to production?", "description": "Requested by maya." }, "actions": [ { "type": "url:https://ci.example.com/deploys/218", "text": "View changes", "color": "blue" } ] }deploysVyber, čo stlačenie urobí
Odkaz, zmenu karty alebo volanie tvojej služby. Tri druhy nájdeš nižšie.
Tri druhy tlačidiel
type určuje, čo stlačenie urobí.
| Typ | Čo urobí stlačenie | Dostaneš ho |
|---|---|---|
url:{url} | Otvorí odkaz. | Nie |
webhook_action | Vykoná kroky uložené spolu s ním, pre všetkých v kanáli. | Áno, cez stream_url správy |
trigger:{guid} | Spustí jeden z triggerov komunity s payload tlačidla. | Áno, ako novú požiadavku na URL toho triggera |
Zmena karty ťuknutím
Tlačidlo webhook_action nesie v triggers zoznam krokov. Po stlačení sa jeden po druhom vykonajú na serveri mssgs a výsledok uvidia všetci v kanáli.
| Krok | Čo urobí, pre všetkých | Polia |
|---|---|---|
update_message | Nahradí kartu aj jej tlačidlá. Pošli "actions": [] a tlačidlá zmiznú. | message_container, actions, content |
remove_message | Zmaže správu. | Žiadne |
add_reaction | Pridá reakciu v mene člena, ktorý tlačidlo stlačil. | emoji |
add_reply | Pošle odpoveď v mene člena, ktorý tlačidlo stlačil. | content |
{
"message_container": { "color": "yellow", "title": "Front door", "description": "Someone rang the bell." },
"actions": [
{
"type": "webhook_action",
"id": "open_gate",
"text": "Open gate",
"color": "green",
"payload": { "door": "front" },
"triggers": [
{
"action": "update_message",
"message_container": { "color": "blue", "title": "Front door", "description": "Opening…" },
"actions": []
},
{ "action": "add_reaction", "emoji": ":white_check_mark:" }
]
}
]
}Zachyť stlačenie
Správa s tlačidlami sa z webhooku vráti so stream_url. Nechaj stream otvorený a každé stlačenie príde ako udalosť typu action, s id tlačidla, uloženým tlačidlom a jeho payload a s informáciou, kto ho stlačil:
data: {"type": "action", "message_id": "...", "action_id": "open_gate", "action": {"id": "open_gate", "payload": {"door": "front"}, ...}, "member_guid": "member-guid", "member": {...}, "ts": 1790000000000}Urob skutočnú prácu, napríklad otvor bránu, a potom cez callback_url nastav konečný stav karty. Ako funguje stream a callback, sa dočítaš na stránke živé aktualizácie.
Spusti príkaz tlačidlom
Tlačidlo trigger:{guid} spustí jeden z triggerov tvojej komunity, akoby niekto napísal príkaz, a odovzdá mu payload tlačidla. Trigger dostane:
{
"actions": [
{
"type": "trigger:5f2c9a1e-trigger-guid",
"text": "Check status",
"color": "blue",
"payload": { "order_id": "12345" }
}
]
}{
"trigger_match": "/status",
"message": {
"content": "[Action Triggered]",
"member_guid": "member-guid",
"is_action_button": true,
"action_payload": { "order_id": "12345" }
},
"callback_url": "https://mss.gs/api/v1/trigger-callback/...",
"stream_url": "https://mss.gs/api/v1/instant/...?token=..."
}payload.Polia
| Pole | Typ | Čo robí |
|---|---|---|
type | string | url:{url}, webhook_action alebo trigger:{guid}. Povinné. |
text | string | Popis na tlačidle. Povinné; funguje aj label. |
color | string | Farba tlačidla, pozri nižšie. |
id | string | Pre webhook_action: ktoré tlačidlo bolo stlačené. Jedinečné v rámci správy. |
payload | object | Tvoje dáta, ktoré dostaneš späť pri stlačení. |
triggers | array | Pre webhook_action: kroky, ktoré sa majú vykonať. |
disabled | boolean | Zobrazí tlačidlo sivé a stlačenia sa odmietnu. |
Farby
green, blue a purple vykreslia plné, hlavné tlačidlo. red, orange a yellow vykreslia vedľajšie: použi ich pre „Zamietnuť“, „Zrušiť“ a iné voľby, pri ktorých treba byť opatrný.
Chyby
Keď pošleš správu s tlačidlami, mssgs ich najprv skontroluje:
| Kód | Význam |
|---|---|
INVALID_ACTIONS_FORMAT | actions nie je zoznam objektov. |
INVALID_ACTION_MISSING_FIELDS | Tlačidlo nemá type alebo text. |
DUPLICATE_ACTION_ID | Dve tlačidlá majú rovnaké id. |
INVALID_TRIGGERS_FORMAT | triggers nie je zoznam krokov. |
INVALID_TRIGGER_MISSING_ACTION | Krok nemá action. |
INVALID_TRIGGER_ACTION_NOT_ALLOWED | Iný krok ako štyri uvedené vyššie. |
Keď niekto stlačí tlačidlo
| Kód | Význam |
|---|---|
MESSAGE_NOT_FOUND | Správa bola medzitým zmazaná. |
ACTION_NOT_FOUND | Na správe nie je tlačidlo s týmto id. |
ACTION_DISABLED | Tlačidlo je vypnuté. |
TRIGGER_NOT_FOUND, TRIGGER_NOT_ACTIVE | Trigger, na ktorý tlačidlo odkazuje, už neexistuje alebo je vypnutý. |
TRIGGER_NOT_ALLOWED | Člen nemá rolu, ktorá smie tento trigger používať. |
Prichádzaš zo starej dokumentácie?
button s krokmi ws:send, local:update_message a local:remove_message, podmienky previous:success a expire_in_seconds už pre externých odosielateľov nefungujú. Použi webhook_action s krokmi vyššie: dostanú sa ku všetkým, nielen k tomu, kto tlačidlo stlačil.