Файли, фіди та пакетні дані

Великі обсяги даних без ручного копіювання

Переносимо та синхронізуємо товари, ціни, залишки, клієнтів, замовлення й інші дані між сайтами та зовнішніми системами. Працюємо з CSV, XLSX, XML, YML, JSON та іншими структурованими форматами.

Разове перенесення або регулярний обмін за розкладом.

Об’єкти

Що можна імпортувати та експортувати

Спочатку перевіряємо структуру джерела та модель даних системи-приймача. Не будь-який файл можна завантажити «як є».

01

Товари

02

SKU / артикули

03

Категорії

04

Характеристики

05

Варіації

06

Фото та URL

07

Ціни

08

Акційні ціни

09

Залишки

10

Клієнти

11

Замовлення

12

Статуси

13

Довідники

14

Інші структуровані дані

Фактичний набір залежить від вихідного файла та можливостей системи, у яку завантажуються дані.

Формати даних

Працюємо з поширеними форматами обміну

Інший структурований формат також можна проаналізувати окремо.

CSV

Таблиці, каталоги, ціни, залишки та масові операції.

XLS / XLSX

Дані, які постачальник або менеджер веде в Excel.

XML

Структуровані каталоги та складні товарні дані.

YML

Товарні фіди для сервісів, що підтримують цей формат.

JSON

Структурований експорт, імпорт і проміжний обмін.

Сценарій

Разовий імпорт або регулярна синхронізація

One-time

Разовий імпорт

Для перенесення або первинного завантаження.

  • перенесення каталогу
  • міграція сайту
  • первинне завантаження
  • масове оновлення
  • клієнти й замовлення
  • перехід на іншу CMS
Recurring

Регулярний обмін

Для даних, які змінюються постійно.

  • прайси постачальника
  • залишки
  • ціни
  • статуси
  • регулярний каталог
  • автоматичний експорт

Регулярний файл можна обробляти cron-задачею або іншим автоматичним процесом.

Схема імпорту

Від файла до результату в системі

Кожен етап відповідає на просте запитання: що отримали, чи коректні дані, куди їх записати та що робити з результатом.

  1. 01File / Feedотримуємо джерело
  2. 02Валідаціяперевіряємо структуру
  3. 03Мапінгзіставляємо поля
  4. 04Трансформаціяготуємо дані
  5. 05Сайт / CRMімпортуємо результат

Результат / log: створено · оновлено · пропущено · помилка

Мапінг даних

Поля в різних системах рідко збігаються один в один

Мапінг визначає, куди потрапить кожне поле і як його потрібно перетворити.

ДжерелоСайт / CRMПравило
supplier_skuАртикулбез зміни
category_idКатегорія сайтуза таблицею відповідності
supplier_statusСтатусмапінг значень
available: yes/noАктивність: 1/0нормалізація
colour / sizeВаріаціїгрупування атрибутів

Каталог товарів

Імпорт каталогу — більше, ніж назва та ціна

Склад перенесення залежить від джерела. SEO-поля, медіа й зв’язки між товарами перевіряємо окремо.

  • категорії й підкатегорії
  • бренди
  • характеристики
  • варіації
  • SKU та штрихкоди
  • описи
  • фото
  • ціни й залишки
  • статус активності
  • SEO-дані за наявності
  • зв’язки між товарами

Фото та файли

Зображення часто потребують окремої логіки

Джерело має бути доступним, а кожне фото — однозначно пов’язане з товаром або варіацією.

Закриті або захищені джерела потребують погодженого доступу.

  • URL зображення у файлі
  • декілька фото на товар
  • download і локальне збереження
  • перевірка дублювання
  • обробка недоступних URL
  • різні формати файлів
  • прив’язка фото до варіації

Ціни та залишки

Регулярне оновлення прайсу постачальника

Товар визначаємо за стабільним ключем, а не лише за назвою.

SKUартикулexternal IDbarcodeінший стабільний ID
ПостачальникCSV / XML / XLSXcronМагазин
  • ціна
  • залишок
  • закупівельна ціна
  • статус наявності
  • характеристики
  • активність товару
  • інші погоджені поля

Замовлення та клієнти

Переносимо історію з правилами дублювання

  • міграція між ecommerce-платформами
  • перенесення архіву замовлень
  • імпорт клієнтів
  • створення замовлень із файла
  • передача замовлень у CRM
  • імпорт статусів
Перевіряємо до імпорту
  • унікальні ID і дублікати
  • формат телефону та email
  • товари у старих замовленнях
  • відповідність статусів
  • часові пояси й дати
  • персональні дані
  • паролі не переносимо відкритим текстом

Міграція даних

Перенесення при зміні CMS або платформи

У цьому сценарії працюємо саме з даними — без обіцянки автоматичного перенесення всієї логіки старого сайту.

  1. 01старий сайт → WordPress / WooCommerce
  2. 02одна ecommerce-платформа → інша
  3. 03custom CMS → стандартна CMS
  4. 04старий каталог → новий магазин
  • каталог
  • категорії
  • клієнти
  • замовлення
  • атрибути
  • зображення
  • залишки
  • інші доступні дані

Експорт

Не тільки завантажуємо, а й формуємо дані для інших систем

Конкретний формат можливий лише тоді, коли у сайті достатньо вихідних даних.

ручнийза URLза розкладомсформований на запитз фільтрами
  • CSV / XLSX
  • XML / YML
  • JSON
  • товарний feed
  • прайс
  • залишки
  • замовлення
  • клієнти
  • дані для CRM
  • дані для зовнішнього сервісу

Маркетплейси та фіди

Товарні фіди для маркетплейсів

Готуємо файловий обмін каталогом без дублювання повної логіки інтеграції замовлень і статусів.

