Інтеграція ТОРГСОФТ з інтернет-магазином на OpenCart

Дивитись проект

До нас надійшов запит – необхідно провести інтеграцію інтернет-магазину на OpenCart із системою обліку ТоргСофт. ТоргСофт, це українська система обліку товарів з багатьма додатковими опціями.

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

 

Интеграция ТОРГСОФТ с интернет-магазином на OpenCart - работа GetBrand Studio

Що ми робили по проекту

Для початку нам потрібно було попрацювати із самою програмою обліку. Для цього ми налаштовуємо такі параметри:

  1. Тип файлу, який вивантажуватимемо на сервер із сайтом. Це буде xml-yml;
  2. Вказуємо поля з картки товару, які ми хочемо, щоб потрапляли у вивантаження;
  3. Вказуємо підключення до сервера, куди вивантажуватиметься файл. Налаштовуємо параметри post-запиту. За цим запитом відразу після вивантаження файлу на сервер сайт буде знати, що необхідно розпочати оновлення;
  4. Налаштовуємо розклад – щоб кожні n-години відбувалося вивантаження без участі людини.

Єдиний момент для роботи необхідно щоб працювала програма торгософт на тій машині, яка вказана в налаштуваннях.

У нашому випадку ми налаштували всі поля, крім тих товарів, які не мають зображень. Тому що таких товарів у нас немає.

Інструкцію з налаштування ми брали на ютуб-каналі Торгософт.

У результаті ми отримали потрібний нам XML-файл на сервері з сайтом. Це стандартний XML-файл, з тими полями, які ми налаштували в адмінці ТоргСофта.

Коли налаштування на стороні системи Торгософт закінчено переходимо на сайт.

З чим ми зіткнулися і що довелося доопрацьовувати на стороні сайту:

По-перше, необхідно було визначити за якими параметрами потрібно проводити звіряння товарів. Унікальними виявились артикули. Однак пізніше з’ясувалося, що товари мають і додаткові опції – розміри. Тобто один артикул може мати кілька розмірів і цей розмір має свою ціну і свою кількість на складі. Це означає, що потрібно звіряти ще й за розмірами.

І в адмінці у кожного розміру йде своя ціна щодо основної ціни товару – наприклад, розмір M коштує 1300 грн, розмір L коштує 1200 грн. У картці товару це реалізовано додаванням або забиранням від базової ціни (+/-);

Ще пізніше з’ясувалося, що, крім варіацій розмірів, є ще й відмінність по підлогах. І приналежність до статі визначається не атрибутом товару, а категорією. Значить – звіряти ще потрібно не лише за артикулом та розміром, а й за статтю. Причому у розвантаженні підлога йде як окремий атрибут – а на сайті цього атрибуту немає. Товар просто прикріплений до категорії із відповідною назвою.

Що ми зробили? Переробили адмінку сайту, щоб ціна кожної опції була не +/- а так само = щоб ми могли безпосередньо записувати ціну з вивантаження в адмінку. Після цього додали до кожного товару атрибут “Для кого” та прописали туди потрібні значення.

Усі можна синхронізувати! А ще ми налаштували хостинг, тому що антивірус хостингу не пропускав запит із Торгософту – той самий, який сигналізував про завершення вивантаження. Не пропускав, бо антивірус блокував. Це стандартна практика хостингу для захисту сайтів.

Який результат отримали

У результаті ми створили систему, яка вивантажує файл з товарами на сервер, автоматично обробляє його і оновлює ціни та залишки у товарів на сайті.

Зв'яжіться з нами

Замовити проект

Введіть коректний телефон