1b.app
Скопійоване посилання -

Не працює інтеграція з opencart 3+

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

Відповіді:

Розробники 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
Оригінальний коментар доступний на версії: ru

Копылов Виталий Витальевич
Интернет Магазин 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</ b> 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</b> on line <b>15</b><b>Notice</b>: Undefined index: api_id в <b>/var/www/openshop/data/www/new.openshop .ua/catalog/controller/api/oneboxsync.php</b> 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
Оригінальний коментар доступний на версії: ru

Будь ласка, приєднуйтесь до діалогу. Якщо вам є що сказати – будь ласка, напишіть коментар. Для входу потрібний мобільний телефон та смс-код для ідентифікації. Увійти та написати коментар