Автонаполнение изображений товаров из внешних источников 1С-Битрикс

Изображения — самый тяжёлый по объёму элемент автонаполнения. 10 000 товаров × 5 фото = 50 000 файлов, которые нужно скачать, проверить, оптимизировать и правильно привязать к инфоблоку. При этом система должна работать в фоне, не нагружать сервер в пиковые часы и не дублировать уже загруженные фото
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Автонаполнение изображений товаров из внешних источников 1С-Битрикс
Средний
~1-2 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1428
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1008
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    745
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    869
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    782
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1149

Изображения — самый тяжёлый по объёму элемент автонаполнения. 10 000 товаров × 5 фото = 50 000 файлов, которые нужно скачать, проверить, оптимизировать и правильно привязать к инфоблоку. При этом система должна работать в фоне, не нагружать сервер в пиковые часы и не дублировать уже загруженные фото. Мы решаем эту задачу под ключ: проектируем архитектуру загрузчика, настраиваем очереди и обеспечиваем полный цикл — от парсинга источника до финальной привязки к товару. Оценим ваш проект за один рабочий день и предложим решение без скрытых доработок. Ручная загрузка тысяч изображений занимает недели и стоит дорого; автоматизация позволяет сэкономить до 80% бюджета на наполнение каталога.

Источники изображений

API производителя — самый чистый вариант. Производители часто предоставляют медиа-библиотеки партнёрам: ZIP-архив с фото по артикулам или API для скачивания по EAN.

Icecat / Syndigo — база данных контента производителей. Платный доступ, но полностью легальный и с хорошим покрытием электроники и бытовой техники.

Сайт производителя — парсинг. Приоритет: находим теги <meta property="og:image"> или JSON-LD image — это часто ссылки на изображения в хорошем качестве без парсинга галереи.

YML-фид поставщика — тег <picture> содержит URL основного фото.

Как избежать дублирования изображений?

Храним кеш скачанных URL в Highload-блоке или таблице:

CREATE TABLE image_download_cache ( source_url TEXT PRIMARY KEY, file_id INT, downloaded_at TIMESTAMP ); 

Перед скачиванием проверяем кеш — если URL уже обрабатывался и файл существует, используем готовый file_id.

Валидация качества изображений

Не все найденные изображения пригодны. Обязательные проверки перед сохранением: разрешение не менее 400px, MIME-тип JPEG/PNG/WebP, размер файла от 10 КБ. Изображения с водяными знаками или битые отбрасываются. Пример кода:

$imageInfo = getimagesizefromstring($imageData); if ($imageInfo[0] < 400 || $imageInfo[1] < 400) return null; if (!in_array($imageInfo['mime'], ['image/jpeg', 'image/png', 'image/webp'])) return null; if (strlen($imageData) < 10_000) return null; 

Оптимизация изображений перед сохранением

Скачанные фото часто больше нужного (3000×3000px, 5 МБ). Перед сохранением в Битрикс:

  • Ресайз до максимума 1500px по большей стороне (для detail_picture)
  • Конвертация CMYK → RGB (типичная проблема с фото из полиграфических источников)
  • Сжатие JPEG до quality 85

Используем Intervention Image:

$image = Image::make($imageData)->resize(1500, null, fn($c) => $c->aspectRatio()); $optimized = $image->encode('jpg', 85)->getEncoded(); 

Битрикс сам создаёт превью через свой resize-механизм (CFile::ResizeImageGet), но исходник лучше отдавать уже оптимизированным.

Фоновая обработка и очереди

50 000 изображений нельзя обработать за один запуск. Архитектура:

  • Воркер 1: обходит инфоблок, находит элементы без изображений → добавляет в очередь
  • Воркеры 2–5: параллельно скачивают и сохраняют изображения (4 потока)
  • Расписание: воркеры работают ночью 02:00–06:00, чтобы не нагружать сервер днём
  • Лимит на сессию: не более 1000 изображений за один запуск

Что входит в работу

Этап Описание Срок
Анализ источников Сбор документации, тестовые запросы к API, оценка объёмов 1 день
Разработка загрузчика Парсинг, валидация, оптимизация, сохранение в Битрикс 2–3 дня
Система дедупликации Кеширование URL, проверка существующих файлов 4–8 часов
Очереди и параллельные воркеры Настройка фоновых процессов, многопоточность 1–2 дня
Привязка к инфоблоку Превью, галерея, сортировка 4–6 часов
Мониторинг и админка Журнал загрузок, прогресс, повторная обработка ошибок 1 день
Документация и обучение Инструкция по эксплуатации, передача доступов Включено

Итого: 6–9 рабочих дней. Первичное наполнение 10 000 товаров при 4 потоках — около 3–4 часов. Стоимость рассчитывается индивидуально под ваш проект — пишите, оценим. Стоимость работ окупается в течение нескольких месяцев за счёт сокращения ручного труда.

Как ускорить загрузку каталога?

Используйте несколько потоков загрузки и кеширование. В нашей реализации мы применяем до 4 параллельных воркеров, что сокращает время обработки 10 000 товаров с 12 часов (последовательный режим) до 3–4 часов. Экономия времени очевидна — вы получаете готовый каталог за день, а не за неделю.

Почему стоит заказать автоматизацию?

Ручная загрузка изображений для тысяч товаров — это недели работы менеджера и высокая вероятность ошибок: перепутанные фото, неправильные разрешения, дубликаты. Автоматизация исключает человеческий фактор, а все операции проходят валидацию и логирование. Syndigo и Icecat — проверенные источники, но мы также поддерживаем интеграцию с любым REST API или YML-фидом. Получите консультацию — мы подготовим коммерческое предложение с детальным планом работ и сроками.