Кейс · Ювелирный интернет-магазин, поставщик в ЕС
WordPress-плагин для синхронизации каталога с API поставщика
- 20 000+Вариаций с ценами
- 0Дублей SKU после импорта
- 3Языка данных: RU, DE, EN
- ~6 000Товаров в каталоге
- 7Этапов, все приняты
Задача
Каталог ювелирного интернет-магазина наполнялся парсингом сайта поставщика из ЕС через сторонний фид. Работало это и раньше нестабильно: обновления срывались, товары дублировались, цены расходились с прайсом поставщика. Потом поставщик закрыл доступ по IP на уровне WAF. Обновления встали совсем: фотографии перестали скачиваться, цены вариаций не разбирались, каталог замер. Клиент договорился с поставщиком об официальном REST API, и задача стала другой — подключить магазин к API так, чтобы каталог снова обновлялся сам.
Что сделали
Мы спроектировали и написали плагин WordPress, который работает мостом между API поставщика и WooCommerce. По ключу доступа (Bearer-токену) он забирает товары, категории, цены, атрибуты, вариации и фотографии, приводит данные к одному виду и обновляет каталог по SKU. Повторный прогон копий не создаёт: товар с тем же артикулом обновляется на месте, а не заводится заново. Сбор больше не зависит от вёрстки чужого сайта и от того, пустит ли он запрос, — данные поставщик отдаёт сам.
Отдельной задачей были вариации. В ювелирном каталоге одно кольцо продаётся в нескольких размерах, и у каждого размера своя цена. Напрямую импортировать вариации инструмент импорта не позволял, поэтому плагин создаёт их сам: после сохранения товара срабатывает хук, разбирает JSON с вариациями и превращает его в настоящие вариации WooCommerce. Размеры колец и цепочек свели в один глобальный атрибут и отладили цены, пока каждый размер не стал показывать свою.
API отдаёт данные на трёх языках: русском, немецком и английском. Плагин берёт все три напрямую, вести переводы вручную на стороне магазина не нужно. Категорий в каталоге до 80, обновление идёт по расписанию WordPress раз в сутки.
Плагин писали и проверяли на локальной копии сайта, на рабочий переносили готовые версии. По пути чинили не только код:
- импорт падал от нехватки памяти на хостинге и упирался в лимиты FastCGI;
- хостер случайно откатил сайт из бэкапа, и его пришлось восстанавливать;
- на том же сервере жил чужой взломанный сайт и съедал процессор, нашли и его.
Перед сдачей прогнали чистый импорт с нуля: около 6 тысяч товаров, треть из них вариативные, больше 20 тысяч вариаций и ни одного дубля SKU. Чистый импорт — строгая проверка: любая ошибка в сопоставлении артикулов сразу дала бы дубли. Товары без категории автоматически попадают в резервную рубрику и не теряются.
Результат
Каталог снова обновляется каждый день сам, теперь через официальный API поставщика, а не через разбор чужого сайта. Если поставщик переделает свой сайт, каталог этого не заметит: данные идут из API, а не со страниц. Работа шла серией из семи этапов, клиент принял каждый и оставил пять положительных отзывов, в одном из них: «Работа выполнена как всегда на высоте. Рекомендую!»
Технологии
Все супер. Человек мастер своего дела. Все сдел то о чем договаривались.
Связанные услуги
Похожая задача?
Опишите, что нужно — проверим и вернёмся с предварительной оценкой. После согласования ТЗ отправим персональную ссылку на оплату.