探索OpenCart 2.0中的REST API:第二部分

在本系列中,我们将讨论OpenCart中的REST API。 在第一部分中,我们从后端开始了API用户凭证的设置。 在这一部分中,我们将对其进行扩展并遍历其余示例,展示如何在购物车中设置运输,付款和与客户相关的数据。 最后,我们将通过下订单来结束本文!

如果您还没有完成第一部分,我建议您仔细阅读。 让我们快速回顾一下本系列到目前为止的工作。

  • 我们从后端创建了API用户凭证。
  • 我们设置了在所有示例中用于进行curl调用的通用文件。
  • 我们通过提供“如何登录”,“如何在购物车中添加产品”和“如何在购物车中编辑产品”的示例来介绍API的用法。

今天,我们将继续自己的旅程,并看到更多示例,这些示例需要使用API​​在OpenCart中创建完整的订单。 我们将从剩下的最后一部分开始,所以我假设您已经创建了common.phplogin.phpadd_product.phpedit_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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值