Use Case 11: Broadcast
Перед стартом: прочитайте Broadcast vs scenario entry. Рекомендовано підключений Telegram для E2E-тесту доставки.
Необхідні права та доступ
| Модуль / налаштування | Навіщо |
|---|---|
| Scenario Builder | Alias entry і MessageKeyboard у сценарії |
| Broadcast (Розсилка) | Шаблон, вибір клієнтів, відправка |
| Settings → Bots | Канал (Telegram рекомендовано) |
| Runs / Chat preview | Перевірка alias entry до відправки |
Бізнес-контекст
Маркетинговий або сервісний сценарій: масова розсилка з текстом, зображенням і кнопкою-посиланням. Повідомлення формується в сценарії (alias entry), а кампанія запускається з модуля Broadcast.
Очікуваний результат
- Точка входу з alias у сценарії (латиницею)
- MessageKeyboard: текст, image URL, кнопка з URL (
open-url) - Broadcast template → alias action = ваш alias
- Розуміння різниці: разова розсилка vs subscribe;
send_after/one_time
Архітектура
[Alias entry: training_broadcast_entry]
→ MessageKeyboard (текст + image + URL-кнопка)
→ End / опційно follow-up
[Модуль Broadcast]
→ Шаблон (alias = training_broadcast_entry)
→ Клієнти → training bot → «зараз» або за розкладом
Покрокова реалізація
Крок 1. Entry alias у сценарії
- У Scenario Builder додайте блок точки входу (alias).
- Задайте alias латиницею, наприклад:
training_broadcast_entry. - Підключіть alias до MessageKeyboard.
| Параметр MessageKeyboard | Значення (приклад) |
|---|---|
| Текст | «Спеціальна пропозиція! Знижка 10% до кінця тижня.» |
| Зображення | URL публічного зображення (https://…) |
| Кнопка | Текст: «Деталі» · тип: open-url · URL: https://docs.connectiveone.io |
Edges: після показу — End або коротке «Дякуємо».
→ Налаштувати alias для розсилки
Self-check у Runs: запустіть сценарій через alias entry (не Start) — переконайтеся, що keyboard і URL відображаються у preview.
Крок 2. Шаблон Broadcast і відправка
- Broadcast → створіть шаблон.
- Поле Alias action сценарію =
training_broadcast_entry(точний збіг з сценарієм). - Вкладка Клієнти → оберіть себе і training bot.
- Заплануйте відправку або натисніть «зараз».
→ Відправити розсилку з клієнтів
| Перевірка | Очікування |
|---|---|
| Alias у шаблоні = alias у сценарії | Інакше entry не знайдено |
| Клієнт підписаний на bot + канал | Доставка в Telegram / widget |
| Runs після create кампанії | success ≠ миттєва доставка (див. крок 4) |
Крок 3. Telegram vs Viber
| Канал | Кнопка URL | Примітка |
|---|---|---|
| Telegram | open-url |
Happy path навчання |
| Viber | open-url / open-web-app |
Можливі помилки доставки — задокументуйте в result template |
Якщо Viber не доставляє — спрощуйте до text-only, перевірте тип кнопки, зафіксуйте спробу локально (не escalation).
Крок 4. Subscribe, autobroadcast і відкладена доставка
| Патерн | Семантика | Self-check |
|---|---|---|
action_broadcast__subscribe |
Підписка на topic для серії кампаній | Не плутати з разовою розсилкою Use Case 11 |
| Broadcast template + alias | Разова / масова кампанія з модуля Broadcast | Основний шлях цього Use Case |
send_after |
Затримка перед відправкою (хв/год) | У Runs: create success ≠ миттєва доставка в каналі |
one_time |
Одноразова відправка за подією | Повторний trigger не дублює повідомлення |
Після зміни бота або каналу: перевірте alias entry і токен каналу в Settings → Bots → Channels.
→ Довідник actions — broadcast
Крок 5 (опційно). MessageKeyboard з URL — native, без Action Jail
Для кнопки з посиланням спочатку використовуйте native URL у MessageKeyboard (open-url). Action Jail — лише якщо native не покриває ваш кейс.
Troubleshooting
| Симптом | Що перевірити |
|---|---|
| Розсилка не стартує | Alias у шаблоні = alias у сценарії; bot і канал у вкладці «Клієнти» |
| Кнопка не клікабельна | open-url для Telegram; режим HTML/plain |
| Preview OK, Telegram — ні | Окремий шлях: токен каналу, реальний клієнт у списку |
| Дубль повідомлень | one_time; не запускайте кампанію двічі на того самого клієнта без потреби |
Self-check (Runs + канал)
Самостійне завдання
Порівняйте дві кампанії: text-only vs text + image + URL-кнопка. Запишіть у result template, який канал тестували і що спрацювало.
Довідкові посилання
- Broadcast vs scenario entry
- Налаштувати alias для розсилки
- Відправити розсилку з клієнтів
- Параметри MessageKeyboard
Наступний крок (після просунутого рівня): Use Case 13: Capstone