OpenCart Admin API Сlass
Скачать / Купить дополнение
Данный класс позволяет делать запросы к API на стороне бэкенда администратора (controller, model).
Писался под OpenCart 3.0.3.2, на более ранних версиях не тестировался, но в силу простоты и отсутствия зависимостей должен работать и на более ранних версиях.
Тип лицензии
GNU General Public License version 3
https://opensource.org/licenses/GPL-3.0
Требования
Установленное расширение PHP's cURL
https://www.php.net/manual/en/book.curl.php
Установка
Скопировать содержимое директории upload/ в корневую директорию OpenCart, архив содержит всего один файл system/library/api.php
Никаких зависимостей не требуется, изменения в файлах OpenCart не производится.
Версия opencart_admin_api_class.ocmod.zip ставится через установщик OCMOD.
Пример использования на примере API Currency (change session currency)
Создание объекта класса с параметрами "API имя" и "API ключ" и проверка успешной авторизации:
// Без записи лог файла
$api = new \API('json', '23c496d0f2043a08a75b16f732c3b51a');
// С записью в лог файл
// $api = new \API('json', '23c496d0f2043a08a75b16f732c3b51a', 1);
if($api->get_state()) {
// Успешно
...
} else {
// Что то пошло не так...
...
}
Альтернативный способ подключения:
// API login
$this->load->model('user/api');
$api_info = $this->model_user_api->getApi($this->config->get('config_api_id'));
if($api_info) {
// С записью в лог файл
//$api = new \API($api_info['username'], $api_info['key'], 1);
$api = new \API($api_info['username'], $api_info['key']);
if ($api->get_state()) {
// Успешно
...
} else {
// Что то пошло не так...
$this->log->write('API: Что то пошло не так...');
}
}
Параметры для запроса методом POST:
$params = array(
'currency' => 'USD'
);
Выполнение запроса с проверкой результата:
$result = $api->query('api/currency', $params);
if(isset($result['error'])) {
// Что то пошло не так...
...
} else {
// Успешно
...
}
Метод $api->query(route, params) - возвращает ассоциативный массив данных из декодированной JSON строки.
Метод $api->get_state() - возвращает true в случае если авторизация прошла успешно и сессия установлена, false в случае не успешной авторизации.
P.S. В текущей версии OpenCart 3.x параметры API для запроса принимаются как попало, в разных файлах по разному методом GET или POST, в последней версии это учтено.
Добавил
costas
Добавлено
01.09.2019
Категория
Инструменты, утилиты
Системные требования
PHP's cURL
Метод активации
Без активации
Ioncube Loader
Нет
ocStore
3.0
OpenCart.Pro, ocShop
Не проверялось
Обращение к серверу разработчика
Нет