Как синхронизировать каталог дилера с «Авито Авто» и «Авто.ру»
Объявления на «Авито Авто», «Авто.ру» и сайте совпадают, когда для каждой машины есть единый набор данных и понятно, откуда берется каждое поле. Цена меняется в одном источнике, фотографии могут храниться в другом, описание в третьем, но выгрузка собирает из них одно актуальное объявление под требования конкретной площадки.
Для дилера это одна задача: синхронизация каталога с классифайдами. Автозагрузка объявлений на «Авито» и выгрузка автомобилей на «Авто.ру» должны получать данные из того же склада, с которым работают сайт и продажи.
Пока машины переносят в кабинеты руками, любую правку повторяют несколько раз подряд. Где-то новую цену внесли, где-то забыли. Покупатель находит одну машину с разными условиями и звонит уточнить, какое объявление правдивое.
Почему ручное ведение нескольких площадок не масштабируется
На небольшом складе объявления еще можно вести руками. Сотрудник открывает кабинет, копирует данные с сайта, загружает снимки и сверяет цену.
Потом склад растет. Каждый автомобиль живет на сайте и на каждой подключенной площадке, и любое изменение превращается в серию одинаковых действий.
Изменений у машины много. Ее переоценивают, уточняют комплектацию, доснимают после подготовки, ставят в резерв и продают.
Ошибка прячется в промежутках. Цену на сайте обновили утром, в одном кабинете днем, во втором вспомнили о ней позже.
Дилерская группа умножает объем работы. Кабинеты принадлежат разным центрам, машины перемещаются между ними, и ручной перенос начинает отставать от реального склада.
Нанять еще одного сотрудника проще всего. Но расхождения по-прежнему зависят от того, кто и где успел внести изменение.
Масштабируется другая схема: данные автомобиля меняют в основных источниках один раз, а объявления для площадок собираются из них автоматически.
Какие данные хранят по автомобилю один раз
У автомобиля должен быть единый набор данных, даже если физически они лежат в нескольких системах.
Обычно в него входят:
-
Идентификатор машины
-
Марка, модель и модификация
-
Пробег и технические характеристики
-
Цена и статус
-
Фотографии и описание
-
Дилерский центр
-
Идентификаторы публикаций на внешних площадках
У каждого поля должен быть основной источник. Цена и статус могут приходить из учетной системы, фотографии и описание храниться на сайте, характеристики поступать из отдельного каталога.
Остальные системы это значение не исправляют независимо от основного источника.
Характеристики лучше хранить структурированно. Тип привода, коробку, кузов и цвет выбирают из справочников, а не записывают каждый раз свободным текстом.
Иначе одно и то же значение начинает выглядеть по-разному: «полноприводный», «полный привод», «4WD». Для сотрудника разница невелика, для автоматического сопоставления это три разных строки.
Поле, нужное только одной площадке, тоже можно хранить в общей модели автомобиля и использовать только в соответствующей выгрузке.
Как устроены справочники и атрибуты товарного каталога, разбирали в статье «Каталог в e-commerce: как построить основу интернет-магазина».
Кейс

