# Avito Business

> Работать с профилем Авито и клиентами Avito Promo через LidFly MCP v3: объявления, Autoload/автозагрузка, сообщения, отзывы, заказы, остатки, продвижение и доступные партнёрские API. Использовать для задач Авито вне отдельного рекламного кабинета «Авито Реклама».

- Skill: `awaik/avito-business` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add awaik/avito-business`
- Raw SKILL.md: https://api.skillmd.com/api/skills/awaik/avito-business/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: awaik (https://skillmd.com/u/awaik)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/awaik/avito-business

---


# Авито

Используй для профилей Авито и прикреплённых клиентов Avito Promo: объявления, статистика, чаты, отзывы, заказы, остатки, продвижение, доставка, работа, недвижимость, Автотека и партнёрские API.

Не используй этот skill для рекламных кампаний, групп, креативов и рекламного `account_id`: для них нужен `$avito-ads`.

## Scope

1. Если профиль не определён, вызови напрямую `get_provider_context({ provider: "avito", query? })`.
2. Копируй только точные значения из возвращённых `tool_args`.
3. `avito_user_id` — ID обычного профиля Авито. Не подменяй его 9-значным рекламным `account_id`.
4. `resolve_campaign_scope` для `provider="avito"` не используется: кампании принадлежат отдельному провайдеру `avito_ads`.
5. Если выбран проект Пространства, передавай точный `workspace_project_id`; при неоднозначности остановись и уточни его.
6. Для `scope_type=agency_client` используй только `connection_id` и `agency_client_id` из `tool_args`. Подписка Avito Promo — диагностика агентства, а не разрешение на другие операции.

## Capability-first workflow

1. `search_tools({ provider: "avito", query })`.
2. Если результатов нет, повтори `search_tools({ provider: "avito" })`.
3. Получи схему через `get_tool_schema({ tool_name })`.
4. Если инструмент вернулся с `unavailableReason`, объясни причину. Не угадывай другое имя и не смешивай OAuth/personal credentials разных профилей.
5. Read-only действие выполни через `call_tool`.
6. Любое изменение — только через `call_write_tool`.

Наличие подключения не означает доступ ко всем 25 разделам API. OAuth scopes и партнёрские capabilities выдаются Авито отдельно; отказ одного раздела не блокирует остальные.

## Messenger API

Доступ к Messenger API входит в подписку Авито, а не подключается в LidFly: для «Товаров» и «Работы» нужен уровень «Максимальный», для «Услуг» — «Расширенный» или «Максимальный». Если вместо текста сообщений Авито возвращает тарифную заглушку, направь пользователя в Авито Pro → «Тариф»/«Подписка» проверить этот уровень или уточнить доступ у поддержки Авито.

## Write guardrails

Каждый write:

1. Читает текущее состояние.
2. Проверяет входные данные, профиль, capability, цену/баланс и последствия.
3. Показывает план и получает явное текстовое подтверждение.
4. Выполняет ровно один `call_write_tool`.
5. Перечитывает объект и показывает before/after.

Деньги, продвижение, доступы, заказы, статусы, blacklist, рассылки и юридические операции считай destructive. Перед платной операцией покажи профиль, объекты, услугу, цену, баланс и ожидаемое списание.

Writes не повторяются автоматически. При `outcome=unknown` или `ambiguous` вызови напрямую `get_write_operation_status({ operation_id })`. Если надёжного readback нет, сообщи, что результат требует ручной проверки в Авито.

## Autoload updates

`POST /autoload/v1/upload` не редактирует одно объявление: он запускает обработку полного фида по URL из профиля и может опубликовать или активировать все подходящие записи. Считай его destructive.

Для безопасного обновления описания, телефона, часов работы или других полей:

1. Прочитай `GET /autoload/v2/profile` и `GET /autoload/v4/uploads/current` либо `/last_successful`.
2. Объясни, что полную запись меняют в источнике фида; отдельного универсального edit endpoint у Avito API нет. URL и расписание самого фида меняются через `POST /autoload/v2/profile`.
3. Требуй сохранить тот же неизменный `Id`: по нему Авито распознаёт объявление между загрузками. Покажи URL фида и охват изменений, затем получи явное подтверждение полного запуска.
4. Вызови upload один раз. После обработки проверь `Id → Avito ID` через `GET /autoload/v2/items/avito_ids` и результат через `/autoload/v4/uploads/current/items` либо `/last_successful/items`.

Не обещай сохранение Avito ID или накопленной статистики как безусловную гарантию провайдера. Подтверди результат чтением; новый или изменённый `Id` может быть распознан как другое объявление.

## Private data

- PII, резюме, записи звонков, коды доставки и приватные файлы требуют project access `admin`.
- Не показывай OAuth/access/refresh tokens, Client Secret, provider payload или внутренний routing.
- Голосовые сообщения, записи звонков и PDF-этикетки возвращаются только временной подписанной ссылкой. Не сохраняй и не экспортируй её.
- Не настраивай автоматические AI-ответы на сообщения.

## Scheduled tasks

В первом релизе автозапуски для `avito` разрешают только read tools. Для любого будущего изменения создай ручную задачу через `workspace_add_tasks`, чтобы пользователь подтвердил действие в новом сеансе.

