Розробка бота сповіщень у Telegram про нові замовлення на сайті
Менеджери втрачають до 20% замовлень, якщо не відповідають протягом перших п'яти хвилин. Пошта — повільно (доставка може зайняти до 5 хвилин), SMS — дорого (до 3 гривень за повідомлення). Telegram — ідеальний компроміс: сповіщення приходить за частку секунди, вартість нульова, а прочитання гарантоване. Ми розробляємо бота, який доставляє інформацію про кожне нове замовлення з повною карткою: товари, сума, спосіб оплати, адреса та посилання у CRM. Менеджер отримує повідомлення і може одразу перейти до обробки, не втрачаючи часу на пошук замовлення в адмінці.
В одному з проектів затримка відповіді на замовлення становила в середньому 12 хвилин — після впровадження бота вона впала до 40 секунд. Клієнти стали рідше скасовувати замовлення, а конверсія в повторні покупки зросла на 15%.
Чому варто впроваджувати Telegram-бота для сповіщень?
- Миттєва доставка: повідомлення приходить за 0,5–1 секунду.
- Надійність: Telegram стабільніший за SMS-шлюзи та дешевший.
- Зручність: менеджер бачить усі деталі замовлення і може одразу перейти в CRM.
- Легко масштабувати: додавання нового отримувача — один рядок у конфігу.
Ми впровадили таких ботів для більш ніж 15 інтернет-магазинів — у кожному випадку час реакції на замовлення скоротився в середньому на 40%.
Проблеми, які вирішує бот
Втрата замовлень через затримку відповіді. Клієнт переходить до конкурента, якщо не отримує підтвердження протягом кількох хвилин. Бот оповіщає всю команду одночасно.
Плутанина в обліку. Коли замовлення приходять на пошту, їх легко пропустити або забути. Сповіщення у Telegram дублюються в CRM і залишаються в історії чату.
Відсутність контексту. Просто «Нове замовлення» не дає інформації. Наш бот надсилає повну картку: склад, суму, спосіб оплати, адресу доставки.
Як ми це робимо
Стек — Laravel 11 (PHP 8.3) або Python (FastAPI) за бажанням. Бот використовує Telegram Bot API (sendMessage з інлайн-кнопками). Код простий, але надійний:
class TelegramOrderNotifier
{
private string $botToken;
private array $chatIds;
public function notify(Order $order): void
{
$message = $this->buildMessage($order);
foreach ($this->chatIds as $chatId) {
Http::post("https://api.telegram.org/bot{$this->botToken}/sendMessage", [
'chat_id' => $chatId,
'text' => $message,
'parse_mode' => 'HTML',
'reply_markup' => json_encode([
'inline_keyboard' => [[
['text' => '📋 Відкрити замовлення', 'url' => route('admin.orders.show', $order)]
]]
])
]);
}
}
private function buildMessage(Order $order): string
{
$items = $order->items->map(fn($item) =>
"• {$item->product->name} × {$item->quantity} — " .
number_format($item->total, 0, '.', ' ') . ' ₽'
)->implode("\n");
return <<<HTML
🛒 <b>Нове замовлення #{$order->number}</b>
<b>Клієнт:</b> {$order->customer_name}
Телефон: {$order->phone}
{$items}
<b>Разом:</b> {$order->formatted_total}
HTML;
}
}
Бот запускається через Event Listener або Observer. Для надійності використовуємо черги (Laravel Queue + Redis), щоб сповіщення не втрачалися при високому навантаженні.
Альтернатива на Python
Якщо ваш бекенд на Django або FastAPI, бот пишеться на python-telegram-bot v20+. Архітектура та ж: при створенні замовлення викликається синхронний або асинхронний метод відправки.
Таблиця порівняння: Email vs Telegram
| Критерій | Telegram | |
|---|---|---|
| Швидкість доставки | 1–5 хвилин (частіше затримки) | 0,5–1 секунда |
| Відкриваність | 20–30% | 90–95% |
| Потрібен інтернет | Так | Так (але менше трафіку) |
| Витрати | Безкоштовно для малих обсягів | Безкоштовно (тільки API) |
| Надійність | Залежить від SPF/DKIM | Висока (чат-бот не блокують) |
Типові помилки при налаштуванні
| Помилка | Рішення |
|---|---|
| Неправильний chat_id | Отримайте ID через @userinfobot або логи бота |
| Бот заблокований користувачем | Попросіть розблокувати або використовуйте груповий чат |
| Не налаштований webhook (для long polling) | Встановіть webhook через setWebhook або використовуйте polling |
| Помилки в SSL-сертифікаті (webhook) | Використовуйте Let's Encrypt або Cloudflare Origin CA |
Як ми налаштовуємо фільтрацію сповіщень?
Ми додаємо в конфігурацію умови: наприклад, надсилати сповіщення тільки для замовлень на суму вище 5000 ₴ або тільки для нових клієнтів. Фільтри реалізовані через ланцюжок умов у Laravel Pipeline. Все керується через адмінку або .env.
Приклад налаштування фільтра в .env
ORDER_MIN_AMOUNT=5000
ORDER_NOTIFY_CHANNELS=telegram,email
FILTER_REGIONS=kyiv,odesa
Ці змінні зчитуються в конфігу і застосовуються через middleware.
Telegram Bot API: core.telegram.org/bots/api
Процес роботи
- Аналіз — вивчаємо ваш стек і типи замовлень.
- Проектування — створюємо архітектуру: бот, черга, зберігання логів.
- Розробка — пишемо код з тестами (не менше 80% покриття).
- Тестування — запускаємо в staging, перевіряємо з реальним замовленням.
- Деплой — викладаємо на бойовий сервер, надаємо документацію.
- Підтримка — місяць безкоштовної допомоги після запуску.
Що входить у роботу
- Готовий код з коментарями.
- Інструкція з налаштування та додавання нових отримувачів.
- Розгортання на вашому хостингу (Docker або bare metal).
- Гарантія працездатності протягом 30 днів.
Терміни та вартість
Базова версія — 1–2 робочих дні. Складна (фільтри, інтеграція з 1С/RetailCRM) — до 5 днів. Вартість розраховується індивідуально після аналізу. Наша команда має досвід розробки телеграм-ботів для e-commerce понад 5 років.
Зв'яжіться з нами — оцінимо проект безкоштовно. Отримайте консультацію: розкажіть про ваш магазин, і ми підберемо оптимальне рішення.