Где собирать карточку для выгрузки
Единой карточке необязательно физически жить в одной панели.
Главное, чтобы для каждого поля был понятен основной источник, а перед выгрузкой система могла собрать из этих данных актуальное представление конкретного автомобиля.
Цена может прийти из учетной системы. Фотографии и описание — с сайта. Статус — из системы управления складом. Перед отправкой все это собирается по одному идентификатору машины.
Дальше включается отдельный слой преобразования. Он переводит внутренние значения дилера в поля и справочники конкретной площадки.
Архитектурный принцип для «Авито Авто» и «Авто.ру» одинаков: внутренние данные превращаются в объявление под требования внешнего канала. Форматы, обязательные поля, справочники, правила обновления и обработка ошибок у площадок свои.
Похожую задачу мы решали в интернет-магазине мобильного оператора. Каталог полностью интегрировали с Onliner, при этом товары продолжили вести во внутренней системе магазина.
Для дилера принцип тот же. Внешний кабинет перестает быть вторым независимым местом, где вручную поддерживают копию склада.
Как работает выгрузка автомобилей на «Авто.ру»
Одного внутреннего идентификатора машины недостаточно. Нужно знать, по каким полям площадка узнает уже существующую публикацию.
При автоматической загрузке «Авто.ру» сопоставляет объявления по нескольким параметрам. Среди них марка, модель, модификация, год, цвет, VIN и uniq_id.
Если хотя бы одно из этих полей перестает совпадать с предыдущей версией выгрузки, «Авто.ру» может создать новое объявление вместо обновления существующего.
Поэтому поля сопоставления нельзя менять так же свободно, как описание или цену.
Для каждого автомобиля стоит хранить связь между внутренней записью и его публикацией на «Авто.ру». Тогда ошибка передачи тоже привязывается к конкретной машине и конкретному объявлению.
Иначе можно получить две публикации одного автомобиля: новая уже показывает актуальные данные, старая продолжает жить со старой ценой и фотографиями.
При автоматической работе через файл «Авто.ру» перечитывает измененный фид примерно в течение часа. Поэтому время изменения данных внутри дилерской системы и время их появления на площадке нужно учитывать отдельно.
Как устроена автозагрузка объявлений на «Авито»
Для большого склада «Авито» можно подключить через автозагрузку. Дилер формирует данные объявлений по шаблону площадки, а «Авито» обрабатывает их и обновляет публикации без ручного заполнения каждой карточки.
Здесь особенно важен стабильный идентификатор объявления. Он должен оставаться связанным с одной и той же машиной между выгрузками. Если идентификаторы начинают формироваться заново, система теряет устойчивую связь между автомобилем дилера и его публикацией.
Отправка данных сама по себе еще не означает, что объявление опубликовано правильно. После обработки нужно контролировать результат по конкретной машине: прошла ли публикация, обновились ли данные, не возникла ли ошибка или дубль.
Поэтому интеграция с «Авито» состоит из двух частей. Первая формирует корректные данные для автозагрузки. Вторая получает и разбирает результаты обработки, чтобы сотрудник видел проблемные объявления, а не проверял весь склад вручную.
Цена, наличие и другие изменяемые поля тоже сначала обновляются в основном источнике дилера. Затем новая версия попадает в автозагрузку и проходит цикл обработки площадки.
Чем интеграция с «Авито» отличается от «Авто.ру»
Архитектура одна: дилер хранит исходные данные автомобиля у себя и преобразует их под требования площадки.
Различаются формат выгрузки, обязательные поля, справочники, правила сопоставления существующих объявлений, скорость обновления и формат ошибок.
Поэтому один универсальный файл для всех площадок обычно не решает задачу. Общими остаются данные автомобиля, а слой публикации делают отдельно для «Авито», «Авто.ру» и каждого следующего канала.
Это и есть основа интеграции сайта автодилера с «Авито» и «Авто.ру»: склад остается один, а представлений этого склада становится несколько.
Что делать с фотографиями и описанием
Фотографии хранят вместе с данными конкретного автомобиля в исходном качестве и заданном порядке.
Перед выгрузкой система проверяет требования площадки к формату, количеству и пропорциям. Где требуется, изображение подготавливается заранее. Часть преобразований может выполнять сама площадка.
«Авто.ру» допускает до 40 фотографий и может обрезать изображения с пропорциями, отличными от 4:3.
Порядок кадров задает сотрудник. Первый снимок остается отдельным решением, потому что именно его человек видит в выдаче.
Если после подготовки машину пересняли, новые фотографии заменяют старые в основном источнике. Следующая выгрузка передает уже актуальный набор.
Описание тоже лучше собирать из данных автомобиля, а не поддерживать независимо в каждом кабинете.
Часть текста можно формировать из структурированных характеристик, часть оставлять сотруднику для описания конкретного экземпляра.
Если одной площадке нужен отдельный вариант текста, его хранят как отдельное поле в общей модели. Тогда сотрудник видит все версии в одном месте.
Ручная правка непосредственно в кабинете площадки опасна тем, что следующая автоматическая выгрузка может ее перезаписать. Поэтому заранее нужно определить, какие поля вообще разрешено менять снаружи.
Как передаются цена и статус
Цена и наличие требуют минимальной задержки, потому что напрямую влияют на обращения.
После изменения в основной системе новые значения должны сразу попасть в данные для выгрузки. Но момент фактической публикации зависит от режима конкретной площадки.
Получается два разных времени: когда дилер изменил цену или статус и когда новое значение появилось на внешней площадке.
Их стоит хранить отдельно. Тогда задержку можно отличить от сбоя.
Со статусами действует тот же принцип. Для каждого внутреннего состояния автомобиля заранее определяют действие на каждой площадке.
Внутренний «резерв» не обязан иметь одноименный внешний статус. Где-то объявление потребуется снять, где-то площадка поддерживает другой подход.
Продажа должна приводить к снятию публикации во всех подключенных каналах. Если сделка сорвалась и машина снова доступна, объявление возвращается в продажу по правилам конкретной площадки.
Какие состояния машины различать и как вести резерв, разбирали в статье «Как поддерживать актуальные статусы автомобилей в наличии».
Где ломается выгрузка
Ошибки обычно возникают в нескольких местах.
У площадки нет значения, которое использует внутренний справочник дилера. Обязательное поле осталось пустым. Фотография не прошла требования. Нарушилась связь со старой публикацией.
У «Авто.ру» новое объявление может создаться вместо обновления старого, если перестанут совпадать поля, по которым площадка сопоставляет публикации.
У «Авито» отдельный риск связан с идентификацией объявления между последовательными автозагрузками. Поэтому связь между автомобилем дилера и внешней публикацией нужно хранить так же внимательно, как цену или статус.
Журнал ошибок должен показывать не просто «выгрузка не прошла».
Нужны автомобиль, площадка, кабинет, поле, отправленное значение, ответ площадки и время ошибки.
Так сотрудник сразу понимает, что исправлять: данные машины, правило преобразования или сам канал передачи.
После исправления система повторяет выгрузку, а не заставляет человека собирать объявление заново руками.
Что автоматизировать, а что оставить сотрудникам
Автоматизируют повторяемую работу: сбор данных, перевод значений в справочники, формирование объявления, передачу цены и статуса, обновление фотографий и фиксацию ошибок.
Человек нужен там, где требуется решение.
Сотрудник выбирает первый кадр, пишет особенности конкретного экземпляра, разбирает нестандартную ошибку и решает, как продвигать конкретную машину.
Правила продвижения тоже задает дилер. Дальше часть действий можно выполнять вручную, часть автоматизировать средствами самой площадки в пределах заданного бюджета и правил работы со складом.
Справочники и требования площадок со временем меняются. Поэтому преобразование данных нельзя считать разовой разработкой. Его нужно сопровождать и обновлять вместе с изменениями внешних систем.
Кто вносит такие правки и в каком режиме, разобрано в статье «Что входит в техническую поддержку сайта автодилера».

Что нужно связать на стороне дилера
Автоматическая выгрузка склада автомобилей начинается не с подключения «Авито Авто» или «Авто.ру».
Сначала нужно определить, откуда приходит каждое поле автомобиля, какой идентификатор связывает данные между системами и какие значения считаются основными.
После этого для каждой площадки задают собственные правила преобразования, обязательные поля, сопоставление справочников, идентификацию публикаций, порядок обновления и обработку ошибок.
Если сайт, учетная система и кабинеты площадок сейчас живут отдельно, такую схему можно собрать в рамках доработки сайта автодилера.
Тогда сотрудник меняет данные один раз, а «Авито Авто», «Авто.ру» и сайт получают свои версии из одного актуального набора данных.



