Изучение API REST в OpenCart 2.0: Часть 2

Изучение API REST в OpenCart 2.0

От автора: в этой серии мы обсуждаем использование в OpenCart REST API. В первой части мы рассмотрели настройку учетных данных пользователя API из back-end. В этой части мы расширим его и рассмотрим остальные примеры, показывая, как установить данные о доставке, оплате и клиенте в корзине и разместим заказ.

Если вы еще не прошли первую часть, я бы порекомендовал вам пройти ее. Давайте кратко рассмотри то, что мы уже сделали в данной серии.

Создали учетные данные пользователя API из внешнего интерфейса.

Создали общий файл, который используется во всех примерах для создания зависающих вызовов.

Рассмотрели использование API, представив примеры «Как войти», «Как добавить продукт в корзину» и «Как отредактировать продукт в корзине».

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

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

Приступить к созданию

Сегодня мы продолжим изучение и рассмотрим еще несколько примеров, которые нам потребуются для создания полного заказа в OpenCart с использованием API. Начнем с того, где мы остановились в последней части, поэтому я расчитываю, что вы уже создали common.php, login.php, add_product.php и edit_product.php файлы.

Как добавить информацию о доставке

Для начала добавим адрес доставки.

Как добавить адрес доставки

Создайте файл add_shipping_address.php со следующим содержимым.

<?php
require "common.php";
 
// set up params
$url = 'http://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 массиве. Если всё правильно сделано, появится сообщение: «Success: Shipping address has been set!».

Как добавить метод доставки

Создайте файл add_shipping_method.php со следующим содержимым.

<?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);<br>

Чтобы установить способ доставки заказа, мы должны знать, какие способы доставки доступны в первую очередь. Так мы получим список методов доставки в первом вызове CURL в приведенном выше примере. Я предполагаю, что вы включили метод «Бесплатная доставка» в back-end, поскольку мы будем использовать его в качестве способа доставки.

В следующем вызове CURL мы передаём код shipping_method в качестве аргумента, который требуется для установки метода доставки.

Появится сообщение: «Success: Shipping address has been set!», если всё сделано правильно. Здесь нужно отметить, что порядок, в котором мы устанавливаем «Адрес доставки» и «Метод доставки», очень важен. Сначала нужно установить «Адрес доставки», после чего установить «Метод доставки».

Как добавить информацию об оплате

Как добавить адрес платежа

Создайте файл add_payment_address.php со следующим содержимым.

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

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

Приступить к созданию
<?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);<br>

Это почти идентично примеру «Адрес доставки», за исключением того, что он установит платежный адрес заказа. И снова, если всё сделано верно, появится сообщение: «Success: Shipping address has been set!».

Как добавить метод оплаты

Создайте файл add_payment_method.php со следующим содержимым.

<?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 мы получили список способов оплаты и получили код способа оплаты «Наложенным платежом». В следующем вызове CURL мы передали payment_method код в качестве аргумента, который требуется для установки метода оплаты.

В результате вы должны увидеть «»Success: Payment method has been set!».

Как добавить данные клиента

Перейдем к настройке персональных данных клиента. Создайте файл add_customer_data.php со следующим содержимым.

<?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' => 'sajalsoni@gmail.com',
  'telephone' => '1111111111'
);
 
$json = do_curl_request($url, $fields);
$data = json_decode($json);
var_dump($data);

Ничего сверхсложного — мы просто передали необходимые поля для клиентов API! Сообщение «You have successfully modified customers» подтвердит успех.

Итак, мы создали все для нашего заказа. Единственное, что нужно для его завершения — это сделать вызов API для создания заказа, и это тема нашего следующего раздела!

Как создать заказ

Создайте файл add_order.php со следующим содержимым.

<?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. Не забудьте проверить наши предложения на рынке , и не забывайте делиться своими мыслями по поводу этой захватывающей функции!

Автор: Sajal Soni

Источник: http://code.tutsplus.com/

Редакция: Команда webformyself.

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

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

Приступить к созданию
Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Интернет-магазин на OpenCart

Создание магазина с уникальным шаблоном на CMS OpenCart

Научиться

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree