Есть приложение со своей собственной базой данных. На другом сервере есть OpenCart 2.0.
Регулярно (например, раз в час) нужно создавать товары, которые есть в первом приложении, но отстутствую в OpenCart, а так же делать частичное обновление уже существующих (например, только цену).
Как бы вы реализовали оптимально этот процесс? С точки зрения максимальной простоты со стороны OpenCart. Считаем, что приложение особо ничем не ограничено, а OpenCart располагается на шаред хостинге (не обязательно, но как вариант)
Какие могут быть подводные камни?
UPD:
Уточню, что сделать любые изменения со стороны приложения с основной базой - труда не составляет. REST уже в принципе есть, добавить поле времени - не проблема. Дамп сделать - тоже.
Основной вопрос в том, как лучше всего поступить, с наименьшим вмешательством в Опенкарт.
Например, было бы круто, если бы была ссылка на метод типа:
Product->create(array('name' => $json['name'], 'description' => $json['description']));
Product->getByName($json['name'])->update(array('price' => $json['price']));
Но, как я понял, так просто не получится.
Так же, есть какие-то плагины импорта - но их надо настраивать. Все по-разному. Есть платные, есть бесплатные.
Так же, с учетом того, что синхронизировать нужно постоянно и как можно чаще, то возникает вопрос, с чьей стороны должен идти запрос? От Опенкарта или от приложения? Опенкарт должен стараться получить данные, или база должна стараться их импортировать?
Лучшее решение то, которое требует меньше действия над Опенкартом.
Было предложение по FTP загружать JSON, а опенкарт по крону будет добавлять из него товары (обновлять цены)