Загрузчик фото с Яндекс.Диска для inSales


Цель проекта упростить массовую загрузку изображений товаров в карточки каталога InSales, исключив рутину ручного добавления файлов и повысив качество представления товаров за счёт автоматизации.


Редакторам интернет-магазина bungly.ru требовалось регулярно загружать большое количество фотографий из облачного хранилища (Яндекс.Диск) в карточки товаров на InSales. При этом структура хранения была уже выстроена: каждый товар имел свою подпапку, названную по артикулу. Внутри — фото, организованные по определённой схеме.

Однако штатными средствами InSales не было возможности напрямую подключиться к Яндекс.Диску, выбрать нужные фото и загрузить их партиями, а также — контролировать вес изображений.

Задача разработать внешний веб-интерфейс для:

  • подключения к Яндекс.Диску;
  • просмотра структуры папок (с артикулами);
  • выбора одной или нескольких папок/файлов для загрузки;
  • загрузки выбранных изображений в карточки товаров на InSales по артикулу;
  • возможности автоматического сжатия изображений.

Удаление или замена текущих фото в задачу не входили — реализовывалась только добавочная загрузка.

Структура хранилища на Яндекс.Диске

/photos/

├── 12345/
│   ├── 11.jpg
│   ├── 12.jpg
│   └── ...
├── 67890/
│   ├── 11.jpg
│   ├── 21.jpg<
│   └── ...

...

Каждая подпапка содержит фото одного товара. Название папки = артикул товара в InSales.

Реализация

Создано внешнее веб-приложение с авторизацией через Яндекс.Диск и подключением к API InSales. Работает как независимое расширение, доступное по защищённой ссылке..

  • Авторизация и работа с API Яндекс.Диска
  • Отображение списка папок/файлов в интерфейсе
  • Поиск товаров по артикулу на InSales
  • Загрузка файлов в соответствующую карточку товар
  • Применение штатного сжатия InSales
  • UI с возможностью множественного выбора файлов/папок

Особенности и ограничения

  • Фото загружаются в конец галереи (без удаления текущих);
  • Пользователь может загрузить: отдельные файлы внутри подпапки; всю подпапку; несколько подпапок одновременно;
  • Сопоставление товара и фото происходит по артикулу, извлекаемому из названия папки;
  • Сжатие фото осуществляется средствами InSales (на первом этапе);
  • Интерфейс предельно простой — без логирования, без меток и описаний фото.

Технический стек

  • Node.js + Express для backend-сервиса
  • OAuth авторизация через Яндекс
  • API InSales для загрузки изображений
  • Vue.js интерфейс (SPA)
  • Облачное размещение (с защищенным доступом)

 

Свяжитесь с нами для консультации и разработки индивидуального решения под ваши задачи. Поможем оптимизировать бизнес-процессы и повысить эффективность вашего e-commerce проекта.

Этот проект — хороший пример того, как можно расширять возможности InSales, не дожидаясь обновлений платформы. Мы интегрировали внешний источник (Яндекс.Диск) в текущие бизнес-процессы клиента без изменения штатной логики платформы.

 

Консультация по телефону
+7 812 24-110-34 или заполните форму ниже.

Нужна индивидуальная разработка на InSales?

Получите оценку стоимости в течение 30 минут!