
После переноса каталога у машины на первом экране появился снимок багажника. Все фотографии на месте, но их порядок изменился, а выбранная менеджером обложка потерялась. Проверка «перенеслось десять файлов» такой ошибки не обнаружит: количество, последовательность и главное изображение — разные свойства галереи.
Что передавать вместе с каждым снимком
Минимальная учебная запись содержит идентификатор автомобиля, имя файла, числовую позицию и отдельную отметку обложки. Номер позиции не обязан совпадать с числом внутри имени. А имя файла само по себе не объясняет, что на фотографии: общий вид, салон, дефект или документ.
Одинаковые имена в папках разных автомобилей допустимы в модели, поскольку привязка задаётся ID машины. Но если при реальном переносе все папки смешать в одну, это уже потребует отдельного разрешения конфликтов. Инструмент не видит папок и не проверяет, какое изображение фактически принадлежит автомобилю.
| Файл | Место при строковой сортировке | Заданная позиция | Обложка | Место в галерее по позиции |
|---|---|---|---|---|
| photo_1.jpg | 1 | 20 | Да | 2 |
| photo_10.jpg | 2 | 30 | Нет | 3 |
| photo_2.jpg | 3 | 10 | Нет | 1 |
Почему имя photo_10 может оказаться раньше photo_2
Обычное сравнение строк не обязано распознавать числа внутри имени файла. В JavaScript стандартная сортировка массива без функции сравнения использует строковый порядок. В этом учебном наборе последовательность получится photo_1, photo_10, photo_2. Это не ошибка самих снимков, а следствие выбранного способа сортировки.
«Естественная» сортировка с распознаванием чисел тоже не восстанавливает намерение менеджера. Он мог поставить второй снятый кадр на первое место, а обложкой выбрать другой. Надёжнее передавать сохранённую позицию, чем угадывать порядок по имени, времени копирования или номеру, присвоенному телефоном.
Выберите один из двух способов описания обложки
- Отдельное поле
- Галерея сохраняет числовые позиции. Имя обложки передаётся отдельно, поэтому главным может быть второй снимок галереи.
- Первый элемент галереи
- Выбранная обложка ставится первой. Остальные фотографии идут по числовой позиции, сохраняя взаимный порядок.
Для CAR-A первый способ оставляет photo_2, photo_1, photo_10 с отдельной обложкой photo_1. Второй даёт photo_1, photo_2, photo_10. Это осознанное преобразование, которое нужно согласовать с принимающей системой. Нельзя считать оба массива одинаковым сохранением исходной последовательности.
{"car_id":"CAR-A","cover":"photo_1.jpg","photos":["photo_2.jpg","photo_1.jpg","photo_10.jpg"]}Этот объект показывает формат учебного манифеста в режиме separate. Он не является запросом API A777AA. Назначение отчёта — зафиксировать ожидаемое соответствие, с которым можно сверять реальный перенос, а не отправить эти поля прямо в рабочую систему.
Какие конфликты нельзя исправлять случайным выбором
- Две фотографии одной машины имеют одну позицию: сначала нужно определить желаемую последовательность.
- Отмечены две обложки: нельзя незаметно брать первую строку.
- Не отмечена ни одна обложка: отсутствие выбора нужно согласовать, а не маскировать автоподстановкой.
- Один файл одной машины повторён: нужно выяснить причину повтора, прежде чем сокращать список.
Инструмент выводит такие замечания по каждой машине. Пока хотя бы одна группа не проходит эти структурные правила, общий манифест не формируется. При этом порядок для просмотра остаётся доступным, чтобы можно было найти проблему. Никакие строки не удаляются из исходного списка автоматически.
Если файлы отличаются только регистром
photo.jpg и PHOTO.jpg сохраняются как разные имена. Отдельное предупреждение предлагает проверить их разрешение в реальном хранилище. Сливать такие записи без проверки нельзя: инструмент не знает файловую систему, способ хранения и содержимое снимков. Различия Unicode-нормализации также не исправляются.
Проверьте результат на двух автомобилях
Для тестового переноса возьмите машину с обычными именами и другую с номерами 1, 2, 10. Убедитесь, что порядок и обложка сохраняются после загрузки, повторного открытия карточки и публикации. Отдельно проверьте, как система ведёт себя при повторной передаче того же набора и удалении одного снимка.
Сравнивайте не только карточку в CRM, но и публичную витрину: у них могут отличаться представление и обновление изображений. Если внешняя площадка использует первый снимок как главный, её адаптер должен явно учитывать это правило. Учебная форма не подтверждает требования какой-либо площадки.
В материалах A777AA уже рассмотрено содержание хорошего объявления и связь витрины со складом. Перед реальной миграцией дополните этот процесс ожидаемым списком фотографий для каждой машины и правилом обложки. Возможность автоматического импорта именно такого медиаманифеста в A777AA здесь не заявляется: маршрут и формат принимающей системы нужно проверить отдельно.
Проверить порядок фотографий и подготовить учебный манифест
Свой учебный формат, не API A777AA. Порядок — числовые позиции, не имя файла; ровно одна обложка на машину. Имена файлов чувствительны к регистру, без каталогов и разделителя ;. Не читает изображения, не отправляет запросы, не проверяет содержимое или возможность импорта. При конфликте группы общий манифест не выдаётся. Расчёт выполняется на вашем устройстве, введённые данные никуда не отправляются.