Каждый авитолог сталкивался с ситуацией: стратегия продвижения готова, но клиент присылает фото прямо со склада с краткой подписью «новая, 180 тыс., в наличии». Попытки заставить поставщика вести сложные таблицы автозагрузки в реальности не работают: предпринимателю некогда разбираться в разметке данных.
Ручная обработка отнимает уйму времени. Скачать исходные снимки, наложить плашки с гарантией, составить продающее SEO-описание, проставить атрибуты и проверить базу на дубли — на одну позицию уходит 5–10 минут. При потоке в 50 позиций в день рутина съедает весь рабочий день специалиста. Решение — сквозной конвейер, который принимает сообщения в Telegram и публикует готовые карточки через официальный API площадки.
Архитектура конвейера: от снимка до предпросмотра
Вместо того чтобы ломать привычки заказчика, конвейер встраивается в рабочий чат мессенджера:
- Входной интерфейс (Telegram Bot API): Бот слушает рабочий чат. Получив фото с подписью, он забирает исходные файлы в максимальном разрешении через метод
getFileи передает текст в семантический модуль. - Семантический анализ (Claude): Мультимодальная языковая модель разбирает параметры изделия (модель, состояние, комплектация, цена), формирует SEO-заголовок до 50 символов и генерирует структурированное продающее описание с блоками гарантии и доставки.
- Графическое оформление: Скрипт обращается к шаблонам на Яндекс Диске и накладывает фирменные прозрачные PNG-плашки («В наличии», «Гарантия 12 месяцев», логотип) на фото без искажения пропорций.
- Контроль повторов: Система сверяет параметры и отпечатки картинок с базой кабинета для исключения блокировок за дубли.
- Публикация через Avito API: В чат возвращается превью-карточка. После подтверждения авитологом данные уходят на серверы площадки.
Настройка интеграции и авторизация
Для надежной работы сервисы связываются на выделенном сервере приложения (Linux VPS):
- Хранение ключей: Все секреты объявляются через системные переменные окружения:
AVITO_CLIENT_ID,AVITO_CLIENT_SECRET,TELEGRAM_BOT_TOKEN,ANTHROPIC_API_KEYиYANDEX_DISK_TOKEN. - Авторизация Avito API: Для доступа к API требуется тариф кабинета Avito Pro. Авторизация выполняется по протоколу OAuth 2.0 (тип
client_credentials). Бэкенд отправляет POST-запрос наhttps://api.avito.ru/token/с заголовкомContent-Type: application/x-www-form-urlencodedи параметрамиgrant_type=client_credentials&client_id=$AVITO_CLIENT_ID&client_secret=$AVITO_CLIENT_SECRET. Полученныйaccess_tokenдействует 86 400 секунд (24 часа), кэшируется в памяти и обновляется за 15 минут до истечения срока. - Синхронизация шаблонов: Графические заготовки хранятся в папке
/avito_templates/на Яндекс Диске. Скрипт получает прямые ссылки на скачивание через вызовGET https://cloud-api.yandex.net/v1/disk/resources/downloadс заголовкомAuthorization: OAuth $YANDEX_DISK_TOKEN. - Публикация и модерация: Карточки выгружаются через API либо добавляются в XML-фид Автозагрузки. Отчет о модерации проверяется методом
GET /autoload/v2/reports/lastили входящими вебхуками.
Защита от дублей: перцептивные хеши и серийные номера
При массовом размещении критично соблюдать правила платформы по уникальности контента. Если выложить одинаковые фотографии или описания, алгоритмы модерации заблокируют карточки за повторную подачу.
Перед отправкой скрипт запрашивает активный список объявлений через GET https://api.avito.ru/core/v1/items и сверяет ключевые атрибуты. Для техники бывшей в употреблении в промпт модели встроено жесткое требование: выносить заводские серийные номера и мелкие внешние нюансы в отдельный блок описания.
Конвейер сжимает подготовку карточки до десятков секунд: клиент присылает фото прямо со склада, бот формирует объявление с инфографикой, а специалист лишь проверяет результат в Telegram и одобряет публикацию.
