Документация

Руководство по Avi.Solpy

Всё, что нужно, чтобы подключить аккаунты Avito и настроить работу команды: от первого входа до автоподнятия объявлений и заказов.

О сервисе

Avi.Solpy — мультиаккаунтная CRM для продавцов и сервисных компаний на Avito. Сервис объединяет в одном интерфейсе переписку по всем аккаунтам, автоответы, рассылки по диалогам, управление объявлениями и ценами, а также заказы с настраиваемыми полями под каждого администратора (tenant).

Работает в браузере, отдельное приложение не требуется. Подключение к Avito — по официальному API через OAuth.

Мультитенантность. Данные каждого кабинета изолированы на уровне моделей: сотрудники одного клиента не видят диалоги, объявления и заказы другого. Роль superadmin сервиса имеет доступ ко всем кабинетам для поддержки.

Быстрый старт

  1. Регистрация кабинета. Перейдите на avi.aa02.ru/register и создайте аккаунт компании. Первый пользователь получает роль admin — владельца кабинета.
  2. Добавление сотрудников. В разделе «Пользователи» админ заводит сотрудников. Публичной регистрации сотрудников нет: новому пользователю выдаётся временный пароль и флаг обязательной смены пароля при первом входе.
  3. Подключение аккаунта Avito. Раздел «Аккаунты» → «Подключить» → авторизация на стороне Avito → возврат в сервис. Токены сохраняются в зашифрованном виде, сразу запускается первая синхронизация.
  4. Настройка доступа. Для каждого сотрудника задайте уровень доступа к конкретному аккаунту: read, reply или manage.
  5. Работа. Отвечайте из «Инбокса», настройте «Автоответы», запускайте «Рассылки», синхронизируйте «Объявления», ведите «Заказы».

Роли и права

Управление доступом построено на ролях и отдельных правах (permissions). Базовые роли:

РольНазначение
superadminСотрудник сервиса. Видит все кабинеты, используется для поддержки.
adminВладелец кабинета. Полный доступ к своему кабинету, управляет пользователями, аккаунтами и настройками.
userСотрудник кабинета. Набор прав задаёт администратор.

Права (permissions)

Права выдаются точечно, всего их около 20. Основные группы:

  • users.manage, accounts.manage, logs.view — администрирование кабинета;
  • inbox.view, inbox.reply — просмотр и ответы в диалогах;
  • autoreply.manage, broadcast.manage — автоответы и рассылки;
  • listings.view, listings.rules.manage — объявления и правила автоподнятия;
  • orders.view, orders.create, orders.delete, order_fields.manage, order_statuses.manage — заказы и их конструктор.

Уровни доступа к аккаунту

Дополнительно к правам сотруднику назначается уровень доступа по каждому подключённому аккаунту Avito:

УровеньЧто можно
readТолько читать диалоги и данные аккаунта.
replyЧитать и отвечать в диалогах.
manageПолное управление аккаунтом: настройки, автоответы, рассылки, объявления.

Аккаунты Avito

Раздел «Аккаунты» — список подключённых кабинетов Avito.

  • Подключение. Кнопка «Подключить» ведёт на авторизацию Avito (OAuth). После подтверждения доступа сервис получает токены и запускает синхронизацию диалогов.
  • Хранение секретов. Client-секреты и токены хранятся зашифрованными и не отдаются в ответах интерфейса. Логин и пароль от Avito сервис не запрашивает и не хранит.
  • Обновление токенов. Access-токен обновляется автоматически по расписанию (раз в час) и «на лету» перед запросами к API.
  • Доступ сотрудников. Настраивается на карточке аккаунта — уровни read / reply / manage.

Инбокс

Раздел «Инбокс» — все диалоги всех аккаунтов в одном списке. На десктопе — две колонки (список и переписка), на мобильном — список с полноэкранным диалогом.

  • Входящие в реальном времени. Новые сообщения приходят через вебхуки Avito. Резервный поллинг раз в 5 минут страхует от пропусков.
  • Фильтр по аккаунту и кнопка ручной синхронизации.
  • Отправка ответов идёт через очередь с повторными попытками — сообщения не теряются при пиковых нагрузках.
  • История переписки подтягивается из API Avito при первой синхронизации диалога.
  • В режиме разработки доступна кнопка имитации входящего сообщения для проверки автоответов.

Автоответы

Раздел «Автоответы» (право autoreply.manage). Правило описывает, когда и что отправить автоматически.

Триггеры

ТриггерКогда срабатывает
first_messageПервое сообщение покупателя в диалоге.
keywordВ сообщении встречаются ключевые слова (режим «любое» / «все», с учётом или без учёта регистра).
no_reply_timeoutОператор не ответил в течение N минут.
off_hoursСообщение пришло в нерабочие часы.

Настройки правила

  • Рабочие часы (working_hours) — окна активности правила по дням недели.
  • Задержка (delay_seconds) — пауза перед отправкой ответа.
  • Один раз на чат (once_per_chat) — не повторять правило в том же диалоге.
  • Приоритет (priority) — какое правило применяется, если подходит несколько.
  • Отмена. Если оператор ответил раньше, чем истекла задержка, автоответ не отправляется.

Переменные в тексте

