Как связать Авито, Telegram и мессенджер МАКС на серверлессе за 0 рублей: инженерный лайфхак вместо 50 000 ₽ в год
Если вы продаете товары или развиваете услуги на Авито, вы наверняка знаете главное правило классифайдов: скорость первого отклика решает всё.
Покупатель поздно вечером отправляет один и тот же вопрос («Сколько стоит?», «Есть в наличии?») сразу в несколько похожих объявлений. И диалог почти всегда выигрывает тот, кто выходит на связь в первую минуту — пока человек еще держит телефон в руках и готов обсуждать заказ.
Стандартный путь автоматизации на рынке — подключить готовые платформы интеграций или конструкторы ботов. Это удобные сервисы с визуальными интерфейсами, но для небольшого бизнеса регулярная подписка на них (от 2 500 до 4 500 рублей в месяц за каждый канал) со временем складывается в заметную сумму — 40–60 тысяч рублей в год просто за пересылку входящих сообщений.
Я делаю автоматизации по модели Serverless (без постоянных серверов), и недавно я задался вопросом: а можно ли решить ту же самую задачу элегантнее, быстрее и без постоянной абонентской платы?
Оказалось, что современные платформы уже дают для этого всё необходимое, просто об этих возможностях мало кто знает:
- В Telegram появилась нативная серверлесс-инфраструктура со встроенной базой SQLite и прямыми HTTP-эндпоинтами;
- В Yandex Cloud действует щедрый Free Tier на 1 миллион вызовов функций в месяц, который полностью покрывает объемы даже активного магазина;
- А в новом мессенджере МАКС (MAX) запущен официальный Bot API, который отлично стыкуется с российским облачным контуром.
В этой статье я по шагам покажу архитектуру такой связки, разберу скрытые нюансы тарифов площадок и поделюсь открытым кодом моста.
Экономика вопроса: из чего складываются затраты на автоматизацию
Если малому бизнесу нужен бот-калькулятор в Телеграме, автоответчик на Авито и точка контакта в МАКС, стандартный путь интеграций выглядит так:
- Конструктор чат-ботов списывает от 2 500 до 4 500 рублей каждый месяц за каждый подключенный канал.
- Отдельно тарифицируются рабочие места менеджеров и пакеты активных диалогов.
- Добавьте сюда аренду виртуального сервера (VPS) за 500–800 рублей в месяц, если боту нужен особенный бэкенд.
За год набегает круглая сумма — от 40 до 60 тысяч рублей.
Но с инженерной точки зрения под капотом здесь нет тяжелых вычислений, нейросетей или терабайтов трафика. Это обмен короткими вебхуками. И если использовать бессерверные возможности самих платформ, эту статью расходов можно полностью оптимизировать.
Ниже — как решается задача для трех ключевых каналов.
Канал 1. Telegram: нативный Serverless вообще без серверов
Большинство предпринимателей и даже разработчиков до сих пор уверены, что для запуска телеграм-бота обязательно нужен либо арендованный VPS-сервер, либо сторонний конструктор с подпиской.
Мало кто заметил, но Telegram выкатил собственную нативную серверлесс-инфраструктуру (core.telegram.org/bots/serverless).
Это полностью меняет архитектуру: сторонние серверы или внешние облачные провайдеры больше не нужны вообще:
- Код крутится прямо в дата-центрах Telegram: вы пишете обычный JavaScript-модуль, который выполняется в быстрых V8-песочницах прямо рядом с Telegram Bot API. Задержка отклика — единицы миллисекунд.
- Встроенная база данных: не нужно поднимать PostgreSQL или Redis. В Telegram Serverless из коробки встроена SQLite-база (import { table } from 'sdk/db'), куда можно писать сессии диалога, шаги квиза и контакты лидов.
- Собственные HTTP-эндпоинты: в проект можно положить файл эндпоинта (например, /endpoints/notify.js или /endpoints/avito.js), и бот сам становится веб-сервером, принимающим входящие POST-запросы из внешнего мира.
- Деплой в одну строчку: проект собирается локально и заливается через официальный CLI одной командой npx @tgcloud/cli push.
Главный плюс Телеграма здесь — полная доступность: запустить такого бота может абсолютно любой человек за пять минут через @BotFather, без ИП, договоров и проверок документов.
Я на этой базе собрал движок квиз-бота (опрос на 4 шага с расчетом сметы ремонта и захватом телефона). Пользователь жмет инлайн-кнопки, бот моментально отдает следующий вопрос без сетевых задержек, сохраняет заявку во встроенную базу и пересылает карточку лида владельцу. Стоимость содержания — 0 рублей.
Канал 2. Авито: скрытый порог API, два варианта серверлесса и боль веб-чата
С Авито я сразу наступил на грабли с тарифами, о которые спотыкаются почти все.
Подключиться к официальному API «с улицы» нельзя. В Авито нет отдельного «тарифа Pro» — так называется только сам кабинет профессионала. А вот тарифная сетка устроена хитро: есть модель оплаты за просмотры или размещения плюс три набора услуг — «Базовый», «Расширенный» и «Максимальный».
И тут кроется главное ограничение, о котором часто молчат интеграторы:
- На бесплатном наборе «Базовый» раздел API мессенджера закрыт наглухо. Сгенерировать ключи (client_id и client_secret) для переписки нельзя вообще.
- В категории «Услуги» доступ к Messenger API открывается только с тарифа «Расширенный» (в среднем от 2 000 до 3 500 ₽ в месяц в зависимости от региона).
- А в категории «Товары» (запчасти, стройматериалы, оборудование) Авито пускает к API сообщений вообще только на тарифе «Максимальный» (от 4 000–6 000 ₽ в месяц).
В этом и кроется важная особенность. Действующий бизнес на Авито тариф («Расширенный» в услугах или «Максимальный» в товарах) обычно и так оплачивает для продвижения — чтобы скрывать конкурентов в карточке и размещать объявления пакетами.
И если подключать классические сторонние комбайны, к расходам добавляется еще одна постоянная абонплата просто за функцию шлюза. Серверлесс-подход позволяет обойтись без этих дополнительных затрат — вся логика пересылки и мгновенного автоответа работает автономно. Связку можно собрать двумя путями:
- Прямо внутри Telegram Serverless (без сторонних облаков вообще):
В проекте бота создается эндпоинт (/endpoints/avito.js), куда Авито шлет вебхук при новом сообщении. Бот парсит JSON, за полторы секунды шлет подтверждение покупателю через Avito API и пушит карточку лида мастеру в личку Телеграма. Всё крутится внутри одного рантайма за 0 рублей.
- Через Yandex Cloud Functions (независимый российский контур):
Если важно держать базу строго в РФ по 152-ФЗ или складывать лиды в бессерверную YDB. Функция просыпается на 150 миллисекунд по вебхуку, отрабатывает логику и засыпает.
А где подвох? Честный расчет лимитов Yandex Cloud Free Tier
В комментариях наверняка спросят: Яндекс же коммерческая компания, с чего им раздавать вычислительные мощности бесплатно?
Подвоха нет, но есть прозрачный ежемесячный лимит — Free Tier. Яндекс дает его каждому аккаунту для популяризации своей бессерверной платформы:
- 1 000 000 вызовов функций (YCF) каждый календарный месяц — бесплатно;
- 10 000 000 ГБ-секунд вычислений (при объеме RAM 128 МБ это 80 млн секунд работы функции) — бесплатно;
- 1 ГБ хранилища в YDB и первые 10 ГБ исходящего интернет-трафика — бесплатно.
Давайте переведем эти цифры в реальные диалоги на Авито.
На одно входящее сообщение покупателя тратится ровно 1 вызов функции (принять вебхук, отправить автоответ в API Авито и пушнуть лид в Телеграм мастеру). Даже если бот задает пару уточняющих вопросов по размерам или материалу — это максимум 2–3 вызова на весь диалог.
Миллион вызовов — это больше 300 000 сообщений в месяц (или свыше 10 000 сообщений в сутки).
Для сравнения:
- Частный мастер или небольшая мебельная студия получают в среднем от 10 до 30 заявок в день. Это расходует меньше 0.1% от бесплатного лимита.
- Крупный региональный магазин автозапчастей или стройматериалов со 150 обращениями в день потратит за месяц около 0.5% лимита.
То есть для 99% малого бизнеса порог бесплатных ресурсов недостижим.
А если у вас федеральная сеть и поток пробьет миллион сообщений? Яндекс не заблокирует бота, а просто начнет тарифицировать превышение: ~156 рублей за каждый следующий миллион вызовов. Сравните 156 рублей за миллион операций и 3 000–5 000 ₽ абонплаты сторонних конструкторов, которые под капотом гоняют ровно те же самые серверлесс-запросы.
В варианте с Telegram Serverless код изолированно исполняется прямо на инфраструктуре Telegram Cloud в рамках Fair Use их Bot API — внешнего облачного биллинга нет вовсе.
А как же штатные быстрые ответы Авито? И что делать без тарифа с API?
В комментариях опытные селлеры наверняка заметят: «Подожди, но ведь в Авито уже есть встроенные быстрые ответы через значок плюсика!».
Функция действительно есть, но любой, кто пробовал отвечать клиентам с компьютера на реальном потоке, знает эту боль:
* Лимит всего в 15 шаблонов на весь аккаунт (для магазина с несколькими категориями товаров, адресами складов и условиями доставки этого катастрофически мало); * Ограничение в 500 символов на один ответ; * Четыре клика на фразу: чтобы отправить штатный шаблон, нужно нажать на плюсик, дождаться выпадающего меню, кликнуть «Быстрые ответы», проскроллить список и только потом подставить текст в поле; * В веб-версии Авито нет кнопки эмодзи: вставить даже банальное рукопожатие или галочку с клавиатуры ноутбука нельзя — приходится либо помнить системные шорткаты (Win + . на Windows или Cmd + Ctrl + Space на Mac), либо копировать смайлики из других вкладок.
А если у вас базовый тариф или категория «Товары» без максимальной подписки — официальный Messenger API закрыт самой площадкой. Подключить телеграм-бота для автоответов Авито просто не позволит технически.
Специально для таких случаев я собрал бесплатное Chrome-расширение: «Авито Быстрые Ответы».
Сделал интерфейс ровно так, как он должен был работать изначально:
1. Кнопки шаблонов встраиваются прямо над полем ввода веб-чата. Они всегда перед глазами — никаких плюсиков и вложенных меню. 2. Честный один клик: нажали кнопку — развернутый ответ уже в чате. 3. Встроенная панель ходовых эмодзи (👍, 🤝, 📦, 🚚, 📍, ✅) 4. Никаких ограничений: сохраняйте хоть 50, хоть 100 шаблонов со сквозной синхронизацией между вашими ПК через Google-аккаунт (chrome.storage.sync).
Расширение полностью бесплатное, работает локально в браузере и не требует API. Я выложил его в Chrome Web Store, ставьте и пользуйтесь.
Канал 3. Новый мессенджер МАКС (MAX): нативный бот и грабли с Минцифры
Самая свежая история — это мессенджер МАКС (max.ru). Сейчас бизнес активно заходит на эту площадку, регистрирует каналы и ищет способы автоматизировать общение с клиентами.
Но здесь есть принципиальная разница с Телеграмом, о которой нужно знать на старте: юридический порог входа.
Если в Telegram создать бота может любой школьник анонимно, то в МАКС регистрация ботов закрыта для обычных физлиц. Создать бота можно только через специальный бизнес-портал business.max.ru. И доступен он строго Самозанятым, ИП и Юридическим лицам с обязательной верификацией через Госуслуги или реквизиты. С одной стороны, это барьер, с другой — полностью очищает платформу от анонимного мусора и спамеров.
Технически у МАКС есть официальный Bot API на шлюзе platform-api2.max.ru. Но когда вы начинаете собирать там бота, сразу натыкаетесь на технические грабли:
- Сертификаты Минцифры РФ:
Шлюз МАКС работает на доверенных отечественных SSL-сертификатах НУЦ Минцифры. Стандартные серверные окружения (Node.js, Python) по умолчанию их не знают и наглухо рвут соединение с ошибкой CERT_HAS_EXPIRED или UNABLE_TO_VERIFY_LEAF_SIGNATURE. Чтобы бот ожил в облаке, приходится явно подкладывать корневой сертификат russian_trusted_root_ca.pem в рантайм.
- Архитектура квиз-бота в МАКС:
В отличие от Телеграма, встроенного серверлесса у МАКС пока нет. Поэтому развернул движок квиза на Yandex Cloud Functions с хранением сессий в бессерверной YDB.
Обкатал эту связку на боте для клиента в строительной тематики. Бот мгновенно отдает интерактивные клавиатуры в чате МАКС, собирает параметры объекта, выдает предварительную смету со скидкой и пушит готовый контакт владельцу напрямую в личные сообщения мессенджера.
Вся инфраструктура — функции YCF, база YDB и шлюз доставки — укладывается в Free Tier лимит Яндекса. Затраты на поддержку бота в МАКС — снова 0 рублей.
Что в итоге
Эпоха, когда малому бизнесу нужно было платить по 50 тысяч в год за базовую пересылку сообщений между чатами, объективно заканчивается.
- В Telegram появился нативный Serverless, где бот со встроенной базой SQLite и собственными HTTP-эндпоинтами крутится прямо внутри платформы без внешних серверов;
- В Авито пересылку вебхуков можно завернуть либо прямо в Телеграм, либо в Yandex Cloud Functions — в обоих случаях за 0 рублей абонплаты (бесплатного миллиона вызовов Яндекса с головой хватает на 300+ тысяч сообщений);
- В МАКС запущен официальный Bot API с жестким B2B-фильтром (только самозанятые/ИП/юрлица), где надежные связки строятся на российском серверлессе;
- А сэкономленный бюджет гораздо эффективнее направить на прямое продвижение своих же товаров и услуг.
Сразу честно скажу по статусу: связки в Telegram и МАКС у нас уже крутятся в проде, а мост для Авито написан строго по спеке и протестирован на эмуляциях. Исходный код моста с мок-сервером и примерами для YCF и Telegram Serverless я открыл на GitHub: poptech-space/avito-telegram-bridge. Можно свободно брать за основу или запускать локальные тесты.
А если есть вопросы по коду Telegram Serverless, Авито или Bot API МАКС — пишите в комментариях, с удовольствием отвечу!