Міграція
Міграція Telegram-бота на Epsenta
Як перенести бота й аудиторію з іншої платформи: паралельна робота, API-ключі, Ingest URL і завершення міграції.
Що важливо знати
У Telegram на один токен бота може бути лише один активний webhook. Тому «паралельна міграція» в Epsenta означає: бот підключений до Epsenta як звичайно (flows, діалоги, розсилки), а додатково можна синхронізувати аудиторію з попередньої платформи.
Контакти в Epsenta створюються за числовим Telegram ID. Без нього неможливо зробити розсилку або продовжити діалог. Якщо в експорті попередньої платформи немає Telegram ID — потрібні Ingest (вебхук з тієї платформи) або імпорт через її API.
- Спочатку підключіть бота в Налаштування → Канали → Telegram (токен BotFather)
- Потім увімкніть галочку «Паралельна міграція» і оберіть тип попередньої платформи
- Скопіюйте Ingest URL у кабінет попередньої платформи (блок зовнішнього запиту / webhooks)
- За потреби натисніть «Імпортувати зараз» для підтягування бази через API
- Коли сценарії готові на Epsenta — «Завершити міграцію»
Де в панелі
Проєкт → Налаштування → вкладка Канали → розкрийте Telegram → блок Паралельна міграція з іншої платформи.
Галочка за замовчуванням вимкнена: без неї бот працює лише на Epsenta, як звичайне підключення.
Звідки взяти API-ключі
Поля залежать від обраного типу платформи в списку. Підказки також показано в самій формі налаштувань.
- **API token** — у кабінеті попередньої платформи розділ «Інтеграції» / «API» / «Ключі доступу» проєкту. Скопіюйте токен і вставте в Epsenta.
- **Client ID + Client Secret** — у акаунті платформи розділ Account / API (OAuth для доступу до API). Окремо вкажіть **Bot ID** підключеного Telegram-бота (часто видно в URL кабінету бота або в налаштуваннях каналу).
- **Group ID / нік бота** — username бота без @ (закінчується на bot), якщо платформа вимагає ідентифікатор бота в API.
- **Custom forward URL** — якщо використовуєте власний проксі або дзеркалювання Telegram Update: вкажіть HTTPS URL, куди Epsenta буде надсилати копії подій.
- **Legacy webhook URL** — часто підставляється автоматично при підключенні токена (якщо попередня платформа ще тримала webhook). Можна вставити вручну.
Режими синхронізації
- **Forward** — Epsenta отримує повідомлення від Telegram і може надсилати копію на URL попередньої платформи (щоб тимчасово лишалися старі автоматизації). Увага: якщо обидві системи відповідають користувачу — можливі подвійні відповіді; на час міграції краще вимкнути авто-відповіді в старому кабінеті або завершити cutover.
- **Ingest** — попередня платформа шле події (новий підписник, вхідне повідомлення) на Ingest URL Epsenta. Контакти з’являються в базі Epsenta навіть якщо ви ще не «відірвали» webhook.
- **Імпорт через API (Pull)** — кнопка «Імпортувати зараз» і опційний періодичний імпорт. Працює, якщо в API попередньої платформи є Telegram ID контактів. Не всі платформи віддають повний список через API — тоді покладайтесь на Ingest або CSV.
Як налаштувати Ingest URL
У блоці міграції скопіюйте Ingest URL (кнопка копіювання).
У кабінеті попередньої платформи додайте зовнішній HTTP-запит (webhook / external request) на подію «нове повідомлення» або «новий підписник» і в тіло передайте Telegram ID користувача (часто змінні на кшталт userId, telegram_id, platform_id).
Epsenta приймає JSON з полями `telegram_id` / `user_id` / `platform_id`, опційно ім’я, username, теги, змінні.
- Метод: POST, Content-Type: application/json
- Обов’язково: числовий Telegram ID
- Після успішного ingest контакт з’явиться в розділі «Користувачі»
Завершення міграції
Коли flows на Epsenta готові й база наповнена:
1) Вимкніть або видаліть бота в кабінеті попередньої платформи (щоб вона не перезаписувала webhook).
2) У Epsenta натисніть Завершити міграцію — вимкнуться forward / ingest / pull.
3) Перевірте /start у боті та тестову розсилку на невеликий сегмент.
Якщо в експорті немає Telegram ID
Без числового ID неможливо імпортувати аудиторію для розсилок. Варіанти:
Ingest + активність — налаштуйте Ingest і попросіть користувачів написати боту (або зробіть останню розсилку зі старої платформи з проханням натиснути /start).
Новий бот — створіть нового бота в BotFather, підключіть до Epsenta, а зі старої платформи розішліть посилання `t.me/НовийБот?start=...`. Хто перейде — потрапить у базу Epsenta з правильним ID.
Чеклист
- Токен бота підключено в Epsenta, /start працює
- Увімкнено «Паралельна міграція», обрано тип платформи
- Вставлені API-ключі (якщо плануєте Pull)
- Ingest URL скопійовано в попередню платформу
- Тестовий контакт з’явився в «Користувачі»
- Імпорт бази (за потреби) і перевірка кількості
- Сценарії на Epsenta опубліковані
- Завершити міграцію + вимкнути бота на старій платформі