Ошибка "Внимание! Доступ запрещен к API!" в Opencart 2 - решение
Эта статья для тех, кто в Opencart 2.x при при попытке просмотра или редактирования заказа видит ошибки:
- Внимание! Доступ запрещен к API!
- Неверный API ключ!
- Warning: You do not have permission to access the API!
Что нужно сделать:
Если у вас постоянный IP-адрес может попробуйте сделать это:
1) зайти в Система -> Пользователи -> API. Если API еще не создано - создаем (вводим имя API, генерируем ключ, включаем статус), если уже есть - редактируем в открывшемся окне во вкладке IP адресов добавляем свой, сохраняем
2) потом зайти в Система->Настройки, открыть настройки магазина, во вкладке Опции в API User выбрать API с именем из предыдущего шага и сохранить настройки
Если у вас IP-адрес динамичный - нужно добавлять автоматически IP при авторизации:
1) откройте файл /admin/controller/common/login.php
2) найдите там:
if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
3) после него вставьте код:
$this->load->model('user/api');
$api_info = $this->model_user_api->getApi($this->config->get('config_api_id'));
$this->model_user_api->addApiIp($api_info['api_id'], $this->request->server['REMOTE_ADDR']);
После любых оперций с файлами желательно обновить модификации в админке, чтобы сбросить кеш файлов.
2) найдите там:
if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
3) после него вставьте код:
$this->load->model('user/api');
$api_info = $this->model_user_api->getApi($this->config->get('config_api_id'));
$this->model_user_api->addApiIp($api_info['api_id'], $this->request->server['REMOTE_ADDR']);
После любых оперций с файлами желательно обновить модификации в админке, чтобы сбросить кеш файлов.
Популярные модули Opencart 2