← Все статьи

Интеграция с Авито: от реального Business API до 5000 запросов без ошибок

Кейс Agency по интеграции с Авито: реальный Business API, ранний контур FreeHost/Make, live extraction и backend-пилот с 5000 запросов без ошибок.

Интеграция с Авито: от реального Business API до 5000 запросов без ошибок

Этот кейс — не рассказ о «волшебной интеграции с Авито» и не обещание готового production-контура. Это история того, как у Agency последовательно появлялись три разных доказательства: реальный ответ Avito Business API в раннем контуре, отдельная проверка чтения публичной страницы и затем изолированный backend-пилот с нагрузочным тестом.

Коммерческий продукт и актуальные возможности коннектора описаны отдельно на странице интеграции с Авито. Здесь — именно технический case study: что было сделано, что измерено и где проходит граница доказанного результата.

Этап 1. Реальный Avito Business API ещё до нынешнего пилота

Ранний контур был собран в 2025 году. В Make использовалось собственное приложение Avito, OAuth 2.0 и refresh-token. Отдельный сценарий обновлял токен, отдельный сценарий выполнял API-запросы, а Data Store хранил маршруты и результаты.

После refresh-token был получен реальный ответ Avito Business API с объектами meta и resources[]. В восстановленном результате присутствовало одно активное объявление с item ID 4587000131, статусом active, категорией «Бытовая техника» и адресом в Стерлитамаке. То есть речь не о моках и не о нарисованной схеме: API действительно вернул карточку объявления.

Официально Avito предоставляет Business API для интеграций с внешними системами — это можно проверить в документации Авито для бизнеса. Наш ранний контур использовал именно этот класс взаимодействия.

Серверная часть ранней разработки относилась к FreeHost, облачная логика custom-коннектора работала в Make. Текущая проверка FreeHost в сентябре 2026 года не показывает там активного standalone Avito-проекта. Это важно: мы не выдаём текущее состояние хоста за доказательство исторической архитектуры и наоборот.

Что мы сознательно не приписываем раннему контуру

В маршрутах фигурировали чтение списка объявлений, карточек, статистики, VAS и операция изменения цены. Но наличие маршрута update_price ещё не означает успешный live write-back. Достаточного evidence безопасной записи в реальный аккаунт сейчас нет, поэтому утверждать, что Agency уже меняло цену объявления через Avito API, было бы неправильно.

Этап 2. Отдельно проверили чтение публичной страницы

До 2 августа 2026 года был выполнен отдельный reader/extractor probe на реальной публичной странице Avito. Jina reader вернул HTTP 200 и 10 741 символ нормализованного содержимого. Затем extractor получил HTTP 200, нашёл evidence продавца и классифицировал страницу как пригодную для структурированного извлечения.

Эта проверка решала другую задачу. Business API доказывал работу авторизованного API-контура. Reader/extractor показывал, что публичное представление объявления можно прочитать и разобрать отдельно. Эти два результата нельзя смешивать, но вместе они давали полезное понимание того, какие уровни доступа возможны.

Этап 3. Новый изолированный backend-пилот

31 августа 2026 года мы вынесли Avito в отдельный проект avito-agent-pilot. Задача была уже продуктовой: проверить, насколько тяжёлым окажется стандартный read-only connector layer в модели «один клиент — отдельный сервер».

В пилоте реализовали read-only surface для аккаунта, списка объявлений, карточки объявления, списка чатов и истории сообщений. После этого прогнали функциональные тесты и нагрузку.

  • 8 из 8 тестов — PASS;
  • 5000 запросов;
  • 50 параллельных workers;
  • 0 ошибок;
  • throughput около 292 req/s;
  • p50 около 166 мс, p95 около 211 мс, p99 около 254 мс;
  • warm RSS около 50,8 МБ;
  • после нагрузки — примерно 58,5–59,9 МБ.

Среда была ограничена эквивалентом 1 vCPU и MemoryMax 1024 МБ. После 5000 запросов SQLite audit занимал порядка 152 КБ основной базы и 210 КБ WAL. Это показывает, что сам read-only backend лёгкий по ресурсам.

Что на самом деле доказывают 5000 запросов без ошибок

Этот benchmark показывает устойчивость конкретного connector/backend layer в тестовом read-only режиме. Он не доказывает полный production sizing для реального контура «Avito + AI-оркестрация + write-back + TLS + мониторинг + история диалогов».

Следующая полноценная acceptance-ступень должна быть отдельной: реальные credentials и scopes, live read acceptance на аккаунте, затем отдельно разрешённые write-actions с правами, audit и idempotency, и только после этого — benchmark полного контура.

Почему для нас этот кейс важнее красивой схемы интеграции

За один кейс здесь собраны три разные ступени зрелости: реальный API-ответ, проверка альтернативного пути чтения и измеренный backend-пилот. Это позволяет не продавать абстрактный «коннектор», а разделять, что уже доказано, что протестировано и что ещё требует live acceptance.

В продукте Agency Avito входит в стандартный набор коннекторов AI-ассистента. Актуальная архитектура, права и коммерческие границы описаны на странице коннектора Avito и в разделе AI для управления бизнесом.