Для начала нам нужно было поработать с самой программой учета. Для этого мы настраиваем такие параметры:
- Тип файла, который будем выгружать на сервер с сайтом. Это будет xml-yml;
- Указываем поля из карточки товара, которые мы хотим чтобы попадали в выгрузку;
- Указываем подключение к серверу, куда будет выгружаться файл. Настраиваем параметры post-запроса. По этому запросу сразу после выгрузки файла на сервер сайт будет знать что необходимо начать обновление;
- Настраиваем расписание — чтобы каждые n-часов происходила выгрузка без участия человека.
Единственный момент, для работы необходимо чтобы была запущена программа торгософт на той машине, которая указана в настройках.
В нашем случае мы настроили все поля кроме тех товаров, у которых нет изображений. Потому что таких товаров у нас на сайте нет.
Инструкцию по настройке мы брали на ютуб-канале Торгософт.
В итоге мы получили такой xml-файл на сервере с сайтом. Это стандартный xml-файл, с теми полями, которые мы настроили в админке ТоргСофта.
Когда настройка на стороне системы Торгософт закончена переходим к сайту.
С чем мы столкнулись и что пришлось дорабатывать на стороне сайта:
Во-первых, необходимо было определить по каким параметрам нужно проводить сверку товаров. Уникальными оказались артикулы. Однако позже выяснилось, что товары имеют и дополнительные опции — размеры. Т.е один артикул может иметь несколько размеров и у этого размера своя цена и свое количество на складе. Это значит, что необходимо сверять еще и по размерам.
И в админке у каждого размера идет своя цена относительно основной цены товара — например размер M стоит 1300 грн, размер L стоит 1200 грн. В карточке товара это реализовано прибавлением или отниманием от базовой цены (+/-);
Еще позже выяснилось, что кроме вариаций размеров есть еще и отличие по полам. И принадлежность к полу определяется не атрибутом в товаре, а категорией. Значит — сверять еще нужно не только по артикулу и размеру, а и по полу. Причем в выгрузке пол идет как отдельный атрибут — а на сайте этого атрибута нет. Товар просто прикреплен к категории с соответствующим названием.
Что мы сделали? Переделали админку сайта, чтобы цена каждой опции была не +/- а равно = чтобы мы могли напрямую записывать цену с выгрузки в админку. После этого добавили к каждому товару атрибут «Для кого» и прописали туда определенные значения.
Все можно синхронизировать! А еще мы настроили хостинг, потому что антивирус хостинга не пропускал запрос с Торгософта — тот самый, который сигнализировал о завершении выгрузки. Не пропускал, потому что антивирус блокировал. Это стандартная практика хостинга, чтобы защитить сайты.