Что такое приложение на портале разработчика
developers.avito.ru — кабинет, где Avito выдаёт доступ к своим API. «Приложение» здесь — не мобильное приложение для телефона, а регистрация интеграции: имя, описание, набор API, к которым вы просите доступ, и пара ключей.
Площадка так отличает «человек вошёл на сайт» от «программа запрашивает чаты и статистику». Сайт работает по логину. Интеграция работает по ключам приложения и токену. Пароль от avito.ru в CRM тащить нельзя и не нужно.
Создать приложение обычно может профессиональный кабинет с платным тарифом: «Базовый», «Расширенный», «Максимальный» — актуальный список смотрите у Avito. Без Pro-доступа портал либо не отдаст ключи, либо отдаст их в урезанном виде. Это условие площадки, не прихоть CRM.
Зачем нужен Client ID
Client ID — публичный идентификатор приложения. По нему Avito понимает, какая программа просит токен. Его можно светить в переписке с поддержкой осторожно, но не стоит публиковать в открытом прайсе «на всякий случай».
Это не номер объявления, не user id продавца и не логин. У одного кабинета может быть своё приложение со своим Client ID. У сервиса-посредника — другое приложение, через которое продавцы авторизуются по OAuth. Путать эти пары — классическая причина «ключи вроде вставили, данные чужие или пустые».
Когда вы подключаете собственный кабинет по схеме client credentials, в интеграцию идут Client ID и Secret именно вашего приложения, заведённого под этот профиль. Тогда токен ходит в ваши объявления, ваш баланс, ваши чаты — в рамках выданных прав и тарифа.
Client Secret: второй ключ, который показывают редко
Client Secret — секрет приложения, пара к ID. Им доказывают, что токен запрашивает хозяин приложения, а не случайный, кто подсмотрел ID. Secret обычно показывают при создании или перевыпуске. Скопировали сразу в надёжное место, в чат команды не кидали.
Утечка Secret хуже утечки пароля сайта в одном смысле: программу можно крутить, пока секрет не отозвали. Перевыпустите ключ в кабинете разработчика, если он засветился в Excel, в тикете, в скрине. Старый токен после этого перестанет быть вашим другом.
Secret не равен паролю сотрудника. Менеджеру, который отвечает в чатах, ключи не нужны. Ему нужен доступ в CRM с ролью без раздела API. Приложение — зона владельца кабинета.
- ID — кто приложение
- Secret — подтверждение хозяина
- Токен — временный пропуск к методам API
- Логин и пароль сайта в эту связку не входят
Права и скоупы: что именно разрешено приложению
На портале вы не только «создаёте приложение», но и запрашиваете доступ к конкретным API из каталога: мессенджер, объявления, статистика, автозагрузка, баланс, услуги, операции. Пока доступ не одобрен, метод может отвечать отказом, даже если ключи на месте.
Отдельно живут OAuth-скоупы — подписи в токене, на что пользователь согласился. Примеры из документации Avito: messenger:read и messenger:write для чатов, items:info для сведений об объявлениях, items:apply_vas для услуг, user:read и user_balance:read для профиля и кошелька, stats:read для статистики, user_operations:read для истории операций, autoload:reports для отчётов автозагрузки.
Не нужно запрашивать job:vacancy, если вы не работаете с вакансиями. Лишние права — лишняя поверхность и лишние вопросы на модерации заявки. Нужные — те, без которых интеграция слепая: чаты без messenger, ставки без доступа к продвижению и объявлениям, отчёт «почему пустой кошелёк» без баланса.
Какой набор прав обычно нужен CRM по Avito
Чтобы подтянуть карточки и статусы — информация по объявлениям. Чтобы ставить XL и выделение из интерфейса интеграции — apply_vas. Чтобы видеть, есть ли чем платить за услуги — баланс. Чтобы считать показы и контакты — статистика. Чтобы отвечать покупателям — чтение и запись мессенджера.
Автозагрузка объявлений при этом часто идёт не через «каждый Ad отдельным API-запросом», а через XML-фид по ссылке. Приложение всё равно полезно: отчёты автозагрузки, сверка Id, кабинетная аналитика. Фид и API — разные двери, ключи нужны для второй, URL — для первой.
Для ставок за клик нужен доступ к API продвижения / CPA кабинета. Если его не запросили в каталоге, CRM может показать объявления и не суметь применить ставку. Это не «сломался фид». Это нет права на контур продвижения.
- Чаты: messenger read/write плюс тариф Avito с API мессенджера
- Карточки: items info
- VAS: items apply_vas и кошелёк
- Клики: API продвижения и аванс, не кошелёк услуг
Тариф кабинета и заявка на API — два фильтра
Даже идеальное приложение молчит, если у профиля нет нужной подписки площадки. Частый пример: объявления по фиду едут, чаты в API отдают 402 — нет опции мессенджера на тарифе. Ключи при этом «правильные».
Второй фильтр — модерация доступа на developers.avito.ru. Вы регистрируете приложение, описываете, зачем API, ждёте письмо с ключами или подтверждение разделов. Имя вроде «test123» и пустое описание замедляют. Понятное имя «Интеграция кабинета услуг, фид и чаты» ближе к правде.
Не создавайте десять приложений «пока не одобрят». Одно рабочее на кабинет, понятная заявка, дальше ключи. Десять тестовых ID потом невозможно вспомнить, какой вставлен в интеграцию.
Своё приложение и приложение сервиса — не одно и то же
Есть схема: продавец заводит приложение на своём профиле, забирает Client ID и Secret, отдаёт их своей CRM. Токен ходит от имени этого кабинета. Так часто подключают профессиональные аккаунты к FeedCRM.
Есть схема OAuth: у сервиса своё приложение на портале, продавец нажимает «разрешить», сервису прилетает код, затем refresh-токен. Client ID на экране согласия — ID приложения сервиса, не «ключи вашего объявления». Путать их нельзя.
Практическое правило: смотрите, чей ID вы копируете. Если это карточка приложения в вашем developers.avito.ru под вашим кабинетом — это ключи профиля. Если это подсказка «наш Client ID для партнёров» на сайте чужой воронки — это другое приложение. В одну форму их не мешают.
Корпорации иногда держат одно приложение-посредник на всю сеть и подключают кабинеты через OAuth. Агентство с чужими кабинетами клиентов так и делает. Если вы ведёте только свои профили, проще своё приложение на каждый кабинет и свои ключи — меньше сюрпризов, чей токен истёк.
Как оформить приложение, чтобы потом не переделывать
Назовите так, чтобы через год узнать: «FeedCRM · Москва услуги», а не «app». Укажите, какие данные обрабатываете: объявления, сообщения, статистика. Запросите только нужные API. Сохраните Secret вне чата.
Привязка к кабинету должна совпадать с тем профилем, чьи объявления вы ведёте. Вошли в личный аккаунт, а ключи ждали от компании — получите чужой (пустой) контур. У каждого профессионального профиля свои ключи и свои чаты.
После одобрения проверьте токеном простой метод «о себе» / баланс, не сразу массовую рассылку в чаты. Так вы ловите недостающие права до того, как команда решит, что «интеграция не работает».
Типичные ошибки на стороне приложения
Первая: взяли ID, забыли Secret, или обрезали при копировании. Вторая: приложение без доступа к messenger, а ждут чаты. Третья: тариф кабинета без API мессенджера при живых правах приложения. Четвёртая: ключи кабинета А в интеграции, автозагрузка кабинета Б.
Пятая: Secret засветили и не перевыпустили. Шестая: ждут, что Client ID заменит XML-фид. Объявления в каталог по-прежнему едут автозагрузкой по ссылке; приложение открывает другие двери — чаты, ставки, цифры.
Когда ключи уже есть, их вставляют в сервис, с которым работаете. Пошаговая вставка в конкретные поля CRM — отдельная короткая инструкция. Здесь важно другое: без нормального приложения на developers.avito.ru вставлять нечего, а без нужных прав вставлять бессмысленно.
Частые вопросы
Зачем Client ID Avito, если есть логин?
Логин открывает сайт человеку. Client ID открывает API программе. Это идентификатор приложения на developers.avito.ru, не замена пароля.
Какие права запрашивать для работы с чатами и объявлениями?
Минимум: информация по объявлениям, messenger read/write, статистика, баланс. Для VAS — apply_vas. Для ставок — доступ к API продвижения. Плюс тариф Avito, который вообще отдаёт эти API.
Ключи есть, чаты пустые. Приложение виновато?
Часто нет прав messenger или нет подписки Avito с API мессенджера (ошибка 402). Проверьте и каталог API приложения, и тариф кабинета.
Нужно ли отдельное приложение на каждый город?
Нужен отдельный профессиональный кабинет Avito на направление — и у него свои ключи. Это не «десять приложений в одном профиле ради лимита», а соответствие ключей тому кабинету, которым управляете.
Можно ли отдать Secret менеджеру?
Не нужно. Менеджеру дают доступ отвечать в CRM. Secret остаётся у владельца. При утечке — перевыпуск.
Приложение заменяет XML-фид?
Нет. Фид по ссылке обновляет каталог. Приложение даёт токен к чатам, статистике, услугам и ставкам. Обычно нужны оба контура.
Следующий шаг
Сначала права приложения, потом ключи в сервисе
FeedCRM работает с кабинетом Avito по Client ID и Secret, если у приложения есть нужные API, а у профиля — тариф площадки. Фид при этом по-прежнему едет отдельной ссылкой.
Попробовать бесплатно