Інтеграція Telegram з сайтом: сповіщення, боти та аутентифікація
Втрата замовлення через те, що менеджер не перевірив email?
Менеджер втрачає до 30% замовлень, тому що листи потрапляють у спам. Клієнт пішов до конкурента через десять хвилин після залишеної заявки — ви просто не встигли відповісти. Ми вирішуємо цю проблему: інтегруємо Telegram-ботів для миттєвих сповіщень, автоматизації та аутентифікації. Telegram не спамить, 99% повідомлень доставляються за секунду — email програє за всіма фронтами. Telegram забезпечує open rate 95-99% проти 20-30% у email — це в 3-5 разів вище. Заміна поштових сповіщень на Telegram скорочує середній час реакції менеджера з 5 хвилин до 10 секунд. Згідно з Telegram Bot API Documentation (https://core.telegram.org/bots/api), боти можуть відправляти мільйони повідомлень без додаткових витрат.
Порівняння Telegram, email та SMS
| Критерій | Telegram | SMS | |
|---|---|---|---|
| Швидкість доставки | <1 с | 5-30 с | 1-5 с |
| Open rate | 95-99% | 20-30% | 90% |
| Безкоштовно | Так | Частково | Ні |
| Спам-фільтри | Немає | Є | Немає |
Telegram дає 100% контроль: ви не залежите від поштових провайдерів та операторів зв'язку. Для сповіщень про замовлення, збої або заявки це критично.
Отримайте консультацію з інтеграції Telegram для вашого проекту.
Які сценарії інтеграції Telegram найбільш затребувані?
Сповіщення: від замовлення до Telegram
Найбільш затребуваний сценарій — сповіщення адміністраторам та менеджерам. Відправляємо повідомлення через sendMessage з HTML-розміткою:
class TelegramNotifier
{
public function send(string $message, string $parseMode = 'HTML'): void
{
Http::post("https://api.telegram.org/bot{$this->token}/sendMessage", [
'chat_id' => config('services.telegram.chat_id'),
'text' => $message,
'parse_mode' => $parseMode
]);
}
}
// Використання
$telegram->send(
"🛒 <b>Новий заказ #{$order->id}</b>\n"
. "Сума: {$order->total} ₴\n"
. "Клієнт: {$order->customer_name}"
);
Підтримуємо будь-які CMS: WordPress, Laravel, Drupal, та фреймворки: React, Vue, Angular. Для сповіщень у групу: бот повинен бути адміністратором, chat_id групи — від'ємне число. При помилках (наприклад, chat_id невірний) повторюємо відправку з експоненціальною затримкою.
Приклад з практики: для інтернет-магазину меблів ми налаштували сповіщення про нові замовлення в Telegram-групу менеджерів. У результаті час реакції скоротився з 5 хвилин до 15 секунд, а кількість втрачених замовлень зменшилася на 40%. Інтеграція окупилася за перший місяць роботи (вартість інтеграції склала 5000 грн, а економія від зменшення втрат – близько 2000 грн на місяць).
Інтерактивний бот для обробки заявок
Inline-клавіатури дозволяють менеджерам приймати рішення прямо в Telegram. Приклад:
Http::post("https://api.telegram.org/bot{$token}/sendMessage", [
'chat_id' => $chatId,
'text' => "Заявка #{$applicationId} отримана. Що зробити?",
'reply_markup' => json_encode([
'inline_keyboard' => [[
['text' => '✅ Прийняти', 'callback_data' => "accept_{$applicationId}"],
['text' => '❌ Відхилити', 'callback_data' => "reject_{$applicationId}"]
]]
])
]);
При натисканні кнопки бот отримує callback_query, оновлює статус заявки на сайті та підтверджує дію. Бот може не тільки відправляти повідомлення, але й виконувати дії: приймати заявки, закривати задачі. Використовуємо webhook з secret_token для безпеки.
Telegram Login Widget: аутентифікація за 5 хвилин
Користувачі можуть входити на сайт через Telegram без введення пароля. На стороні фронтенду — вбудовуємо кнопку:
<script async src="https://telegram.org/js/telegram-widget.js?22"
data-telegram-login="YourBotName"
data-size="large"
data-auth-url="URL вашого сайту"
data-request-access="write">
</script>
Сервер перевіряє підпис через HMAC-SHA256:
public function callback(Request $request): void
{
$checkHash = $request->hash;
$authData = $request->except('hash');
ksort($authData);
$dataCheckString = implode("\n", array_map(
fn($k, $v) => "{$k}={$v}",
array_keys($authData), $authData
));
$secretKey = hash('sha256', config('services.telegram.bot_token'), true);
$hash = hash_hmac('sha256', $dataCheckString, $secretKey);
if (!hash_equals($hash, $checkHash)) {
abort(403, 'Invalid Telegram signature');
}
// Авторизація користувача
}
Віджет дозволяє аутентифікувати користувача без введення пароля. Після успішної аутентифікації створюється сесія, що знижує навантаження на підтримку: користувачі не забувають паролі.
Налаштування вебхуку за 3 кроки
- Відправте POST-запит на
https://api.telegram.org/bot<TOKEN>/setWebhookз параметромurl, що вказує на ваш endpoint (обов'язково HTTPS). - Вкажіть секретний токен у параметрі
secret_token— Telegram передаватиме його в заголовкуX-Telegram-Bot-Api-Secret-Tokenпри кожному запиті. - На сервері реалізуйте перевірку токена та обробку вхідних оновлень. Рекомендуємо використовувати бібліотеку
Telegram Bot SDKдля Laravel абоpyTelegramBotAPIдля Python.
Telegram доставляє повідомлення в 30 разів швидше SMS (менше 1 секунди проти 1-5 секунд). Це робить його ідеальним каналом для критичних сповіщень.
Захист вебхука від підроблених запитів
Для захисту використовуйте секретний токен при встановленні вебхука (параметр secret_token). Telegram передає його в заголовку X-Telegram-Bot-Api-Secret-Token на кожен запит. Порівняйте його з вашим токеном на сервері. Також можна перевіряти IP-адреси Telegram (список публікується). Ми завжди додаємо цей захист.
Приклад конфігурації webhook на Laravel
// config/services.php
'telegram' => [
'bot_token' => env('TELEGRAM_BOT_TOKEN'),
'webhook_secret' => env('TELEGRAM_WEBHOOK_SECRET'),
];
// routes/api.php
Route::post('/telegram/webhook', [TelegramController::class, 'webhook']);
// App/Http/Controllers/TelegramController.php
public function webhook(Request $request)
{
if ($request->header('X-Telegram-Bot-Api-Secret-Token') !== config('services.telegram.webhook_secret')) {
abort(403);
}
// Handle update...
}
Процес роботи над інтеграцією
- Аналіз: вивчаємо ваші бізнес-процеси, обираємо сценарії (сповіщення, бот, аутентифікація).
- Проектування: розробляємо архітектуру, схеми даних, діаграми послідовності.
- Реалізація: пишемо код бота, налаштовуємо вебхук, інтегруємо з вашою CMS.
- Тестування: unit-тести кожного обробника, інтеграційні тести з реальним Telegram API.
- Деплой: розгортаємо на сервері, налаштовуємо моніторинг, логування.
Терміни інтеграції
| Тип інтеграції | Термін |
|---|---|
| Сповіщення (базові) | 1–2 дні |
| Бот з inline-клавіатурами | 2–3 дні |
| Telegram Login + зв'язка з БД | 3–5 днів |
Терміни розраховуються індивідуально: залежить від складності вашої логіки та архітектури сайту.
Що входить у роботу
- Налаштування бота та вебхука
- Реалізація сценаріїв сповіщень (замовлення, події, помилки)
- Інтеграція Telegram Login Widget
- Розробка обробників callback_query
- Покриття тестами (unit + інтеграційні)
- Документація (схеми, приклади запитів)
- Доступ до вихідного коду та деплой-інструкцій
- Навчання адміністраторів та розробників
Чому варто працювати з нами
Ми 5+ років інтегруємо Telegram з сайтами, реалізували 40+ проектів у цій ніші. Досвід з будь-якими стеками: Laravel, Django, React, Next.js. Гарантуємо стабільну роботу навіть при високому навантаженні. Прозора звітність та підтримка після здачі. Вартість інтеграції базових сповіщень починається від 5000 грн.
Інтеграція Telegram-сповіщень може принести додатковий дохід для середнього інтернет-магазину за рахунок скорочення втрат клієнтів. Бот обробляє до 500 звернень на день, заощаджуючи ресурси на роботі операторів.
Telegram забезпечує open rate до 99%, що в 3–5 разів вище, ніж у email (20–30%). Це означає, ви не втратите жодного замовлення. Зв'яжіться з нами для оцінки вашого проекту — ми запропонуємо оптимальне рішення. Замовте інтеграцію Telegram і забудьте про втрачені заявки.







