Папа БУ Попробовать 3 дня

Автоматизация Авито своими руками

7 мин чтения · разбор · для опытных · обновлено 2026-08-20

Автоматизация Авито своими руками — это не одна программа, а несколько связанных частей: доступ к API, приём событий, хранилище диалогов, логика ответа и дежурство человека поверх всего этого. Ниже — честный план: что именно придётся написать, в каком порядке и где вы почти наверняка споткнётесь.

Короткий ответ на главный вопрос: сделать можно, и это не rocket science. Прототип, который отвечает на одно объявление, собирается за пару вечеров. Система, которой можно доверить сотню диалогов в неделю без присмотра, — это уже недели работы, потому что почти весь код там про ошибки, а не про счастливый сценарий.

Из чего состоит система

Разложим на слои, чтобы было видно объём:

  1. Доступ. Приложение в кабинете Авито, пара ключей, обмен их на токен, обновление токена по расписанию.
  2. Приём событий. Либо периодический опрос новых сообщений, либо подписка на уведомления по вебхуку. Второе быстрее, но требует публичного адреса с HTTPS.
  3. Хранилище. Таблица диалогов и таблица обработанных сообщений. Без неё вы не отличите новое сообщение от повторно доставленного.
  4. Логика ответа. Сценарий на правилах, языковая модель или их смесь. Здесь же — база фактов о вашем товаре, иначе бот начнёт сочинять.
  5. Эскалация. Правило, по которому диалог передаётся человеку, и канал уведомления — почта, мессенджер, звонок.
  6. Наблюдение. Логи, счётчик ошибок, оповещение о том, что бот молчит уже час.

Каждый пункт по отдельности несложен. Сложна их совместная работа под нагрузкой и в ночь с субботы на воскресенье, когда вы спите.

План серии

Эта статья — оглавление. Дальше мы разбираем каждый узел отдельно: с чего начать работу с API площадки и как устроено приложение в кабинете; как принимать вебхуки и почему их обязательно доставляют дважды; как жить с токенами, которые истекают в середине диалога; как выглядит скелет бота-ответчика на Python и куда его класть, чтобы он не падал.

Прежде чем писать первую строчку, прочитайте разбор API мессенджера Авито — там про тарифы площадки и про то, что через API можно, а что запрещено. Это условия, которые вы не измените кодом, и от них зависит, имеет ли смысл вся затея.

Шаг 1. Доступ и токены

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

Подводный камень здесь один, зато болезненный: токен истекает. Не «когда-нибудь», а посреди рабочего дня, часто ровно между тем моментом, когда покупатель написал, и тем, когда вы собрались ответить. Наивный код, который получает токен при старте и держит его в переменной, работает ровно до первого истечения, а потом молча перестаёт отвечать. Правильное поведение: хранить срок жизни, обновлять заранее и обязательно уметь повторить запрос один раз, если пришёл отказ по авторизации. Подробности — в отдельной статье про токены.

Шаг 2. Получение сообщений

Опрос проще: раз в N секунд спрашиваете список непрочитанных чатов, разбираете новые сообщения. Минусы — задержка и расход лимитов запросов.

Вебхук быстрее: площадка сама стучится в ваш адрес, когда что-то произошло. Минусы — нужен сервер с публичным HTTPS и валидным сертификатом, и нужно быть готовым к двум вещам. Первая: одно событие доставят дважды. Так устроены все системы доставки уведомлений — при таймауте или ошибке на вашей стороне они повторяют попытку, и это правильно. Значит, у каждого входящего сообщения должен быть идентификатор, который вы записываете в таблицу и проверяете перед обработкой. Вторая: пока вы обрабатываете, придёт следующее событие. Отвечать нужно быстро — принял, положил в очередь, вернул успех, — а думать уже в фоне.

Шаг 3. Очередь и гонки

Покупатель редко пишет одно сообщение. Обычно это «Здравствуйте», через две секунды «Ещё продаёте?», ещё через три — «Торг возможен?». Если каждое обрабатывать независимо и параллельно, бот ответит тремя репликами подряд, причём вразнобой. Выглядит это ровно так, как выглядит: как робот.

