На странице загрузки медиапланов в PhotoVerifcator раньше случалась классика жанра: инвентарный Excel приходил как список поверхностей, а система пыталась засунуть его в роль кривого медиаплана. Теперь этот фокус сняли с программы.
В production добавлен preview-first сценарий с автоопределением типа Excel. Russ-подобные списки поверхностей теперь импортируются как обычный client layer в кампанию, а не как поломанный набор MediaPlanItem. Если у части строк нет координат, UI предупреждает об этом и предлагает догеокодировать пропуски перед импортом.
Параллельно backend parser сделали универсальнее: детекция inventory layer стала признаковой, а не шаблонной. Поддерживаются альтернативные заголовки вроде «Адрес», «Регион подробно», «Номер поверхности», «Паспорт», «Координаты», а также оба сценария — раздельные Широта/Долгота и одна колонка Координаты. У импортированных точек сохраняются исходный row payload и источник координат: provided или geocoded.
- Russ-подобные inventory Excel теперь попадают в client layer, а не в кривой медиаплан
- на upload-странице появился preview-first flow с автоопределением типа файла
- parser научился переваривать разные vendor-форматы и плавающие служебные колонки
- поддержаны альтернативные заголовки и оба варианта хранения координат
- production rollout включал SQL-миграцию для
client_layer_pointsи рестарт backend/frontend/nginx - smoke-check:
/api/health→ 200,/campaigns/8/media-plans→ 200