Как связать Авито, Telegram и мессенджер МАКС на серверлессе за 0 рублей: инженерный лайфхак вместо 50 000 ₽ в год

Как связать Авито, 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 ₽ в месяц).

В этом и кроется важная особенность. Действующий бизнес на Авито тариф («Расширенный» в услугах или «Максимальный» в товарах) обычно и так оплачивает для продвижения — чтобы скрывать конкурентов в карточке и размещать объявления пакетами.

И если подключать классические сторонние комбайны, к расходам добавляется еще одна постоянная абонплата просто за функцию шлюза. Серверлесс-подход позволяет обойтись без этих дополнительных затрат — вся логика пересылки и мгновенного автоответа работает автономно. Связку можно собрать двумя путями:

  1. Прямо внутри Telegram Serverless (без сторонних облаков вообще):

В проекте бота создается эндпоинт (/endpoints/avito.js), куда Авито шлет вебхук при новом сообщении. Бот парсит JSON, за полторы секунды шлет подтверждение покупателю через Avito API и пушит карточку лида мастеру в личку Телеграма. Всё крутится внутри одного рантайма за 0 рублей.

  1. Через Yandex Cloud Functions (независимый российский контур):

Если важно держать базу строго в РФ по 152-ФЗ или складывать лиды в бессерверную YDB. Функция просыпается на 150 миллисекунд по вебхуку, отрабатывает логику и засыпает.

Покупатель на Авито (23:15) │ ▼ Официальный вебхук Avito API │ ▼ Serverless-обработчик (TG Serverless либо YCF) ──► (0 ₽/мес) │ ├─► Автоответ в чат Авито (через 1.5 сек): │ «Приняли заявку! Подскажите, в какой район нужна доставка?» │ └─► Push в Telegram мастеру: «Новый лид по кухне. Вопрос: сколько стоит? [Ссылка на диалог]»

А где подвох? Честный расчет лимитов 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-расширение: «Авито Быстрые Ответы».

Как связать Авито, Telegram и мессенджер МАКС на серверлессе за 0 рублей: инженерный лайфхак вместо 50 000 ₽ в год

Сделал интерфейс ровно так, как он должен был работать изначально:

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. Но когда вы начинаете собирать там бота, сразу натыкаетесь на технические грабли:

  1. Сертификаты Минцифры РФ:

Шлюз МАКС работает на доверенных отечественных SSL-сертификатах НУЦ Минцифры. Стандартные серверные окружения (Node.js, Python) по умолчанию их не знают и наглухо рвут соединение с ошибкой CERT_HAS_EXPIRED или UNABLE_TO_VERIFY_LEAF_SIGNATURE. Чтобы бот ожил в облаке, приходится явно подкладывать корневой сертификат russian_trusted_root_ca.pem в рантайм.

  1. Архитектура квиз-бота в МАКС:

В отличие от Телеграма, встроенного серверлесса у МАКС пока нет. Поэтому развернул движок квиза на 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 МАКС — пишите в комментариях, с удовольствием отвечу!