Авито в LidFly
Обычный профиль Авито для объявлений, сообщений, заказов, отзывов, продвижения и отраслевых API. Это отдельная интеграция: рекламные кампании по-прежнему работают через «Авито Реклама».
Два независимых подключения
provider="avito"
Профили, объявления, сообщения, отзывы, заказы, остатки, продвижение и партнёрские API. Scope профиля: connection_id + avito_user_id.
provider="avito_ads"
Рекламные аккаунты, кампании, группы, креативы, бюджеты и статистика. Scope рекламы: connection_id + account_id.
Обычные подключения Авито не увеличивают стоимость подписки. Тарификация рекламных аккаунтов «Авито Реклама» не меняется.
Как подключить
- Откройте Авито в кабинете LidFly.
- Нажмите Подключить через Авито и подтвердите нужные права.
- LidFly проверит профиль через
/core/v1/accounts/selfи покажет фактически выданные scopes. - Если у вас есть партнёрские API, откройте вкладку Расширенный доступ и один раз введите Client ID и Client Secret.
Client Secret и OAuth tokens шифруются и никогда не возвращаются в UI, MCP или логи. Несколько профилей можно подключить одновременно и выбрать основной.
Capability-driven доступ
Каталог инструментов полный, но конкретный профиль может выполнять только операции, разрешённые его OAuth scopes или партнёрским договором. Scope означает, что способ авторизации можно проверить, но доступ считается подтверждённым только после успешного вызова конкретной операции. Недоступный tool остаётся виден в поиске с объяснением причины.
- available — доступ подтверждён;
- configured_unverified — OAuth или Client credentials настроены, но конкретная операция ещё не проверена;
- unavailable — scope или партнёрский API не выдан, остальные разделы продолжают работать.
Для безопасного чтения с двумя допустимыми способами LidFly сначала использует ранее подтверждённый credential. Если Авито отвечает HTTP 401/403, выполняется не более одной попытки через альтернативный credential того же профиля. Ошибки параметров, отсутствие объекта, rate limit, сбой провайдера или сети не вызывают переключение.
Кнопка «Проверить» использует тот же порядок credentials: профиль остаётся рабочим, если ответил хотя бы один способ. Временная ошибка или отказ отдельной операции показываются в диагностике, но не отключают остальные инструменты профиля.
Покрытие каталога Avito API
Checked-in manifest содержит 248 операций во всех 25 разделах: 137 актуальных бизнес-действий, 70 операций с отдельным партнёрским доступом, 13 deprecated с заменами, 4 инфраструктурных Auth и 24 операции отдельного провайдера Ads.
| Группа | Разделы | Что доступно |
|---|---|---|
| Профиль и аналитика | User, Item, Tariff | Профиль, объявления, статистика и тарифы. |
| Коммуникации | Messenger, Ratings, Special Offers | Чаты, сообщения, отзывы и специальные предложения. |
| Коммерция | Autoload, Stock, Orders, Promotion | Автозагрузка, остатки, заказы и услуги продвижения. |
| Продвижение | Auction, Autostrategy, CPA, CPX Promo, TrxPromo | Ставки, стратегии и продвижение с preflight цены и баланса. |
| Вертикали | Job, STR, Realty, CallTracking | Работа, краткосрочная аренда, аналитика недвижимости и звонки. |
| Иерархия компании | Accounts Hierarchy | Сотрудники, телефоны компании и закрепление объявлений. |
| Нужен партнёрский доступ | Autoteka, Доставка, Avito Promo | Автотека работает через отдельную учётную запись и свой token endpoint, раздел «Доставка» описывает интеграцию служб доставки и песочницу, Avito Promo — агентский API. Такие операции остаются в каталоге покрытия, но не публикуются как инструменты. |
| Отдельно | Auth, Ads | Auth реализован инфраструктурно; Ads остаётся в Авито Рекламе. |
Работа через ИИ
- ИИ вызывает
get_provider_context({ provider: "avito" })и выбирает точныеconnection_idиavito_user_id. - Находит действие через
search_tools({ provider: "avito" })и получает его контракт черезget_tool_schema. - Чтения запускает через
call_tool; изменения — только черезcall_write_toolпосле вашего подтверждения. - После записи перечитывает объект и показывает состояние до/после.
Кампании нельзя искать через resolve_campaign_scope(provider="avito"): этот meta-tool относится к рекламному провайдеру avito_ads.
Как безопасно обновлять объявления через Autoload
У Avito API нет одного универсального метода для изменения описания, телефона, часов работы и всех остальных полей существующего объявления. Такие изменения вносятся в полную запись объявления в исходном фиде, после чего запускается обработка этого фида.
- ИИ читает профиль Автозагрузки и текущую или последнюю успешную загрузку, чтобы показать URL и охват фида.
- В источнике фида обновляется нужная полная запись. Её
Idнельзя менять: по нему Авито распознаёт объявление между загрузками. - Перед запуском ИИ предупреждает, что будут обработаны все подходящие объявления файла, и просит явное подтверждение.
- После обработки ИИ проверяет связь
Id → Avito IDи результат по каждому объявлению через методы v4.
Расписание и URL фида меняются отдельно в настройках профиля. Перед записью ИИ читает текущие настройки и отправляет полный профиль целиком: autoload_enabled, feeds_data, report_email и schedule. Поля самого объявления меняются в фиде, если они поддерживаются выбранной категорией.
Не считайте сохранение Avito ID и накопленной статистики безусловной гарантией. Неизменный Id нужен для распознавания того же объявления, но итог всегда следует подтвердить после загрузки. Новый или изменённый Id может привести к созданию другого объявления.
Через API можно запустить только одну полную выгрузку в час. При неопределённом результате ИИ не повторяет запуск, а проверяет текущую загрузку.
Безопасность записей
- HTTP method не определяет безопасность: read/write-класс задан manifest, потому что часть чтений Авито использует POST.
- Read-запрос может безопасно повториться при сети, 429 или 5xx; write-запрос не повторяется автоматически.
- Write-запрос после отправки никогда не переключается между OAuth и Client credentials, поэтому одно изменение не дублируется.
- Деньги, продвижение, доступы, заказы, статусы, blacklist, рассылки, юридические операции, изменение полного профиля Autoload и запуск полного фида помечены как destructive.
- При timeout или 5xx после отправки результат становится
unknown/ambiguous. ИИ проверяет его черезget_write_operation_statusи не отправляет write повторно. - Автозапуски первого релиза могут использовать только read-инструменты Авито.
Webhook и приватные файлы
Регистрация webhook Messenger/Job временно недоступна до запуска обработки событий. LidFly не включает webhook, который только накапливал бы приватные сообщения или отклики без пользовательского сценария; защитный срок хранения event payload ограничен семью днями.
Для загрузки изображения в Messenger ИИ передаёт media_id своей картинки или публичный media_url. LidFly сам проверяет файл и формирует multipart-запрос Авито — передавать служебное поле uploadfile[] вручную не нужно.
Голосовые сообщения, записи звонков и PDF-этикетки хранятся вне публичных сайтов. Для скачивания нужны активная сессия владельца и подписанная ссылка, которая действует 15 минут.