Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

[Поддержка] OpenCart Admin API Сlass


costas
 Поделиться

Рекомендованные сообщения

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, в последней версии это учтено.

 


  • Добавил
  • Добавлено
    01.09.2019
  • Категория
  • Системные требования
    PHP's cURL
  • Метод активации
    Без активации
  • Ioncube Loader
    Нет
  • ocStore
    3.0
  • OpenCart.Pro, ocShop
    Не проверялось
  • Обращение к серверу разработчика
    Нет

 

Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.