Кейс: Telegram-бот для подбора автозапчастей

Ниша: Автобизнес, подбор запчастей Стек: Python, aiogram 3, SQLAlchemy 2.0, Playwright, PostgreSQL

Задача клиента

Бизнесу по продаже автозапчастей требовался инструмент, который сократит ручной труд менеджеров и поможет клиентам быстрее находить подходящие детали. Нужно было объединить поиск по артикулу, названию и VIN/Frame номеру, а также показывать актуальные цены и наличие от нескольких поставщиков.

Решение от Flowcore

Мы разработали асинхронного Telegram-бота, который агрегирует предложения поставщиков в реальном времени и ведет пользователя по понятному сценарию подбора. Бот работает с точными артикулами, нечетким поиском по названию детали и сложной логикой VIN-декодирования.

Система интегрирована с Rossko, Autotrade, MXGroup и каталогом Laximo. Для нестандартных ситуаций добавлены резервные сценарии: браузерная автоматизация через Playwright, AI-декодирование через OpenRouter и fallback через PartsAPI.

Ключевые реализованные возможности:

  • Мульти-API интеграция: Единый слой для работы с SOAP, REST API и веб-парсингом, который собирает цены и наличие от разных поставщиков.
  • Отказоустойчивый VIN/Frame поиск: Приоритетный парсинг каталога Rossko/Laximo через Playwright, AI-фоллбэк через OpenRouter и резервный запрос к PartsAPI.
  • Интерактивный подбор по каталогу: После расшифровки VIN пользователь может навигироваться по дереву категорий, выбирать узлы и получать оригинальные детали с изображениями.
  • Нечеткий поиск: Для поиска по названию и сопоставления данных используется rapidfuzz, что повышает релевантность выдачи даже при неточном запросе.
  • Telegram-интерфейс на FSM: Динамические клавиатуры, слайдеры товаров, сценарии выбора деталей и оформление заказа внутри бота.
  • Асинхронный бэкенд: Сетевые операции выполняются на asyncio и aiohttp, база работает через SQLAlchemy 2.0 и asyncpg, миграции ведутся через Alembic.
  • Операционная отчетность: Данные о заказах сохраняются в базе и выгружаются в Google Sheets для удобной работы менеджеров.

Технические детали

Для защиты от лимитов поставщиков в боте внедрен троттлинг запросов, а часто используемые справочники и категории кэшируются. Это снижает нагрузку на внешние сервисы и ускоряет повторные сценарии подбора.

Архитектура проекта построена так, чтобы можно было добавлять новых поставщиков без переписывания пользовательского сценария: бот обращается к унифицированному слою поиска, а конкретные интеграции инкапсулированы отдельно.

Результат

Клиенты получили удобный инструмент для самостоятельного подбора запчастей, а менеджеры — меньше ручных запросов и более структурированные заявки. Бот помогает сравнивать предложения разных поставщиков, быстрее находить OEM-номера и доводить пользователя до заказа прямо в Telegram.

Стек технологий

Python, aiogram 3, asyncio, SQLAlchemy 2.0, Alembic, PostgreSQL, SQLite, Playwright, aiohttp, Pydantic, rapidfuzz, BeautifulSoup, OpenRouter API, Google Sheets API.

Связанные материалы

Как создать Telegram-бота

Пошаговый план разработки бота для бизнеса: сценарии, интеграции, сервер и запуск.

Читать гайд

Telegram-бот с Google Sheets

Как использовать таблицы для заявок, отчетов, справочников и админ-панели.

Читать гайд

Аналитика маркетплейсов

Как автоматизировать сбор данных, P&L, витрины и отчеты по маркетплейсам.

Читать гайд

Нужен похожий бот для вашего бизнеса?

Расскажите о поставщиках, каталогах и сценариях подбора, а мы предложим архитектуру и предварительную оценку проекта.