Сам сторонник REST API, поэтому применял
https://opencart-api.com, присутствует legacy код, немного правил.
Основная проблема это хранение guid на стороне opencart.
На элементах товара GUID из 1C записывал в "scu" , с остальным проблема по причине отсутствия подобного поля
На сколько помню в "OpenCart Exchange 1C" добавляется дополнительная таблица с линковкой id опенкарта и guid из 1С, достаточно хорошее решение, но сам формат CML и связанное с ним "черная коробка".
Вариант "напрямую в SQL":
cms1c.ru/opencart