В этой серии мы обсуждаем API REST в OpenCart. В первой части мы рассмотрели настройку учетных данных пользователя API из серверной части. В этой части мы расширим его и рассмотрим остальные примеры, показывающие, как установить данные о доставке, оплате и клиенте в корзину. Наконец, мы завершим статью, разместив заказ!
Если вы еще не прошли первую часть, я бы порекомендовал вам пройти ее. Давайте кратко расскажем о том, что мы сделали в этой серии.
- Мы создали учетные данные пользователя API из серверной части.
- Мы настроили общий файл, который используется во всех примерах для выполнения вызовов curl.
- Мы рассмотрели использование API, предоставив примеры «Как войти в систему», «Как добавить товар в корзину» и «Как редактировать товар в корзину».
Сегодня мы продолжим наше путешествие и увидим еще пару примеров, которые нам понадобятся для создания полного заказа в OpenCart с использованием API. Начнем с того места, где мы оставили последнюю часть, поэтому я предполагаю, что вы уже создали файлы common.php
, login.php
, add_product.php
и edit_product.php
.
Как добавить информацию о доставке
Для начала добавим адрес доставки.
Как добавить адрес доставки
Создайте файл add_shipping_address.php
со следующим содержимым.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
|
<?php
require «common.php»;
// set up params
$url = ‘https://your-opencart-store-url/index.php?route=api/shipping/address’;
$fields = array(
‘firstname’ => ‘Sajal’,
‘lastname’ => ‘Soni’,
‘address_1’ => ‘Abc Street, 105’,
‘city’ => ‘Ahmedabad’,
‘country_id’ => ’99’,
‘zone_id’ => ‘1485’,
);
$json = do_curl_request($url, $fields);
$data = json_decode($json);
var_dump($data);
|
Мы передаем все обязательные поля для адреса доставки в массиве $fields
. Вы должны увидеть «Успешно: адрес доставки был установлен!» сообщение в случае успеха!
Как добавить способ доставки
Создайте файл add_shipping_method.php
со следующим содержимым.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
|
<?php
require «common.php»;
// get list of shipping methods
$url = ‘http://your-opencart-store-url/index.php?route=api/shipping/methods’;
$json = do_curl_request($url);
$ship_methods_data = json_decode($json);
// fetch «code» of the shipping method we want to add
$ship_code = $ship_methods_data->shipping_methods->free->quote->free->code;
// set up shipping method
$url = ‘http://your-opencart-store-url/index.php?route=api/shipping/method’;
$fields = array(
‘shipping_method’ => $ship_code // ‘free.free’
);
$json = do_curl_request($url, $fields);
$data = json_decode($json);
var_dump($data);
|
Чтобы установить способ доставки заказа, мы должны знать, какие способы доставки доступны в первую очередь. Таким образом, мы получили список методов доставки в первом вызове CURL в приведенном выше примере. Я предполагаю, что вы включили метод «Бесплатная доставка» в серверной части, так как мы собираемся использовать его в качестве метода доставки.
В следующем вызове CURL мы передали код shipping_method
в качестве аргумента, который необходим для установки метода доставки.
Наконец, вы должны увидеть «Success: Способ доставки был установлен!» метод как успех. Здесь важно отметить, что важен порядок, в котором вы устанавливаете «Адрес доставки» и «Способ доставки». Сначала вам нужно установить «Адрес доставки», а после этого вы должны позвонить, чтобы установить «Способ доставки».
Как добавить платежную информацию
Как добавить платежный адрес
Создайте файл add_payment_address.php
со следующим содержимым.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
|
<?php
require «common.php»;
// set up params
$url = ‘http://your-opencart-store-url/index.php?route=api/payment/address’;
$fields = array(
‘firstname’ => ‘Sajal’,
‘lastname’ => ‘Soni’,
‘address_1’ => ‘Abc Street, 105’,
‘city’ => ‘Ahmedabad’,
‘country_id’ => ’99’,
‘zone_id’ => ‘1485’,
);
$json = do_curl_request($url, $fields);
$data = json_decode($json);
var_dump($data);
|
Это практически идентично примеру «Адрес доставки», за исключением того, что он устанавливает адрес оплаты заказа. Вы должны увидеть «Успешно: Платежный адрес установлен!» в случае успеха.
Как добавить способ оплаты
Создайте файл add_payment_method.php
со следующим содержимым.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
|
<?php
require «common.php»;
// get list of payment methods
$url = ‘http://your-opencart-store-url/index.php?route=api/payment/methods’;
$json = do_curl_request($url);
$payment_methods_data = json_decode($json);
// fetch «code» of the payment method we want to add
$payment_code = $payment_methods_data->payment_methods->cod->code;
// set up payment method
$url = ‘http://your-opencart-store-url/index.php?route=api/payment/method’;
$fields = array(
‘payment_method’ => $payment_code // ‘cod’
);
$json = do_curl_request($url, $fields);
$data = json_decode($json);
var_dump($data);
|
Опять же, довольно похожие вещи, как мы сделали для примера «Способ доставки». Во время первого вызова CURL мы получили список способов оплаты и получили код метода оплаты «Оплата наложенным платежом». В следующем вызове payment_method
мы передали код payment_method
в качестве аргумента, необходимого для установки метода оплаты.
В результате вы должны увидеть «Успешно: Способ оплаты был установлен!»
Как добавить данные клиента
Теперь давайте продолжим и настроим данные клиента. Создайте файл add_customer_data.php
со следующим содержимым.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
<?php
require «common.php»;
// set up params
$url = ‘http://your-opencart-store-url/index.php?route=api/customer’;
$fields = array(
‘firstname’ => ‘Sajal’,
‘lastname’ => ‘Soni’,
’email’ => ‘[email protected]’,
‘telephone’ => ‘1111111111’
);
$json = do_curl_request($url, $fields);
$data = json_decode($json);
var_dump($data);
|
Ничего необычного — мы только что передали необходимые поля клиента в API! Сообщение «Вы успешно изменили клиентов» должно дать вам подтверждение успеха.
Пока что мы все настроили для нашего заказа. Единственная оставшаяся вещь для выполнения нашего заказа — это вызов API для создания заказа, и это рецепт нашего следующего раздела!
Как создать заказ
Создайте файл add_order.php
со следующим содержимым.
01
02
03
04
05
06
07
08
09
10
11
12
|
<?php
require «common.php»;
// set up params
$url = ‘http://your-opencart-store-url/index.php?route=api/order/add’;
$fields = array(
‘shipping_method’ => ‘free.free’
);
$json = do_curl_request($url, $fields);
$data = json_decode($json);
var_dump($data);
|
Хотя это довольно простой код для создания нового заказа, важно отметить, что вам нужно передать «Метод доставки» в качестве аргумента. Да, это немного странно, так как мы уже настроили метод доставки в предыдущем примере, но сейчас он работает так.
Итак, это полный процесс создания заказа в OpenCart с использованием API REST. Есть также несколько других API для настройки купонов, наград и ваучеров, но для краткости я оставлю их для вас, чтобы изучить!
Вывод
В этой серии мы обсудили API REST в OpenCart. Мы ознакомились с примерами PHP cURL, чтобы увидеть использование API. Я надеюсь, что это поможет вам интегрировать сторонние системы с OpenCart. Не забудьте ознакомиться с нашими предложениями на рынке и не забудьте поделиться своими мыслями об этой захватывающей функции!