Інтеграція з маркетплейсами
  • сформувати XML / YML
  • адаптувати існуючий feed
  • трансформувати категорії та поля
  • відфільтрувати асортимент
  • передавати ціни та залишки

API чи файл

Коли краще API, а коли файл

API

Оперативний обмін

  • оперативні зміни
  • замовлення
  • статуси
  • двосторонній обмін
  • стабільний API
CSV / XML / XLSX

Пакетний обмін

  • великий каталог
  • прайс постачальника
  • масове оновлення
  • сервіс без API
  • проста регулярна синхронізація

В одному проєкті API та файловий обмін можуть доповнювати один одного. Детальніше про API-інтеграції →

Валідація

Некоректний рядок не повинен зупинити весь імпорт

Набір перевірок і формат звіту визначаємо під конкретний проєкт.

importedupdatedskippedfailed
  • обов’язкові поля
  • тип даних
  • SKU
  • ціна
  • залишок
  • категорія
  • URL фото
  • encoding
  • формат дат
  • дублікати

Дублікати

Важливо визначити, коли створювати, а коли оновлювати

Стабільний унікальний ключ — обов’язкова частина серйозного імпорту.

SKUexternal IDemailphoneorder IDbarcode
  1. 01створити
  2. 02оновити
  3. 03пропустити
  4. 04деактивувати
  5. 05не змінювати окремі поля

Великі обсяги

Великі файли обробляємо частинами

Великий каталог не завжди можна безпечно імпортувати одним HTTP-запитом. Пакетна обробка зменшує ризик таймауту й дозволяє продовжити процес із контрольної точки.

  • batch processing
  • pagination
  • chunking
  • queues
  • cron
  • background jobs
  • контроль memory / time limits
  • checkpoints

Логування та звіт

Результат обробки має бути зрозумілим

Фіксуємо погоджені технічні дані, але не записуємо зайві персональні відомості.

  • кількість рядків
  • створено
  • оновлено
  • пропущено
  • помилки
  • external ID
  • час обробки
  • причина відмови

Процес реалізації

Від прикладу файла до контрольованого обміну

  1. 01

    Отримуємо приклад

    Беремо файл або зразок даних.

  2. 02

    Аналізуємо

    Перевіряємо структуру і якість.

  3. 03

    Шукаємо ключі

    Визначаємо стабільні ID.

  4. 04

    Будуємо карту

    Зіставляємо поля систем.

  5. 05

    Фіксуємо правила

    Описуємо створення й оновлення.

  6. 06

    Тестуємо імпорт

    Запускаємо обмежену вибірку.

  7. 07

    Перевіряємо

    Звіряємо результат і помилки.

  8. 08

    Запускаємо

    Обробляємо повний набір.

  9. 09

    Автоматизуємо

    Додаємо розклад за потреби.

Типові задачі

Що можна перенести або автоматизувати

  1. 01Завантажити каталог із Excel
  2. 02Перенести товари між платформами
  3. 03Сформувати XML / YML-feed
  4. 04Регулярно імпортувати прайс
  5. 05Оновлювати залишки з CSV / XML
  6. 06Експортувати замовлення
  7. 07Імпортувати клієнтів
  8. 08Мігрувати архів замовлень
  9. 09Синхронізувати через cron
  10. 10Трансформувати формат постачальника
  11. 11Виправити нестабільний імпорт
  12. 12Оптимізувати великий каталог

Платформи

Підключаємося до існуючих проєктів

Сайт не обов’язково має бути розроблений PromoSite. Починаємо з аналізу моделі даних і доступного способу обміну.

  • WordPress
  • WooCommerce
  • Bitrix
  • OpenCart
  • PrestaShop
  • Laravel / Symfony / CodeIgniter
  • Кастомні PHP-проєкти
  • Інші системи після аналізу

Що потрібно для старту

Готове ТЗ не обов’язкове

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

Показати приклад даних
  • 01приклад файлу
  • 02опис системи-джерела
  • 03сайт / CMS
  • 04що потрібно імпортувати або експортувати
  • 05важливі поля
  • 06унікальний ідентифікатор
  • 07разова задача чи регулярний обмін
  • 08приблизний обсяг даних

Коротко про головне

Питання та відповіді

Чи можна імпортувати товари з Excel?

Так, якщо файл має зрозумілу структуру і даних достатньо для створення або оновлення товарів.

Чи можна регулярно оновлювати ціни та залишки?

Так. Якщо постачальник регулярно надає файл або feed, процес можна автоматизувати.

Чи можна перенести каталог з іншої CMS?

Так, після аналізу способу отримання даних зі старої системи та структури нової платформи.

Чи можна імпортувати фото?

Так, якщо є доступні URL або файли й можна однозначно прив’язати їх до товарів.

Як уникнути дублів?

Визначаємо стабільний унікальний ключ — наприклад SKU, external ID, barcode, order ID або інше поле.

Чи можна імпортувати дуже великий каталог?

Так, але великий обсяг може потребувати пакетної обробки, cron, background jobs та додаткової оптимізації.

Що робити з помилковими рядками?

За потреби імпорт може пропускати некоректні записи, логувати причину й продовжувати обробку інших даних.

Чим імпорт відрізняється від API-інтеграції?

Імпорт та експорт переважно працюють із файлами або пакетними даними, а API — з програмними запитами. Обидва підходи можуть доповнювати один одного.

Чи потрібне готове ТЗ?

Ні. Для початку достатньо прикладу файлу та опису бажаного результату.

Наступний крок

Потрібно перенести або регулярно завантажувати дані?

Надішліть приклад файла, посилання на сайт і коротко опишіть, які дані потрібно імпортувати або експортувати. Ми перевіримо структуру та запропонуємо спосіб реалізації.

Обговорити імпорт або експорт