Подключение Avito

Подключите мессенджер Авито к Excella за 6 минут. Бот отвечает покупателям от имени продавца 24/7, подтягивает контекст объявления и эскалирует сложные вопросы оператору.

Версия API v3.2Обновлено 27 апреля 2026 г.Время чтения ~2 минAPI оперативно: 99.98%

Обзор

Интеграция с Авито позволяет принимать сообщения покупателей внутри обычной ленты Excella — рядом с Telegram, VK и почтой. AI-бот отвечает на вопросы, ссылаясь на конкретное объявление и его атрибуты (цена, наличие, доставка), а оператор подключается одним кликом, когда нужен живой человек.

i
Что вы получите
Единый инбокс для всех каналов · автоответ на типовые вопросы · контекст объявления в каждом ответе · эскалация в Bitrix24/AmoCRM · аналитика конверсии в звонок.

Для каких аккаунтов работает

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

ШАГ 01

Авторизация в Авито

Войдите в личный кабинет Авито и убедитесь, что профиль подтверждён. Без подтверждения API-доступ выдаётся в режиме read-only.

ШАГ 02

Регистрация приложения

Перейдите в developers.avito.ru → Создать приложение. Сохраните client_id и client_secret.

ШАГ 03

OAuth в Excella

В админке Excella откройте Каналы → Avito → Подключить. Вы будете перенаправлены на consent-страницу Авито.

ШАГ 04

Тестовое сообщение

Откройте любое своё объявление с другого аккаунта и напишите «привет». Сообщение должно появиться в инбоксе Excella в течение 3 секунд.

OAuth-подключение

Excella запрашивает у Авито scope messenger:read и messenger:write. Refresh-токен обновляется автоматически каждые 22 часа — переподключение не требуется.

Через REST API

request.shBASH
curl -X POST https://api.excella.ru/v3/channels/avito/connect \
  -H "Authorization: Bearer $EXCELLA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "abc123",
    "client_secret": "secret_xyz",
    "redirect_uri": "https://app.excella.ru/oauth/callback"
  }'
!
Не публикуйте client_secret
Авито отзывает credentials, если client_secret попадает в публичный репозиторий. Храните его только в переменных окружения и серверных секретах.

Параметры канала

Поля, доступные при настройке канала Avito:

ПараметрТипПо умолчаниюОписание
profile_idreqstringID профиля продавца на Авито
auto_replybooleantrueАвтоматически отвечать ботом без подтверждения оператора
response_delay_secnumber0Задержка перед отправкой ответа (для имитации «живого» ответа)
office_hoursstring24/7Расписание работы бота. Формат: mon-fri 09:00-21:00 Europe/Moscow
forward_to_phonebooleanfalseПередавать запрос телефона из Авито в инбокс Excella
context_ttl_minnumber60Срок хранения контекста диалога в минутах

Webhooks

Excella отправляет события на ваш URL. Запросы подписаны HMAC-SHA256 заголовком X-Excella-Signature. Ретраи: 3 попытки с задержкой 5/15/45 секунд.

ПараметрТипПо умолчаниюОписание
avito.message.receivedeventПокупатель прислал сообщение
avito.message.senteventБот или оператор отправил ответ
avito.contact.capturedeventПокупатель оставил телефон или email
avito.escalation.requestedeventБот не уверен в ответе → передал оператору
avito.deal.closedeventПродажа закрыта (с UTM или ручным маркером)

Пример обработчика

webhook-handler.jsJS
import crypto from "crypto";

app.post("/webhooks/excella", (req, res) => {
  const sig = req.headers["x-excella-signature"];
  const expected = crypto
    .createHmac("sha256", process.env.WEBHOOK_SECRET)
    .update(JSON.stringify(req.body))
    .digest("hex");

  if (sig !== expected) return res.sendStatus(401);

  const { type, payload } = req.body;
  if (type === "avito.message.received") {
    console.log("New Avito message:", payload.text);
  }
  res.sendStatus(200);
});
i
Идемпотентность
Каждое событие имеет request_id в заголовке. Сохраняйте обработанные id на 24 часа — Авито может прислать дубль при сетевых сбоях.

Типовые сценарии

ШАГ 01

Уточнение наличия

Бот проверяет атрибут availability объявления и отвечает «В наличии, отправляем сегодня» или предлагает похожее.

ШАГ 02

Расчёт доставки

Бот спрашивает регион, считает стоимость через интегрированный API СДЭК и присылает варианты.

ШАГ 03

Запрос телефона

После 3-го сообщения бот мягко запрашивает телефон, передаёт его в Bitrix24 как лид.

ШАГ 04

Передача оператору

При сложном вопросе или 2 неудачных попытках бот пишет «Зову коллегу», помечает диалог как priority и отправляет push оператору.

Антиспам и лимиты

!
Soft-rate-limits
Авито может временно блокировать аккаунт за слишком быстрые ответы (<2 секунд) или одинаковые шаблоны. Excella по умолчанию рандомизирует задержку и перефразирует ответы.
ПараметрТипПо умолчаниюОписание
messages_per_hournumber120Лимит исходящих сообщений в час на один профиль
identical_messagesnumber3Сколько одинаковых сообщений можно отправить подряд до перефразирования
min_response_delaynumber2Минимальная задержка ответа в секундах (имитация набора текста)

Тестовый стенд

У Авито есть sandbox-аккаунт sandbox.avito.ru с тестовыми объявлениями. Используйте его, чтобы протестировать сценарии без рисков для боевого профиля.

sandbox-listing.shBASH
curl -X POST https://sandbox-api.avito.ru/v1/items \
  -H "Authorization: Bearer $AVITO_TOKEN" \
  -d '{
    "title": "Тестовое объявление",
    "price": 1000,
    "category_id": 24
  }'

Коды ошибок

ПараметрТипПо умолчаниюОписание
401 token_expiredauthСрок токена истёк. Excella автоматически обновит — обычно это лечится повтором запроса.
403 scope_missingauthНет нужного scope. Переподключите канал и подтвердите запрашиваемые права.
409 channel_takenconfigПрофиль Авито уже подключён к другому аккаунту Excella. Отвяжите старый.
429 rate_limitedlimitПревышен лимит. Заголовок Retry-After подскажет, через сколько повторить.
503 avito_unavailableupstreamАвито временно недоступен. Excella сама встанет в очередь и повторит позже.

FAQ

i
Можно подключить несколько профилей Авито?
Да, до 50 профилей в одном аккаунте Excella. Каждый профиль — отдельный канал в инбоксе.
i
Бот отвечает за продавца — это разрешено правилами Авито?
Да. Авито явно разрешает автоответы при условии, что они помечены как «Автоответ» и оператор может перехватить диалог. Excella соблюдает оба требования.
i
Что с приватностью покупателя?
Excella хранит сообщения в РФ-дата-центрах согласно 152-ФЗ. Можно настроить TTL хранения от 30 дней до 5 лет.

История изменений

v3.2 · 25.04.2026 — добавлен webhook avito.deal.closed, поддержка sandbox-окружения, улучшено антиспам-перефразирование.

v3.1 · 12.03.2026 — расписание работы бота (office_hours), задержка ответа для имитации живого набора.

v3.0 · 15.01.2026 — первая версия интеграции. OAuth, базовые webhooks, контекст объявления.