在本系列中,我们将讨论OpenCart中的REST API。 在第一部分中,我们从后端开始了API用户凭证的设置。 在这一部分中,我们将对其进行扩展并遍历其余示例,展示如何在购物车中设置运输,付款和与客户相关的数据。 最后,我们将通过下订单来结束本文!
如果您还没有完成第一部分,我建议您仔细阅读。 让我们快速回顾一下本系列到目前为止的工作。
- 我们从后端创建了API用户凭证。
- 我们设置了在所有示例中用于进行curl调用的通用文件。
- 我们通过提供“如何登录”,“如何在购物车中添加产品”和“如何在购物车中编辑产品”的示例来介绍API的用法。
今天,我们将继续自己的旅程,并看到更多示例,这些示例需要使用API在OpenCart中创建完整的订单。 我们将从剩下的最后一部分开始,所以我假设您已经创建了common.php
, login.php
, add_product.php
和edit_product.php
文件。
如何添加运送信息
首先,我们将首先添加送货地址。
如何添加送货地址
使用以下内容创建文件add_shipping_address.php
。
<?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
。
<?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
代码作为参数,以设置运输方法。
最后,您应该看到“成功:设置了送货方式!” 方法成功。 这里要注意的一件重要事情是,设置“送货地址”和“送货方式”的顺序很重要。 首先,您需要设置“运输地址”,然后调用设置“运输方法”。
如何添加付款信息
如何添加付款地址
创建具有以下内容的文件add_payment_address.php
。
<?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
。
<?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
代码作为参数来设置付款方式。
结果,您应该看到“成功:已设置付款方式!”
如何添加客户数据
现在,让我们继续设置客户数据。 创建具有以下内容的文件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! 消息“您已经成功修改了客户”应该给您确认成功。
到目前为止,我们已经为订单完成了所有设置。 完成订单的唯一剩下的事情就是进行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);
尽管创建新订单是非常简单的代码,但此处需要注意的重要一点是您需要将“ Shipping Method”作为参数传递。 是的,这有点奇怪,因为我们已经在较早的示例中设置了送货方法,但是目前它就是这样工作的。
因此,这就是使用REST API在OpenCart中创建订单的完整过程。 还有一些其他API可以用来设置优惠券,奖励和优惠券,但是为了简洁起见,我将它们留给您探索!
结论
在本系列中,我们讨论了OpenCart中的REST API。 我们浏览了PHP cURL示例,以了解API的用法。 我希望它可以帮助您将第三方系统与OpenCart集成。 不要忘记在市场上查看我们的产品 ,也不要忘记分享您对这一令人兴奋的功能的想法!
翻译自: https://code.tutsplus.com/tutorials/explore-rest-apis-in-opencart-20-part-two--cms-25136