Авито: подключение кабинета и Автозагрузка
Авито устроен не так, как остальные площадки. У Ozon, Wildberries и Яндекса мы создаём и обновляем карточки прямо через API. На Авито объявления публикуются XML-файлом («Автозагрузка»): atools отдаёт файл по секретной ссылке, Авито сам забирает его по расписанию. А API нужен для второй половины работы — узнать, что Авито сделал с объявлениями, и мгновенно менять остатки.
Поэтому подключение состоит из двух частей, и обе обязательны:
Если сделать только первую часть, объявления не появятся. Если только вторую — не будет управления остатками и обратной связи.
Шаг 1. Что нужно оплатить на стороне Авито
Автозагрузка — платная возможность, и требования зависят от категории ваших объявлений:
- Товары — тариф и дополнительно расширенная либо максимальная подписка на инструменты;
- Услуги — профессиональный план и расширенная, максимальная или ультра подписка;
- Работа — тариф или профессиональный план, максимальная подписка и подтверждение ИНН;
- Недвижимость и Транспорт — достаточно тарифа, подписка не нужна.
Проверить, что подключено, можно в кабинете Авито: Тариф → блок «Расширенная подписка» → шестерёнка. Там же видно, входит ли «Автозагрузка объявлений» в ваш набор.
⚠️ Одного активного тарифа мало. Тариф и подписка на инструменты — это две разные оплаты, и Автозагрузка живёт именно в подписке.
Шаг 2. Ключи API в atools
Ключи выдаются в кабинете Авито: Для профессионалов → API. Оттуда приходят два значения — client_id и client_secret.
В atools откройте Управление компанией → Кабинеты Авито → Подключить кабинет и заполните:
- Название — как вам удобно называть кабинет;
- client_id и client_secret — из кабинета Авито;
- Адрес в объявлениях — город и адрес склада, он подставляется во все объявления.
Секрет хранится зашифрованно и обратно не показывается: в карточке кабинета вы увидите только отметку «секрет задан». Если понадобится заменить ключи — впишите новый секрет, пустое поле означает «не менять».
Шаг 3. Автозагрузка в кабинете Авито
Это тот шаг, который проще всего пропустить: сама по себе Автозагрузка не включается. Даже когда тариф и подписка оплачены, у нового кабинета она стоит в режиме «Загрузка вручную» и никакого адреса не знает.
- Скопируйте ссылку на фид: atools → Управление компанией → Кабинеты Авито → поле «URL фида для Автозагрузки», кнопка Скопировать.
- В кабинете Авито откройте Работа с объявлениями → Автозагрузка.
- Нажмите Настройки → Перейти на загрузку по ссылке.
- Вставьте скопированный адрес и задайте расписание — как часто Авито будет забирать файл.
- Включите режим «удалять объявления, которых нет в файле».
Про последний пункт: на нём держится снятие объявлений. Архивные и снятые вручную листинги atools просто не кладёт в файл, и Авито убирает их из публикации. Без этого режима снятое у нас объявление останется висеть на Авито.
🔒 Ссылка на фид — секретная: она открыта без пароля, и любой, кто её знает, увидит ваш прайс. Не публикуйте её. Если ссылка утекла, нажмите «Сменить» на экране настроек — старая сразу перестанет работать, но не забудьте вписать новую в кабинет Авито, иначе Автозагрузка перестанет получать файл.
Шаг 4. Проверка связи
В карточке кабинета (Управление компанией → Кабинеты Авито) есть кнопка Проверить связь. Ответ бывает трёх видов:
Связи нет. Ключи не заданы, перепутаны или отозваны. Текст ошибки показывается как есть — обычно из него понятно, что не так.
Связь есть, но Автозагрузка недоступна. Ключи рабочие, остатками управлять можно, а публикация объявлений не работает. Причина показывается словами самого Авито — чаще всего это неоплаченная подписка на инструменты или ненастроенная Автозагрузка (шаги 1 и 3).
Связь есть, Автозагрузка подключена. Дополнительно сверяется адрес фида: если в кабинете Авито прописан не наш адрес, будет предупреждение — объявления берутся не из atools, и правки в системе никуда не поедут.
Как работают остатки
Раньше «товар кончился» означало, что объявление исчезает из файла и Авито его удаляет. Теперь не так: объявление остаётся опубликованным, а доступностью управляет остаток. Когда свободный остаток на складе падает ниже порога, в Авито уходит ноль — кнопка покупки пропадает; появился товар — уходит настоящее число.
Так сделано намеренно. Удалённое и заново созданное объявление — это другое объявление: у него новый идентификатор, обнулённая история просмотров и позиция в выдаче, а деньги за публикацию тратятся заново.
Остатки уезжают каждые пять минут, а после операций, которые сами меняют остаток — подтверждение или отгрузка оптовой сделки, снятие и возврат объявления, правка листинга — отправляются сразу, не дожидаясь очередного прогона. Раз в сутки система сверяется с Авито и показывает, если площадка видит другое количество.
Разница между отправленным и показанным — это, как правило, брони под заказы Авито Доставки: площадка придерживает товар под оформленный заказ и вычитает его из поданного нами количества.
Отдельно бывает, что объявление не поддерживает остатки — Авито просто не возвращает его в ответе. Такие объявления помечаются и исключаются из отправки, а управление доступностью для них возвращается к старому механизму: кончился товар — объявление уходит из файла.
Одно объявление на несколько товаров
Если несколько ваших товаров (разные цвета, размеры) продаются на Авито под одной карточкой, заводить их как отдельные объявления не нужно — есть режим объединения.
Как создать. В пикере товаров при создании объявления выберите режим «Одно объявление» и отметьте нужные товары (2–3 и больше). atools создаст одну карточку, в которой все выбранные товары — её состав; первый выбранный становится основным (его фото и параметры категории идут в фид).
Как считается остаток. Доступность объявления — это сумма свободных остатков всех товаров состава, а не одного. Кончился один цвет — объявление не снимается, просто уменьшается общее число; снимется, только когда закончатся все товары состава разом.
Состав можно менять. В редакторе объявления есть секция «Товары в объявлении»: там можно добавить ещё товар или убрать лишний уже после публикации, без пересоздания карточки. В таблице объявлений у объединённых карточек рядом с названием показаны чипы артикулов всех товаров состава.
Идентификатор объявления. По умолчанию atools собирает Id из общего начала артикулов состава — так, ГРУША-Ж и ГРУША-Ч дадут Id «ГРУША». Если общий префикс заканчивается на число (КОРС-10 и КОРС-12 дают «КОРС-1» — совпало по цифре «1»), проверьте и при необходимости поправьте Id вручную до первой отправки фида: после публикации Id менять нельзя, это новое объявление в Авито.
Заказы Авито Доставки. Когда покупатель оформляет заказ по объединённому объявлению, Авито не знает, какой именно товар состава он выбрал — это видно только по переписке или по факту. Поэтому в списке заказов у такой строки нужно вручную выбрать товар (артикул, имя, остаток — в выпадающем списке). Пока товар не выбран, бронь под заказ не создаётся, а кнопка «Подтвердить» неактивна. Селект остаётся на экране и после выбора — если ошиблись, просто выберите другой товар, бронь автоматически переедет.
Фото объявления
Фото для объявления можно взять из трёх источников — пикер открывается прямо в редакторе объявления.
- Фото товаров — берутся из карточек товаров, входящих в состав объявления (см. раздел выше про объединённые объявления).
- Свои файлы — загрузка JPEG/PNG/WebP до 5 МБ; atools сам приводит файл к JPEG и уменьшает до 2000 px, а затем отдаёт его по постоянной публичной ссылке
https://atools.vip/api/v1/avito/media/<uuid>.jpg— именно её видит Авито в фиде. Загруженные файлы собраны в списке «Мои загрузки», их можно переиспользовать в других объявлениях. - По ссылке — можно вставить прямой адрес картинки (
.jpg/.png).
Максимум — 10 фото на объявление. Первое фото становится обложкой; порядок можно менять перетаскиванием или стрелками.
⚠️ Чтобы заменить уже отправленное фото, загрузите новый файл или укажите новую ссылку — Авито не перекачивает по тому же адресу повторно, старая ссылка в его кэше так и останется прежней картинкой.
Редактор объявления
Карточка объявления открывается боковой панелью (клик по строке в таблице), а не окном поверх страницы — в ней помещаются состав, текст, цена и остаток, фото и поля категории сразу, с быстрыми переходами по разделам вверху панели.
Сверху панели — чек-лист готовности: он считается по тому, что уже введено в форме, а не по сохранённой версии объявления, так что видно сразу, чего не хватает, ещё до сохранения.
В разделе «Текст» — редактор описания с кнопками разметки (жирный, курсив, абзац, перенос строки, списки); Авито принимает только эти теги, остальное будет показано покупателю как обычный текст. Лимит описания — 7500 символов, счётчик красный при превышении, и с таким текстом сохранить объявление нельзя. Для объединённых объявлений (несколько товаров в одной карточке) рядом есть кнопка «Вставить список вариантов» — она подставляет названия всех товаров состава маркированным списком.
Закрытие панели с несохранёнными изменениями (крестик, клик по затемнению, Esc) спрашивает подтверждение — правки не сохраняются автоматически.
Поля категории
Раньше поля шаблона Авито (тип товара, состояние, параметры вроде размера) заполнялись одной строкой вида Тег=значение, и владелец должен был помнить точные имена тегов наизусть — опечатка в теге не мешала отправить объявление, но Авито отклонял его только на следующий день, уже в своём кабинете.
Теперь в разделе «Категория» редактора объявления — визуальный редактор:
- Категория — выбирается из справочника Автозагрузки, поиском по полному пути раздела (например, «Красота и здоровье → Медицинские изделия → Ортопедия → Корсеты»).
- Поля по схеме категории — форма подстраивается под выбранную категорию: списки значений становятся выпадающими списками, поля со свободным текстом — вводом с подсказками (из справочника Авито и из уже заполненных полей ваших объявлений), числа и переключатели «да/нет» — соответствующими элементами.
- Блок «Опт» — отдельно, с переключателем «Оптовое объявление»: включает и показывает поля оптовой продажи, выключает — убирает их из объявления целиком.
- «Режим текста» — прежний ввод остаётся доступен для тегов, которых нет в схеме категории; оба режима работают с одним и тем же набором полей, переключение между ними ничего не стирает.
- «Скопировать из объявления…» — переносит поля категории (и, по желанию, описание) из другого вашего объявления того же кабинета.
Отдельно стоит знать про два поля, которые устроены сложнее остальных:
- Способ доставки принимает несколько значений сразу (например, ПВЗ и курьер) — поэтому он показан галочками, а не выпадающим списком. Выбранное уезжает на Авито вложенными значениями, как требует площадка; одной строкой через «|» это не работает, Авито отвечает «Значение не найдено».
- Ступени скидки за опт заполняются парами «от N штук → −X%», до пяти ступеней. Скидка считается от цены объявления, и больше 30% Авито не принимает — если оптовая цена ниже, заводите отдельное оптовое объявление.
Если площадка предупреждает о поле («станет обязательным после такой-то даты»), это написано прямо под полем.
Справочник категорий и их полей приходит из кабинета Авито по API (кэшируется на 7 дней) — для этого у кабинета должны быть заданы ключи client_id/client_secret (см. Шаг 2 выше). Без ключей форма работает на встроенном офлайн-словаре. Это не выгрузка ваших категорий: словарь зашит в приложение и содержит одну ветку — «Красота и здоровье → Медицинские изделия → Ортопедия → Корсеты» с полями этой категории, списанными с шаблона Авито; полнота и свежесть не гарантируются, в форме об этом сказано отдельной пометкой. Подсказки значений из ваших собственных объявлений — вещь отдельная: они не расширяют словарь категорий, а появляются при вводе в текстовые поля. После добавления ключей нажмите «Обновить из Авито» — справочник подтянется живым и охватит все категории Автозагрузки.
Массовое «Поля категории…» в таблице объявлений применяет тот же редактор сразу к нескольким выбранным объявлениям: заполненные поля добавляются или заменяют одноимённые, а собственные теги каждого объявления (например, размер) остаются как были.
Проверка фида перед отправкой
Кнопка «Проверить фид» в списке объявлений прогоняет ваш файл через бесплатный валидатор Авито. Она ничего не публикует и не тратит выгрузку (их площадка разрешает одну в час), а показывает, сколько объявлений в файле и что с ними не так.
Это стоит делать привычкой. Ошибку в значении поля — скажем, способ доставки записан не теми словами — файл проходит по формату, но Авито отклоняет объявление уже на модерации, и узнаёте вы об этом на следующий день. Проверка называет такую ошибку сразу и дословно.
Защита от случайного сноса всех объявлений
В кабинете Авито включён режим «удалять объявления, которых нет в файле» — только так объявление закрывается по-настоящему. Обратная сторона: если из файла вдруг пропадёт половина объявлений, площадка удалит их у себя. Это не то же самое, что снять с публикации: при повторном заведении меняется номер объявления на Авито, обнуляется история просмотров и позиция в выдаче. Вернуть как было нельзя.
Самый простой способ это устроить — случайно очистить адрес в настройках кабинета: тогда все объявления, у которых нет собственного адреса, разом становятся «не готовы» и выпадают из файла.
Поэтому файл, потерявший больше половины объявлений, наружу не отдаётся. Авито в этот момент просто не обновит ничего, а вы увидите красную плашку с причиной; кнопка «Отправить фид» откажет до того, как потратит выгрузку. Если сокращение намеренное — нажмите в плашке «Сокращение намеренное»: разрешение действует на одну выгрузку, дальше защита включается снова.
Заказы, упаковка и свой склад
«Заказы Авито» и «Упаковка → Авито» читают один список заказов. Выбранный менеджером товар сразу попадает в сборочный лист и резервируется на своём складе. Для объявления с несколькими вариантами сначала выберите конкретный товар в заказе.
Во вкладке «В работе» видны подтверждённые заказы, ожидающие отправки за все дни. Во вкладке «Архив» сотрудник склада может посмотреть ранее отправленные заказы, их состав, службу доставки, статус и номер расхода. Оба списка можно ограничить датами создания заказа и службой доставки.
Для сверки с этикеткой крупно показаны последние пять цифр заказа; рядом остаются полный номер и номер отправления. Поиск работает по обоим номерам, включая окончания и номера с пробелами. Если окончания совпадают в списке, появляется предупреждение: сверяйте полный номер.
Печатайте с компьютера общий список товаров по артикулам для сборки и список заказов для упаковки. В списке заказов каждая посылка занимает отдельный блок со всеми товарами и одной бумажной отметкой «Содержимое и этикетка сверены». Заказы сгруппированы по службам доставки, в заголовке указано количество посылок. Найдите этикетку по последним пяти цифрам и сверьте полный номер заказа, отправление, артикулы, варианты и количество. Эти пять цифр можно написать на посылке вручную. Адрес получателя на этикетке — место назначения, а передачу выполняйте в свой пункт приёма соответствующей службы доставки.
Когда Авито подтверждает, что заказ ушёл в доставку, система автоматически создаёт и проводит расход на выбранные товары. Дата расхода — подтверждённая отправка, а не создание заказа. Статусы опрашиваются каждые 15 минут; сотруднику не нужно вручную отмечать сборку или отгрузку. Повторные обновления, доставка покупателю и начало возврата не списывают товар второй раз. Возврат приходуется отдельно после фактической приёмки.
Если товар не выбран или на складе не хватает остатка, расход ожидает исправления. Проданные товары остаются в резерве до успешного списания. После проведения расхода менять вариант в заказе нельзя без исправления складского документа. Старые заказы, впервые загруженные уже завершёнными и без известной даты отправки, остаются в архиве для проверки менеджером: они не списывают сегодняшний склад автоматически.
Ставка за просмотр: главный расход раздела
Тариф для товаров — оплата за уникальные просмотры. Размещение бесплатное, но каждый показ вашего объявления человеку стоит денег, и цена эта не фиксированная: это аукцион. Чем выше ставка, тем выше объявление в поиске. В кабинете видна шкала для вашей категории и города — например, для стелек в Екатеринбурге: около 2,4 ₽ минимум (почти без показов), 10 ₽ — попасть в топ-40, 18 ₽ — в топ-30, 32 ₽ — в топ-20.
Авито предлагает ставку, глядя на конкурентов. Вашей себестоимости оно не знает. Поэтому рекомендация «18 ₽» на товаре, где вы зарабатываете 178 ₽ с заказа, означает убыток: при обычной конверсии в 2 % восемнадцать рублей за просмотр превращаются в 900 ₽ расхода на один заказ.
Модуль считает ваш потолок: сколько максимум можно платить за просмотр, чтобы расход не съел маржу. Он виден в списке объявлений отдельной колонкой и в карточке, в разделе «Ставка за просмотр», — рядом с тем, что предлагает площадка.
Чтобы потолок считался, нужны три вещи: закупочная цена товара (из карточки товара) и настройки кабинета — комиссия площадки и фиксированные расходы на заказ (упаковка, сборка). Пока чего-то нет, в колонке написано «нет закупки», а не прочерк: так видно, что именно заполнить.
Конверсия поначалу берётся плановая (2 %), а как только у объявления наберётся хотя бы полсотни просмотров — считается фактическая, по вашим контактам. До этого порога она не считается намеренно: три просмотра и один контакт дали бы «33 %», потолок вырос бы в разы, и аванс сгорел бы за пару дней.
Потолок ничего не запрещает. Поставить ставку выше можно — иногда это осознанно, чтобы разогнать новую карточку. Модуль в этом случае просто скажет, во что это обойдётся.
Деньги кабинета: два разных счёта
У кабинета их два, и путать их опасно:
- Кошелёк — из него платятся подписка и услуги продвижения. Его показывает кнопка «Деньги кабинета».
- Аванс тарифа — из него списываются просмотры. Его Авито через API не отдаёт, он виден только в кабинете. Когда аванс заканчивается, площадка снимает с публикации все объявления разом.
Поэтому в кабинете стоит установить лимит трат на день: без него аванс уходит незаметно, особенно когда объявлений становится много.
Если что-то не работает
«Похоже, что сейчас автозагрузка вам недоступна. Для подключения необходимо оплатить тариф». Самый частый и самый обманчивый ответ. Он приходит и когда подписка действительно не оплачена, и когда она оплачена, но Автозагрузка в кабинете не настроена — то есть стоит в режиме «Загрузка вручную». Сначала проверьте шаг 3, потом шаг 1.
«Получение профиля недоступно». То же самое, просто короче: у кабинета нет профиля Автозагрузки. Лечится шагом 3.
Объявления не появляются, хотя фид отдаётся. Проверьте на экране настроек, что адрес фида в кабинете Авито совпадает с нашим. Расхождение возникает после смены токена фида, если новую ссылку забыли вписать в кабинет.
В объявлении не включён тумблер «Несколько штук в наличии». Его включает не настройка в карточке, а отправка остатка: как только мы передаём количество, Авито сам ставит отметку о количестве, и покупатель может заказать больше одной штуки. Отправить остаток можно только после того, как у объявления появится его номер на Авито (колонка «На Авито»). Номер подтягивается сам; если он долго пуст, нажмите «Обновить из Авито».
Объявления разом пропали с Авито. Первым делом проверьте аванс тарифа в кабинете: когда он заканчивается, площадка снимает с публикации всё сразу. Модуль об этом узнает только со следующим синком статусов, потому что аванс через API не виден.
Остаток на Авито не совпадает с нашим. Посмотрите колонку остатка в списке объявлений: там показано и отправленное значение, и то, что видит площадка. Если объявление помечено как не поддерживающее остатки — управлять ими через API для него нельзя, это ограничение самого Авито.
Ничего не уезжает вообще. Убедитесь, что у кабинета заданы оба ключа: при заполненном client_id, но пустом секрете система намеренно не ходит в API, чтобы не жечь лимиты впустую.