Кейс

Автоматизація каталогу Print Market

Автоматизація бізнесу для Print Market: синхронізація каталогу постачальника, створення товарів у Shopify, автоматичні переклади та закрита адмін-панель.

Print Market

Актуальний каталог товарів Print Market з фільтрами та синхронізованими товарами Shopify

AskMe розробив для Print Market індивідуальну систему автоматизації бізнесу, щоб вирішити практичну e-commerce задачу: як працювати з великим каталогом постачальника без ручного копіювання товарів, цін, залишків, зображень і параметрів друку в Shopify.

Проект створено як окремий сервіс ANDA Shopify Sync. Він з’єднує персоналізовані фіди постачальника ANDA Present з інтернет-магазином Print Market на Shopify і дає команді контрольований спосіб імпортувати, переглядати, вибирати та публікувати товари постачальника.

Система імпортує кілька XML-фідів: товари, ціни, залишки, категорії, дані маркування, індивідуальні ціни друку для товарів і ціни технологій друку. Замість того щоб сліпо завантажувати все в Shopify, дані спочатку обробляються і зберігаються в локальній базі SQLite у режимі WAL. Це створює стабільний робочий шар між API постачальника та інтернет-магазином.

У закритій адмін-панелі команда Print Market може шукати товари, фільтрувати їх за категоріями, вибирати окремі позиції або цілі сторінки, переглядати історію імпортів і керувати налаштуваннями синхронізації. Адмінка також має зміну пароля, Basic Auth-захист, історію задач і механізми, які не дозволяють запускати кілька імпортів або синхронізацій одночасно.

Для інтеграції з Shopify система використовує Shopify Admin API і логіку productSet. Вибрані товари можуть створюватися в Shopify з варіантами, зображеннями, розрахованими цінами, залишками, опціями товару та технічними metafields. Нові товари готуються безпечно: спочатку вони можуть створюватися як чернетки, а активуються і публікуються лише ті позиції, для яких є достатній доступний залишок для замовлення.

Для проекту було створено окремий ціновий шар. Він розраховує продажні ціни на основі закупівельної ціни постачальника, правил націнки, ваги товару, правил вхідної доставки, націнки на доставку та діапазонів кількості. Для промопродукції це особливо важливо, тому що фінальна ціна для клієнта залежить не лише від порожнього товару, а й від кількості, стартових витрат, методу друку та логіки доставки.

Сторінки товарів Shopify також отримали окремий ANDA-шаблон і кастомний скрипт ціноутворення. Вітрина може показувати ціну за одиницю, загальну суму з ПДВ для вибраної кількості, мінімальну кількість замовлення та локалізовані підписи до цін. Дані ціноутворення зберігаються в Shopify metafields, щоб вітрина й логіка кошика використовували одну й ту саму структуровану інформацію.

Автоматичний переклад реалізовано через Microsoft Azure Translator. Назви, описи та інший товарний контент можуть перекладатися з англійської на додаткові мови вітрини. Система використовує кеш перекладів, тому повторні переклади не оплачуються вдруге, а однакові тексти використовуються послідовно. Переклад запускається після того, як Shopify прийняв товар, тому тимчасова помилка перекладача не змушує повторювати всю синхронізацію товару.

Проект також включає обробку зображень. Зображення беруться з URL постачальника, головне зображення може нормалізуватися в чисте біле полотно 800 на 600 для завантаження в Shopify, а тимчасові файли видаляються із сервера після завершення обробки Shopify. Це зберігає сервер чистішим і не створює зайвого накопичення файлів.

Крім синхронізації каталогу, ми додали Shopify app-proxy сценарій для завантаження клієнтських файлів до запитів на послуги. Він підтримує staged upload targets, перевірку файлів, підписане підтвердження завантаження, реєстрацію файлів у Shopify Files і видалення з адмінки. Це дає Print Market безпечніший спосіб приймати файли клієнтів для друку без відкриття внутрішньої адмін-системи.

Технічно проект використовує TypeScript, Fastify, SQLite, Zod validation, потоковий XML-парсинг через saxes, Sharp для обробки зображень, Microsoft Azure Translator, Shopify Admin GraphQL API, Shopify metafields, кастомізацію Shopify theme, Shopify Function extension для bundle-style pricing logic, Docker Compose і Nginx deployment.

Результат — це не просто інтеграція, а повноцінний шар бізнес-автоматизації. Print Market може значно швидше розширювати каталог, зменшувати ручну роботу, уникати повторного copy-paste, контролювати залишки та ціни постачальника, готувати багатомовний контент товарів і публікувати товари в Shopify через структурований процес підтвердження.