От этого поставщика нам нужно синхронизировать товары (с ценами и фото) брендов Stout, Global, РИФАР с нашим сайтом https://ekodom64.ru на платформе InSales.
- Если какие-то товары есть в выгрузке, но их нет на сайте, то они должны добавиться на сайт... - Если каких-то товаров нету в выгрузке, но они есть на сайте, то они должны удаляться с сайта. - Если какие-либо товары есть в выгрузке и есть на сайте, то к таким товарам должны меняться только цены (названия товаров и категории, в которых они находятся, меняться не должны) - Если на остатках какого-либо товара 0, то такие товары должны скрываться с витрины сайта. - Новые товары (которые есть в выгрузке, но отсутствуют на сайте) нужно импортировать на "склад" InSales, т.е. на вкладку "Импорт/Экспорт" в подкатегорию "ТеремОпт Новое", а уже в этой подкатегории должны создаваться подкатегории товаров, названия которых должны браться из выгрузки со столбца "CATEGORY". - Парсер должен быть написан на PHP.
На этой странице https://lk.teremopt.ru/personal/price_list есть ссылка "Выгрузка с персональными ценами". Вот она: https://lk.teremopt.ru/api/v0/getCSV.php?partner=MTg0MV9YOFc5Z3BISEhaclRmNE1F
Парсер должен будет раз в неделю скачивать этот csv-файл, смотреть столбец "BRAND", искать в нём STOUT, Global, RIFAR, затем смотреть столбец "ARTICLE" и искать товары с указанными в этом столбце артикулами на нашем сайте. В случае совпадения заменять цены на нашем сайте на новые, цены брать из столбца "RETAIL_PRICE". Названия уже существующих товаров заменять на новые не нужно. Категорию товаров менять тоже не нужно.
Особенности поставщика.
Фото товаров. В выгрузке в столбце "DETAIL_PAGE_URL" есть ссылки на страницы товаров поставщика. На этих страницах есть нужные фото к товарам. Фото находятся в div-е с классом "product-image". По этому классу (или может быть как-нибудь ещё) парсер должен определять, что именно эти фото соответствуют каждому конкретному товару и загружать их в карточки товаров в платформу InSales. Если перед загрузкой в платформу InSales эти фотки нужно будет предварительно куда-нибудь складывать, то можно использовать хостинг, на котором и будет работать парсер. Я посмотрел выгрузку терема и увидел, что ко многим товарам у них у самих нету фото. В случаях, когда фото к товарам нет, ставится фото-заглушка, как на этой странице например - https://lk.teremopt.ru/catalogue/detail.php?ID=11152866. Эту фотографию к карточкам товаров на нашем сайте прикреплять не нужно. В InSales подставляется свой вариант. Вычислить, что эта фотка означает, что фоток к товару нет, можно например по размеру этой фото в байтах. Парсер перед загрузкой фото будет смотреть её размер и если размер совпадает с размером той фотки, то эта фотка не будет использоваться как фото товара. Это всё я описал с высоты своего понимания и у вас конечно могут быть свои варианты.
Далее я подумал вот о чём. Пример. Парсер загрузил новую выгрузку товаров. В ней отсутствуют некоторые товары, которые были в предыдущей выгрузке. Как он узнает, какие именно это были товары? Для этого можно использовать например параметры товаров. Создать параметр "Поставщик", например, со значением "ТеремОпт" (но этот параметр не должен быть виден посетителям покупателям сайта), и этим параметром помечать все товары, загруженные от данного поставщика. Перед первой загрузкой ко всем товарам прописать этот параметр. А далее, при загрузке следующей выгрузки, уже ориентироваться на этот параметр.