Панель
Онлайн-курси (LMS)
Повноцінні курси з модулями, оплатою, порталом учня /learn і PDF-сертифікатами. Окремо від «Графіку курсів».
Тариф Epsenta
Модуль Онлайн-курси (LMS) у панелі — з тарифу Business і вище (на Start — без магазину та курсів). Магазин — окремо, теж з Business: /wiki/menu-shop.
Ліміти контактів, проєктів і розсилок — на [epsenta.online/pricing](https://www.epsenta.online/pricing).
Чим відрізняється від «Графіку курсів»
Графік курсів (/courses) — таблиця груп з датами та часом для блоку в flow (inline-кнопки «обрати групу»).
Онлайн-курси (LMS) (/lms) — навчальний продукт: модулі → уроки → прогрес → оплата → сертифікат. Учень проходить матеріал у порталі /learn (Telegram MiniApp).
Створення курсу
- Панель → **Онлайн-курси** (/lms) → «Створити курс»
- Вкладка **Структура** — модулі та уроки (тип: текст, відео, квіз…)
- Вкладка **Налаштування** — ціна, опис, «Опубліковано», сертифікат
- Скопіюйте посилання /learn?project=… у кнопку бота або розсилку
Оплата та доступ
Платний курс: учень записується зі статусом «Очікує оплату», після успішного webhook — «Навчається».
Безкоштовний (ціна 0): доступ одразу після запису.
Потрібен підключений платіжний провайдер у Налаштування → Інтеграції (LiqPay, Monobank тощо).
Портал учня /learn
- Відкривається з Telegram WebApp (init data бота проєкту)
- Список опублікованих курсів, прогрес по уроках
- Кнопка «Завершити» на кожному урокі
- Після 100% — PDF-сертифікат з кодом перевірки
Учні
Вкладка Учні в редакторі курсу — хто записаний, статус і % прогресу.
Ручний запис: API POST /lms/courses/:id/enroll з contactId (для адмін-інтеграцій).
Месенджери та сповіщення
- Вкладка **Месенджери** — шаблони подій (новий урок, ДЗ, сертифікат…) для **Telegram** і **Viber**
- Плейсхолдери: {{courseTitle}}, {{lessonTitle}}, {{progressPercent}} тощо
- Привʼязка **flow** до події LMS (запис, оплата, прийняте ДЗ…) — автоматичний сценарій у чаті
- Команда бота **/courses** (або «курси») — список курсів з кнопками продовжити навчання
- Уроки також доставляються блоками **LMS: урок у чаті** у Telegram і Viber
Тарифи, доступ, набір
- Кілька **тарифів** на один курс (ціна, термін доступу в днях, сертифікат)
- Після оплати може виставлятись **access_expires_at** — доступ знімається автоматично
- **Когорта** (мітка на записі) + ліміт місць і **waitlist** — як набір у групу
- Magic link для /learn: POST /lms/contacts/:contactId/magic-link → посилання /learn?project=…&token=… (для Viber / браузера без Mini App)
Домашні, stop-урок, відео
- Урок типу **Домашнє** + блок **LMS: домашнє в чаті** — здача в боті, перевірка на вкладці **Домашні**
- Опція **stop-урок** — урок не завершується, поки не прийнято ДЗ або не пройдено квіз
- Мінімальний % перегляду відео (поле уроку) — учень має додивитись перед «Завершити»
- Оцінка уроку 1–5 після проходження (у порталі /learn)
Пакети та зовнішній запис
- **Пакети курсів** (bundles) — один платіж, запис на кілька курсів (API /lms/bundles)
- Webhook **external-enroll** для зовнішньої CRM/школи: email + slug курсу + secret проєкту
- Воронка в Месенджери: запис → оплата → завершення по подіях у lms_event_log