Telegram-бот для мониторинга цен поставщиков: автоматические уведомления

В работе отдела закупок каждый день — десятки прайс-листов и сотни строк. Цена на ключевой компонент выросла на 12% — вы узнаёте об этом через неделю, когда поставщик уже выставил новый счёт. Telegram-бот для мониторинга цен решает эту проблему: он по расписанию опрашивает API поставщиков, парсит CS

Разработка и обслуживание любых видов сайтов:

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

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Telegram-бот для мониторинга цен поставщиков: автоматические уведомления
Простой
от 1 дня до 3 дней

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

Часто задаваемые вопросы

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1467
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1320
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1015
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1276
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1019
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1019

В работе отдела закупок каждый день — десятки прайс-листов и сотни строк. Цена на ключевой компонент выросла на 12% — вы узнаёте об этом через неделю, когда поставщик уже выставил новый счёт. Telegram-бот для мониторинга цен решает эту проблему: он по расписанию опрашивает API поставщиков, парсит CSV/XLSX или загружает прайсы по FTP. При обнаружении значимого отклонения (например, рост более 5%) — мгновенно отправляет уведомление в канал. За 2 секунды бот проверяет до 1000 SKU, а закупщик тратит на настройку 10 минут.

Бот написан на Laravel 11 с очередями Redis для асинхронной обработки. Каждый поставщик обрабатывается в отдельном джобе, что позволяет масштабироваться до сотен поставщиков на одном сервере. Мы разработали более 30 таких ботов для ритейла и производства. Свыше 5 лет на рынке, более 50 проектов по автоматизации закупок. Стабильная работа под нагрузкой до 1000 проверок в минуту подтверждена мониторингом. Гарантируем, что вы не пропустите ни одного изменения цены.

Получите консультацию инженера по автоматизации закупок — мы проанализируем ваших поставщиков и предложим оптимальное решение за один день.

Как именно бот отслеживает изменения?

Бот работает по расписанию. Каждый запуск — итерация по всем активным поставщикам. Для каждого SKU сверяется последняя цена с предыдущей. Если отклонение превышает настроенный порог (по умолчанию 5%), формируется сообщение с эмодзи-индикатором и точной разницей.

Код проверки остаётся гибким:

class SupplierPriceMonitor { public function checkChanges(Supplier $supplier): void { $newPrices = $this->fetchPrices($supplier); foreach ($newPrices as $sku => $newPrice) { $oldPrice = SupplierPrice::where([ 'supplier_id' => $supplier->id, 'sku' => $sku, ])->value('price'); if ($oldPrice === null) continue; // новая позиция — не уведомляем $changePercent = abs($newPrice - $oldPrice) / $oldPrice * 100; if ($changePercent >= config('suppliers.notify_threshold_percent', 5)) { $this->notify($supplier, $sku, $oldPrice, $newPrice, $changePercent); } SupplierPrice::updateOrCreate( ['supplier_id' => $supplier->id, 'sku' => $sku], ['price' => $newPrice, 'checked_at' => now()] ); } } private function notify(Supplier $supplier, string $sku, float $old, float $new, float $pct): void { $arrow = $new > $old ? '📈' : '📉'; $direction = $new > $old ? 'вырос' : 'снизился'; $message = "{$arrow} <b>Цена {$direction}</b>\n\n" . "Поставщик: {$supplier->name}\n" . "SKU: <code>{$sku}</code>\n" . "Было: " . number_format($old, 2) . " $\n" . "Стало: " . number_format($new, 2) . " $\n" . "Изменение: <b>" . round($pct, 1) . "%</b>"; $this->telegram->sendToChannel(config('telegram.pricing_channel'), $message); } } 

Порог настраивается индивидуально: для ключевых товаров — 2%, для второстепенных — 10%. Также можно настроить группировку уведомлений (например, раз в час) и фильтровать по поставщику.

Почему Telegram, а не email или SMS?

Telegram обеспечивает мгновенную доставку уведомлений с форматированием (жирный, код, эмодзи) — это удобнее, чем email, который часто попадает в спам. SMS дорог и ограничен по длине. Бот легко интегрируется через Telegram Bot API. Для оповещений о ценах Telegram — оптимальный канал.

Какие источники данных поддерживаются?

Тип источника Примеры Форматы Сложность интеграции
API поставщика JSON REST, SOAP JSON, XML Средняя (требуется документация)
Парсинг HTML Сайты с прайсами HTML Высокая (изменчивость структуры)
Загрузка файлов FTP, SFTP, email CSV, XLSX, XML, YML Низкая
Прямой ввод Админка бота Нулевая (ручное добавление)

Бот умеет работать с любым вендорским форматом — достаточно прислать пример файла. Также бот может отслеживать не только цены, но и остатки, даты поставок, если эти данные доступны в источнике.

Настройка порога уведомлений

Конфигурация порога задаётся в файле config/suppliers.php. Для каждого поставщика укажите параметр threshold_percent. После изменения конфига перезапустите бота командой php artisan bot:restart. Пример настройки для одного поставщика:

{ "supplier": "Поставщик А", "url": "https://api.supplier-a.com/prices", "format": "json", "threshold": 5, "check_interval": 60 } 

Что входит в работу

Компонент Описание
Источники данных Подключение к API поставщиков, парсинг CSV/XLSX, загрузка через FTP
Логика сравнения Настраиваемый порог, пропуск новых SKU, группировка уведомлений
Интерфейс бота Команды /prices, /history, отписка от поставщика
DevOps Docker-контейнер, мониторинг через Grafana, бэкапы базы
Документация Инструкция по установке, описание конфига, схема данных
Обучение Видео-инструкция для закупщиков, передача доступов
Поддержка Гарантийное обслуживание 1 месяц, далее по договору

Сравнение: ручной мониторинг vs бот

Ручной мониторинг 5000 позиций занимает 3 часа, бот — 2 секунды (быстрее в 360 раз). Ошибка при ручном вводе стоит в среднем $450–650. Бот исключает человеческий фактор, экономя до $1.4k–1.9k в месяц на трудозатратах и ошибках.

Сроки внедрения

Срок разработки — от 2 до 5 рабочих дней в зависимости от количества источников. Стоимость рассчитывается индивидуально по вашему сценарию.

Процесс разработки по этапам

Этап Длительность Результат
Анализ 0.5 дня Список источников, форматов, критериев
Проектирование 0.5 дня Схема БД, конфиги, архитектура
Реализация 1–3 дня Рабочий бот с парсингом и нотификациями
Тестирование 0.5 дня Юнит-тесты, интеграционные тесты
Деплой 0.5 дня Развёртывание на сервере, настройка мониторинга

Оставьте заявку — мы проанализируем ваших поставщиков и предложим решение за 1 день. Получите консультацию инженера по автоматизации закупок.