Інтеграція Telegram з сайтом: сповіщення, боти та аутентифікація

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Інтеграція Telegram з сайтом: сповіщення, боти та аутентифікація
Середній
від 1 дня до 3 днів
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1358
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1251
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    956
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1188
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    929
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    947

Інтеграція 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 Email 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 кроки

  1. Відправте POST-запит на https://api.telegram.org/bot<TOKEN>/setWebhook з параметром url, що вказує на ваш endpoint (обов'язково HTTPS).
  2. Вкажіть секретний токен у параметрі secret_token — Telegram передаватиме його в заголовку X-Telegram-Bot-Api-Secret-Token при кожному запиті.
  3. На сервері реалізуйте перевірку токена та обробку вхідних оновлень. Рекомендуємо використовувати бібліотеку 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 і забудьте про втрачені заявки.

Інтеграція email розсилок: чому вона часто ламається?

Ми стикалися з тим, що тригерний лист через 10 хвилин після реєстрації конвертує в 4–5 разів краще, ніж той самий лист через 24 години. Це не маркетинговий міф — це механіка: поки користувач теплий, поки пам'ятає контекст. Але більшість інтеграцій з розсильниками зроблені так: форма сабмітиться → синхронний HTTP-запит до API → якщо API гальмує, користувач чекає 3 секунди → лист йде або не йде, ніхто не знає.

Якщо ви зіткнулися з втраченими листами або потраплянням у спам, замовте аудит існуючої інтеграції — ми знайдемо вузькі місця за 2 дні.

Провайдери та їх API

Unisender — російський провайдер, популярний у сегменті SMB. REST API, простий. Додавання контакту: importContacts, відправка транзакційного листа: sendEmail. Важливо: для транзакційних листів (підтвердження замовлення, скидання пароля) Unisender Go — окремий сервіс з іншим API та окремою ціною. Змішувати масові розсилки та транзакційні в одному потоці — погана ідея для репутації домену.

SendPulse — надає email, SMS, web push, Viber, Telegram-боти через єдиний API. Для проєктів, де потрібен омніканал, це зручно. Automation 360 — візуальний конструктор ланцюжків, можна запустити автоматизацію через API event. SDK для PHP (sendpulse/rest-api-php-sdk) підтримується, але оновлюється нерегулярно — краще використовувати напряму через Guzzle.

Mailchimp — вибір для міжнародної аудиторії та маркетингових команд, звиклих до екосистеми Mailchimp. Transactional email — через Mandrill (дочірній сервіс). Marketing API v3 для управління списками, тегами, кампаніями. Webhook для подій: відкриття, клік, відписка, bounce.