Лечится двумя приёмами. Первый — блокировка на уровне диалога: одновременно обрабатывается только один чат, остальные события по нему ждут. Второй — небольшая пауза перед ответом, за которую успевают приехать «дописанные» сообщения, и тогда бот отвечает на всё разом. Пауза заодно убирает эффект мгновенного ответа за миллисекунду, который сразу выдаёт автомат.

Если писать всё это самому не хочется, готовый путь тоже есть: «Папа БУ» закрывает те же слои — доступ, приём сообщений, ответы вашими словами, отсев нецелевых и передачу готовых покупателей вам.

Шаг 4. Ответы и границы

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

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

Шаг 5. Эскалация и дежурство

Бот нужен не чтобы заменить продавца, а чтобы довести покупателя до момента, когда разговор стоит вашего времени. Значит, нужны правила передачи: клиент назвал сумму, спросил про оплату, попросил человека, начал раздражаться. И нужен канал, который вы реально видите: уведомление в мессенджер работает, письмо на почту — обычно нет.

Шаг 6. Хостинг и наблюдение

Минимум: небольшой сервер, автозапуск сервиса, логи с ротацией и отдельная проверка «жив ли бот». Хороший индикатор — время с момента последнего успешно отправленного ответа. Если оно больше часа в рабочее время, что-то сломалось: истёк токен, изменился формат ответа, кончились лимиты.

Про лимиты стоит сказать отдельно. У площадки есть ограничения на частоту запросов, и они не бесконечны. Код должен уметь получить отказ «слишком часто», подождать и повторить, а не падать в цикл повторов, который добьёт остаток лимита.

Когда этот путь не подходит

  • У вас один-два диалога в день. Автоматизация окупится примерно никогда, отвечайте руками.
  • Некому чинить. Своё решение требует владельца. Если единственный человек, понимающий код, уйдёт в отпуск, бот сломается в его отсутствие.
  • Товар сложный и меняется каждый день. Тогда основная работа не в коде, а в поддержании базы фактов, и её всё равно придётся делать руками.
  • Вы ждёте автопостинга и парсинга. Через официальный доступ этого не сделать, а неофициальные пути ведут к блокировке аккаунта.

Коротко

Автоматизация Авито своими руками — это доступ и токены, приём сообщений, защита от повторов и гонок, логика ответа с базой фактов, эскалация человеку и дежурство за сервером. Прототип — несколько вечеров. Надёжная версия — недели, и большая часть кода будет про ошибки, а не про диалог. Цифры сроков здесь для примера: они сильно зависят от вашего опыта и от того, сколько диалогов вы готовы потерять на отладке.

Если хочется сначала посмотреть, как это работает, а решение писать или подключать принимать потом, — самый быстрый способ увидеть свои же диалоги в автоматическом режиме здесь.

Если решение под свой бизнес нужно, а разбираться самому некогда — напишите мне в Telegram: @artem_sergeevic. Я делаю такие сервисы на заказ: обсудим задачу и честно разберём, что в ней действительно нужно, а что можно не делать вовсе.

Пока вы читаете, кто-то отвечает вашему покупателю. «Папа БУ» отвечает в чатах Авито за минуту вашими словами и передаёт вам тех, кто готов к сделке.

Попробовать 3 дня бесплатно

Частые вопросы

Сколько времени займёт разработка своего бота для Авито?
Рабочий прототип на одного продавца — несколько вечеров. Версия, которую не стыдно оставить без присмотра на выходные, — обычно несколько недель с учётом отладки.
Что самое сложное в такой системе?
Не отправка сообщений, а состояние: не ответить дважды на одно сообщение, не потерять его при перезапуске и корректно передать диалог человеку.
Нужен ли платный тариф Авито, если пишу код сам?
Да. Доступ к переписке через API — условие площадки, оно одинаково и для своего кода, и для готового сервиса.
Можно ли обойтись без сервера и держать бота на ноутбуке?
Для эксперимента да, для боевой работы нет: бот должен отвечать ночью и после перезагрузки, а ноутбук закрывают.
Помогла статья?

Ответ видят другие читатели: у полезных статей на витрине появляется оценка. А те, что не помогают, мы переписываем — по этой кнопке и решаем, какие именно.