1b.app
Скопирована ссылка -

Не работает интеграция с opencart 3+

Настроили интеграцию https://erp.openshop.ua/admin/shop/integrations/opencart-1/control/
Установлено действие https://prnt.sc/wg4qsc
Файлы на сервер поместили
Выгружаются только категории https://prnt.sc/wg4z5y
Товары не выгружаются, заказы не загружаются.

В чём проблема?

Ответы:

Разработчики Opencart 3+ допустили ошибку в API, из-за этого не работает корректно.

Чтоб исправить:
1) идем в файл /catalog/controller/startup/session.php и ищем строку
$this->db->query("DELETE FROM `" . DB_PREFIX . "api_session` WHERE TIMESTAMPADD(HOUR, 1, date_modified) < NOW()");

и перед этой строкой надо добавить:
if (!isset($this->request->get[‘api_token’])) { $this->request->get[‘api_token’] = ”; }

2. идем в файл catalog/model/account/api.php и ищем строку:

$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "api` WHERE `username` = '" . $this->db->escape($username) . "' `key` = '" . $this->db->escape($key) . "' AND status = '1'");
в этой строке также допущена ошибка пропущен AND. Ниже я указал правильную строку, просто замените на нее:
$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "api` WHERE `username` = '" . $this->db->escape($username) . "' AND `key` = '" . $this->db->escape($key) . "' AND status = '1'");

3. Последний шаг и можно приступать. Идем в файл /catalog/controller/api/login.php и ишем там строку :

$session = new Session($config->get('session_engine'), $registry);

И тут разработчики чуток на путали. правильный синтаксис такой :

$session = new Session($this->config->get('session_engine'), $this->registry);

Вот и все.
05.01.2021, 13:39

Копылов Виталий Витальевич
Интернет Магазин openshop.ua
сделали по этой инструкции https://evilcoder.ru/oshibki-v-opencart-api-ili-skaz-o-tom-pochemu-nuzhno-testir...
Но товары так и не выгрузились

Была сначала такая ошибка в логге
[2021-01-05 19:48:04]
point: /var/www/erpopenshopua/web1/web/cron/cron-minute.php
data: Array
(
[url] => https://new.openshop.ua/index.php?route=api/oneboxsync/getOrderValue/&token=...
[responce] => <b>Notice</b>: Undefined index: username in <b>/var/www/openshop/data/www/new.openshop.ua/catalog/controller/api/oneboxsync.php</... on line <b>15</b><b>Notice</b>: Undefined index: password in <b>/var/www/openshop/data/www/new.openshop.ua/catalog/controller/api/oneboxsync.php</... on line <b>15</b><b>Notice</b>: Undefined index: api_id in <b>/var/www/openshop/data/www/new.openshop.ua/catalog/controller/api/oneboxsync.php</... on line <b>18</b>{"error":"error_permission"}
)

Убрали здесь https://prnt.sc/wgx99h
Апи завелось, заказы импортируются https://erp.openshop.ua/admin/customorder/order/7006/edit/
Но товары не выгружаются, только категории
05.01.2021, 20:43

Пожалуйста, присоединяйтесь к диалогу. Если вам есть что сказать - пожалуйста, напишите комментарий. Для входа потребуется мобильный телефон и смс-код для идентификации. Войти и написать комментарий