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

Смотреть проект

К нам поступил запрос — необходимо провести интеграцию интернет-магазина на OpenCart с системой учета ТоргСофт. ТоргСофт, это украинская система учета товаров со многими дополнительными опциями.

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

 

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

Что мы делали по проекту

Для начала нам нужно было поработать с самой программой учета. Для этого мы настраиваем такие параметры:

  1. Тип файла, который будем выгружать на сервер с сайтом. Это будет xml-yml;
  2. Указываем поля из карточки товара, которые мы хотим чтобы попадали в выгрузку;
  3. Указываем подключение к серверу, куда будет выгружаться файл. Настраиваем параметры post-запроса. По этому запросу сразу после выгрузки файла на сервер сайт будет знать что необходимо начать обновление;
  4. Настраиваем расписание — чтобы каждые n-часов происходила выгрузка без участия человека.

Единственный момент, для работы необходимо чтобы была запущена программа торгософт на той машине, которая указана в настройках.

В нашем случае мы настроили все поля кроме тех товаров, у которых нет изображений. Потому что таких товаров у нас на сайте нет.

Инструкцию по настройке мы брали на ютуб-канале Торгософт.

В итоге мы получили такой xml-файл на сервере с сайтом. Это стандартный xml-файл, с теми полями, которые мы настроили в админке ТоргСофта.

Когда настройка на стороне системы Торгософт закончена переходим к сайту.

С чем мы столкнулись и что пришлось дорабатывать на стороне сайта:

Во-первых, необходимо было определить по каким параметрам нужно проводить сверку товаров. Уникальными оказались артикулы. Однако позже выяснилось, что товары имеют и дополнительные опции — размеры. Т.е один артикул может иметь несколько размеров и у этого размера своя цена и свое количество на складе. Это значит, что необходимо сверять еще и по размерам.

И в админке у каждого размера идет своя цена относительно основной цены товара — например размер M стоит 1300 грн, размер L стоит 1200 грн. В карточке товара это реализовано прибавлением или отниманием от базовой цены (+/-);

Еще позже выяснилось, что кроме вариаций размеров есть еще и отличие по полам. И принадлежность к полу определяется не атрибутом в товаре, а категорией. Значит — сверять еще нужно не только по артикулу и размеру, а и по полу. Причем в выгрузке пол идет как отдельный атрибут — а на сайте этого атрибута нет. Товар просто прикреплен к категории с соответствующим названием.

Что мы сделали? Переделали админку сайта, чтобы цена каждой опции была не +/- а равно = чтобы мы могли напрямую записывать цену с выгрузки в админку. После этого добавили к каждому товару атрибут «Для кого» и прописали туда определенные значения.

Все можно синхронизировать! А еще мы настроили хостинг, потому что антивирус хостинга не пропускал запрос с Торгософта — тот самый, который сигнализировал о завершении выгрузки. Не пропускал, потому что антивирус блокировал. Это стандартная практика хостинга, чтобы защитить сайты.

Какой результат получили

В итоге, мы создали систему, которая выгружает файл с товарами на сервер, автоматически обрабатывает его и обновляет цены и остатки у товаров на сайте.

Заказать проект

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