SMS. Для Росії: СМСЦ, МТС Exolve, Devino Telecom, SMS Aero. API у всіх схожий: метод send, параметри phone, message, sender (ім'я відправника — потрібно реєструвати окремо у оператора). Один нюанс: ім'я відправника має бути зареєстровано через агрегатора з договором — без цього SMS не відправляться на мережі МТС/МегаФон/Білайн.

Провайдер Тип Транзакційні листи Маркетингові Особливості
Unisender email+SMS Unisender Go (окремо) так Популярний в РФ, простий REST
SendPulse email+SMS+web push+Viber так так Єдиний API, омніканальність
Mailchimp email Mandrill так Аналітика, міжнародний
Twilio SMS+email так ні Глобальний, дорогий в РФ

Як побудувати інтеграцію, щоб не втрачати листи?

Розділяємо транзакційні та маркетингові потоки

Транзакційні листи (підтвердження замовлення, скидання пароля, статус доставки) — через окремий домен-відправник або субдомен tx.example.com. Маркетингові розсилки — через mail.example.com або news.example.com. Якщо маркетингова розсилка отримає багато скарг на спам, це не повинно зачепити репутацію транзакційного потоку. Згідно з документацією SendGrid, транзакційні повідомлення слід відправляти через виділений IP-пул для запобігання перехресному впливу.

Черга та retry

Будь-який виклик до email API — через чергу (Laravel Queue, Bull, Celery). Якщо Unisender повернув 503 — задача йде в retry через 5 хвилин, потім 15, потім 60. Після 5 невдалих спроб — у dead letter queue з алертом. Користувач при цьому вже отримав свій 200 OK і не знає про проблему. Завдяки цьому підходу bounce rate на проєктах знижується до 0.5%.

Приклад job для Laravel:

public function handle(): void
{
    try {
        $response = Http::post(config('services.unisender.email_url'), $this->params);
        if ($response->failed()) {
            $this->release(300); // retry через 5 хв
        }
    } catch (\Throwable $e) {
        $this->release(300);
    }
}

Шаблони

Зберігаємо шаблони в коді (Blade, Twig, React Email), не в інтерфейсі провайдера. Причини: версіонування через Git, preview у браузері без відправки, можливість тестування. Для складних шаблонів з динамічним контентом — react-email з експортом в HTML через @react-email/render.

Валідація та згоди

Перед додаванням контакту до списку — double opt-in (лист з підтвердженням). Зберігати факт підтвердження з timestamp у своїй БД. При відписці — синхронно відписуємо і у провайдера, і в своїй базі. Ігнорувати webhook відписки — прямий шлях до блокування акаунта у провайдера. Всі процеси відповідають ФЗ-152 про персональні дані.

Як налаштувати DKIM для домену-відправника?

DKIM дозволяє підписувати листи цифровим підписом, що підвищує довіру поштових серверів.

  1. Згенеруйте пару ключів (наприклад, через OpenSSL: openssl genrsa -out private.key 2048).
  2. Опублікуйте публічний ключ у DNS як TXT-запис для селектора (наприклад, mail._domainkey.tx.example.com).
  3. Вкажіть селектор у провайдера (SendGrid, Mailgun, Unisender).
  4. Перевірте командою dig TXT mail._domainkey.tx.example.com.

Моніторинг доставності

Підключаємо webhook від провайдера на події bounce (жорсткий і м'який), spam_complaint, unsubscribe. Жорсткий bounce — негайно позначаємо email як невалідний у своїй БД, більше не відправляємо. М'який bounce 3 рази поспіль — те саме. Метрики: open rate, click rate, bounce rate, unsubscribe rate — дивимося не рідше разу на тиждень. Наші сертифіковані інженери налаштовують алерти в Grafana/Prometheus.

Чому важливо розділяти потоки?

Якщо відправити маркетингову розсилку з того ж домену, що й транзакційні листи, отримавши скарги на спам, ви ризикуєте заблокувати домен — і користувачі перестануть отримувати навіть підтвердження замовлень. SPF, DKIM, DMARC (Wikipedia SPF, Wikipedia DKIM) повинні бути налаштовані окремо для кожного потоку. Ми використовуємо субдомени з різними DNS-записами.

Обсяг робіт з інтеграції

  • Аудит поточних потоків комунікації та репутації домену (SPF, DKIM, DMARC)
  • Вибір провайдера та схеми: транзакційний vs маркетинговий трафік
  • Налаштування DNS-записів SPF, DKIM, DMARC (Wikipedia DMARC)
  • Розробка шаблонів листів (HTML + динамічний контент)
  • Інтеграція з бекендом через черги та API
  • Налаштування webhook для доставності та скарг
  • Документація з експлуатації та навчання команди
  • Гарантія доставності та підтримка після запуску

Терміни та вартість

Сценарій Термін (робочі дні) Примітка
Базові транзакційні листи (один провайдер) 5–7 днів Ціна розраховується індивідуально після аудиту
Тригерні ланцюжки + SMS + веб-пуши 10–20 днів Ціна розраховується індивідуально після аудиту
Повна омніканальна автоматизація 20–40 днів Ціна розраховується індивідуально після аудиту

Вартість розраховується індивідуально після аудиту. Ми працюємо під ключ: від аналізу до моніторингу в продакшені. Отримайте консультацію інженера — оцінимо проєкт безкоштовно та скажемо точні терміни. Досвід більше 7 років в інтеграції поштових сервісів, реалізовано 50+ проєктів. Замовте безкоштовний аудит поточної інтеграції — отримайте звіт з рекомендаціями.