Разработка бота уведомлений в Telegram о новых заказах на сайте
Telegram-бот для уведомлений о заказах — один из самых быстрых в реализации инструментов, который сразу даёт ощутимый результат: менеджеры получают уведомления мгновенно, без почты и без необходимости постоянно держать открытой админку.
Что отправляет бот
Типичное сообщение при новом заказе:
🛒 Новый заказ #4821
Клиент: Иван Петров
Телефон: +7 (916) 123-45-67
Email: [email protected]
Товары:
• iPhone 15 Pro 256GB × 1 — 89 990 ₽
• Чехол MagSafe × 2 — 3 600 ₽
Итого: 93 590 ₽
Способ оплаты: Картой онлайн ✅
Доставка: СДЭК, г. Москва, ул. Тверская, 1
🔗 Открыть в CRM
Реализация на PHP (Laravel)
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}
<b>Телефон:</b> {$order->phone}
{$items}
<b>Итого:</b> {$order->formatted_total}
HTML;
}
}
Бот вызывается из Observer или Event Listener при создании заказа.
Уведомления нескольким получателям
Список chat_id хранится в конфигурации и может включать личные чаты менеджеров и групповые чаты отделов. Для каждой группы товаров — свой список получателей.
Время реализации: 1–2 рабочих дня.







