Вивчення REST API в OpenCart 2.0: частина 1

39

Від автора: у нової великої версії OpenCart безліч цікавих функцій, починаючи від повністю чуйного дизайну під front-end and back-end і закінчуючи системою повідомлень про події. Однією з найбільш сильних функцій серед них є впровадження REST API.

У цій серії з двох частин ми розглянемо більшість доступних в OpenCart API і процес створення замовлень з їх допомогою. У першій частині ми дізнаємося, як створити облікові дані користувача API і деякі з основних можливостей API.

API REST дозволяє стороннім систем безперешкодно взаємодіяти з магазином OpenCart. Що ж щодо розміщення замовлень у вашому магазині за допомогою додатка iOS / Android? Фактично, ви могли б думати про будь-якій системі незалежно від технології, на якій вона побудована! Тепер інтеграція можлива з набором API, що надаються OpenCart 2.0.

У цій частині я покажу використання API-інтерфейсів, використовуючи бібліотеку PHP cURL. Отже, для запуску прикладів нам знадобиться ця бібліотека. Очевидно, потрібна остання версія OpenCart рівна 2.0!

Створення користувальницьких облікових даних API

Перш ніж ми почнемо використовувати API, для цього нам потрібно налаштувати «User API». Без цього ми не зможемо отримати до нього доступ, і отримаємо відмова в дозволі. Отже, давайте зробимо це. Перейдіть в System> Users> API, там будуть перераховані всі користувачі API.

Вивчення REST API в OpenCart 2.0: частина 1

Інтернет-магазин на OpenCart!

Створити інтернет-магазин на самій популярної CMS OpenCart з нуля!

Приступити до створення

Вивчення REST API в OpenCart 2.0: частина 1

Натисніть + в правому верхньому куті, щоб додати нового користувача API.

Вивчення REST API в OpenCart 2.0: частина 1

Як ви можете бачити, потрібно ввести ім’я користувача, пароль і статус. Також можна використовувати кнопку Generate, щоб створити складну рядок пароля, як я вже зробив! Крім того, переконайтеся, що для параметра Status встановлено значення Enabled. Збережіть зміни, і все відмінно!

Тепер, коли ми налаштували користувача API, ми можемо почати вивчення!

Налаштування загальних файлів

У цій серії ми побачимо основні основні приклади PHP. Давайте зробимо так, щоб ми встановили файл, який містить загальний код, і уникли дублювання!

Створіть файл common.php та вставте цей вміст.

$value) {
$params_string .= $key.’=’.$value.’&’;
}
rtrim($params_string, ‘&’);
curl_setopt($ch,CURLOPT_POST, count($params);
curl_setopt($ch,CURLOPT_POSTFIELDS, $params_string);
}
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
return $result;
}

Як можемо бачити, в ньому міститься тільки одна функція, do_curl_request, яка робить виклик CURL URL-адресою, переданим $url аргументом. Другий аргумент — це масив параметрів, якщо вам потрібно виконати POST-дані.

Інші важливі моменти, які потрібно відзначити, — це налаштування CURLOPT_COOKIEJAR і налаштування CURLOPT_COOKIEFILE. Вони задають файл, в якому будуть зберігатися і зчитуватися файли cookie, оскільки нам потрібно робити аутентифіковані виклики. Звичайно, необхідно змінити шлях /tmp/apicookie.txt у відповідності з вашими системними налаштуваннями. Переконайтеся, що він доступний для запису на веб-сервері!

Отже, функція повертає відповідь на запит CURL!

Увійти

Очевидно, що перше, що потрібно зробити, це почати сеанс, і вам потрібно буде використовувати цей login метод. Давайте подивимося на приклад. Створюємо login.php файл з наступним вмістом.

‘demo_api_user’,
‘password’ = > ‘5fbYF8oDteYSJhMQnXuxGB7jx7Ujk7zjjxucwdsmzx3nj47arxw8je70byqrfpsfvamvxamj4gthpxnu1zx41jqn5vy6v2xwas6u5dmo6qdarrbc7p7rnriyyanccowlkvtnvuelikgkmstbzipdcyahx8n6pnspvna1wqfqaiekwux6ffzxiylcstate02utfxvhzf82st2cw0ehfc2rcfwdjqvaowmg1tgdasihz8eza6ngsred2qzqnqxg8lm’,
);
$json = do_curl_request($url, $fields);
$data = json_decode($json);
var_dump($data);

