Jump to content

OpenCart Admin API Сlass

Version number: 1.0.0.2
   (0 reviews)
OpenCart:
  • 3.0
ocStore:
  • 3.0
OpenCart.Pro, ocShop:
  • Не проверялось
Sign in to follow this  

About This File

Данный класс позволяет делать запросы к 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, в последней версии это учтено.

 




  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.