В шаблоне ответа доступны подстановки: {opponent_name} — имя покупателя, {item_title} — заголовок объявления, {item_url} — ссылка на объявление.

Все срабатывания пишутся в журнал (AutoReplyLog) с анти-спам-защитой, чтобы не отправлять один и тот же ответ повторно.

Рассылки

Раздел «Рассылки» (право broadcast.manage) — массовая отправка сообщения по диалогам аккаунта.

Аудитория

  • Все диалоги аккаунта;
  • только диалоги без нашего ответа;
  • по конкретным объявлениям;
  • выбранные вручную чаты.

Отправка

  • Лимит в час (throttle_per_hour) — отправка батчами, задача сама переставляется в очередь до конца списка.
  • Планирование (scheduled_at) — запуск в заданное время.
  • Жизненный цикл: черновик → собрать получателей → запустить → пауза / продолжить → завершено, либо отмена.
  • Статусы получателей: pending, sent, skipped, failed — видна статистика по кампании.

Шаблоны сообщений — раздел «Шаблоны». Поддерживают те же переменные, что и автоответы.

Объявления и цены

Раздел «Объявления» (право listings.view). Каталог объявлений аккаунта с синхронизацией из Avito раз в 30 минут.

  • Редактирование цены и статуса объявления прямо из интерфейса.
  • Массовые действия по выборке (изменение цены, снятие / публикация).
  • История цен — по каждому объявлению фиксируются изменения (ListingPriceHistory).

Правила автоподнятия

Раздел «Правила поднятия» (право listings.rules.manage). Правило автоматически поднимает объявления по расписанию.

  • Дневной бюджет (daily_budget) — поднятие останавливается, когда потраченная за сутки сумма достигает лимита.
  • Срабатывания пишутся в журнал (ListingBumpLog).
  • Правила выполняются фоновой задачей avito:run-bump-rules (ежеминутно).

Заказы

Раздел «Заказы» (право orders.view, создание — orders.create). CRM-часть сервиса с конструктором под конкретный бизнес.

Конструктор полей и статусов

  • Поля заказа (order_fields.manage) — администратор задаёт свой набор полей: типы, порядок, обязательность. Есть готовые пресеты (например, «химчистка мягкой мебели»).
  • Статусы заказа (order_statuses.manage) — своя воронка статусов с порядком и пресетами.

Работа с заказом

  • Создание из чата — заказ можно завести прямо из диалога с покупателем в инбоксе.
  • Назначение ответственного сотрудника.
  • Смена статуса и лента активности (OrderActivity) — история всех изменений по заказу.

Вебхуки

Входящие события Avito принимаются на адрес POST /webhooks/avito/{account}.

  • Аутентификация — по общему секрету (AVITO_WEBHOOK_SECRET).
  • Идемпотентность — повторные доставки отсекаются по ключу дедупликации (webhook_events.dedupe_key), сообщения не задваиваются.
  • После приёма события фоновая задача перечитывает соответствующий диалог через API Avito и обновляет данные.

Фоновые задачи

Периодические операции выполняет планировщик. В production очереди и планировщик работают через Redis + Horizon; локально задачи выполняются синхронно.

КомандаЧастотаНазначение
avito:syncкаждые 5 минутРезервный поллинг диалогов и сообщений.
avito:refresh-tokensежечасноОбновление access-токенов аккаунтов.
avito:auto-reply-timeoutsежеминутноПроверка правил «нет ответа N минут».
avito:run-scheduled-campaignsежеминутноЗапуск запланированных рассылок.
avito:sync-listingsкаждые 30 минутСинхронизация каталога объявлений.
avito:run-bump-rulesежеминутноАвтоподнятие объявлений по правилам.

Безопасность

  • Шифрование доступов — токены и секреты аккаунтов Avito хранятся зашифрованными, скрыты в сериализации.
  • Изоляция кабинетов — фильтрация по admin_id на уровне моделей, а не только интерфейса.
  • Двухфакторная аутентификация (2FA) для входа, поддержка passkey.
  • Обязательная смена пароля при первом входе сотрудника.
  • Нет публичной регистрации сотрудников — их заводит только администратор.
  • Журналы действий по автоответам и рассылкам.

Подробнее — на странице Безопасность.

Тарификация

  • Первые 3 месяца — бесплатно, все функции без ограничений, до 10 аккаунтов Avito, без банковской карты.
  • Далее — 1 000 ₽ в месяц за пакет из 10 аккаунтов Avito. Нужно больше — подключается ещё пакет на 10 аккаунтов за ту же цену.
  • Сотрудники не тарифицируются — число пользователей в кабинете не ограничено.
  • Оплата помесячно, картой или по счёту, с закрывающими документами.

Полное описание — на странице Тарифы.

Поддержка

Вопросы по работе сервиса — FAQ или страница Контакты (почта support@a.aa02.ru, Telegram @avisolpy). Время ответа — Пн–Пт, 10:00–19:00 МСК.

Готовы подключить аккаунты?

Регистрация занимает пару минут, первые 3 месяца — бесплатно.

Начать бесплатно

Avi.Solpy — независимый сервис. «Авито» является товарным знаком соответствующего правообладателя; сервис использует официальный API Avito для авторизованного доступа к данным ваших аккаунтов.