Для початку ми включили файл common.php, створений у попередньому розділі. Потім $url змінна визначає URL-адреса входу API в сховище OpenCart. Далі $fields масив містить облікові дані користувача API, створені раніше. І нарешті, ми викликаємо do_curl_request метод для входу в систему.

Вивчення REST API в OpenCart 2.0: частина 1

Інтернет-магазин на OpenCart!

Створити інтернет-магазин на самій популярної CMS OpenCart з нуля!

Приступити до створення

Якщо все налаштовано правильно, ви повинні побачити успішний запуск «Success: API session started successfully!»

Вітаю! Ви тільки що використовували REST API для входу в OpenCart!

Як додати товар у кошик

Отже, тепер, коли ми увійшли в систему, давайте почнемо додавати продукти в нашу кошик! Створіть файл add_product.php з наступним вмістом.

’51’,
‘кількість’ => ‘1’
);
$json = do_curl_request($url, $fields);
$data = json_decode($json);
var_dump($data);

Знову ж, це досить простий матеріал! Вам потрібно пройти product_id і quantity параметри, щоб додати товар у кошик. Якщо все правильно виконано, з’явиться повідомлення: «Success: You have modified your shopping cart!»

Як відредагувати продукт в кошику

Перш ніж рухатися далі, давайте спробуємо зрозуміти, як OpenCart зберігає інформацію про продукт в об’єкті кошика. Ось як виглядає кошик.

stdClass Object
(

[products] => Array
(
[0] => stdClass Object
(
[key] => YToxOntzOjEwOiJwcm9kdWN0X2lkIjtpojuwo30=
[product_id] => 51
[name] => Product Demo
[model] => demoproduct
[option] => Array
(
)
[quantity] => 1
[stock] => 1
[shipping] => 1
[price] => $10.00
[total] => $20.00
[reward] => 0
)
)

)

Товар зберігається у вигляді масиву, на який посилається products ключ. Крім того, key зашифрований, тому в першу чергу для редагування будь-якого запису продукту в об’єкті вам потрібно буде отримати пов’язаний key використовує product_id!

Тепер давайте розглянемо, як відредагувати кількість продукту в кошику. Створіть файл edit_product.php та вставте цей вміст в цей файл.

products[0]->key;
// edit the product in the «Cart» using «key»
$url = ‘http://your-opencart-store-url/index.php?route=api/cart/edit’;
$fields = array(
‘key’ => $product_key,
‘кількість’ => ‘2’
);
$json = do_curl_request($url, $fields);
$data = json_decode($json);
var_dump($data);

У наведеному вище прикладі ми зробили два виклику CURL. Перший, щоб забрати всі товари в корзину, а другий — оновити кількість продукту вже в самій кошику!

Щоб відредагувати будь-який продукт, вам знадобиться $key продукт, і його можна знайти, витягуючи повний масив продуктів з сеансу кошика.

Для простоти я використовував ключ, безпосередньо використовуючи індекс 0. Але вам, звичайно, потрібно знайти його, використовуючи product_id.

$product_key = $products_data->products[0]->key;

Решта просто: ми передаємо key і quantity так, як ми хотіли б оновити продукт!

Знову ж таки, ви повинні побачити «Success: You have modified your shopping cart!» у відповіді, щоб переконатися, що кількість оновлено належним чином.

У наступній частині цього посібника ми розглянемо інші приклади створення замовлення!

Висновок

Сьогодні ми розглянули важливу функцію «REST API» в OpenCart, пройшли процес створення користувача API, а пізніше ми розглянемо деякі практичні приклади, щоб зрозуміти використання API. Я хотів би почути ваші думки про цю захоплюючої функції!

Вивчення REST API в OpenCart 2.0: частина 1

Інтернет-магазин на OpenCart!

Створити інтернет-магазин на самій популярної CMS OpenCart з нуля!

Приступити до створення