lochinvarwest/rush-ecommerce-api

一个用于与Rush电子商务API接口的Laravel包

0.1.2 2020-08-23 03:17 UTC

This package is auto-updated.

Last update: 2024-09-23 12:20:25 UTC


README

  • 此包处理您应用程序与Rush电子商务API(https://www.rush.co.za)之间的传输层。
  • 它不会帮助创建/格式化发送给Rush的报文/数据包。请参阅Rush电子商务API文档,了解所需的字段和格式。
  • 然而,此包会将传递给它的数据包编码为JSON,因此请在适用的情况下将您的参数作为数组传递。
  • 您需要一个Rush电子商务API账户来获取API身份验证令牌。

安装

  • 在项目根目录中运行以下命令
    composer require "lochinvarwest/rush-ecommerce-api:^0.1"
    

发布配置文件

php artisan vendor:publish --provider="LochinvarWest\Rush\RushServiceProvider" --tag="config"

更新配置设置。

  • 在config/rushecommerce.php中更新配置设置或插入相关的.env变量。
return [
    'account' => [
        'token' => env('RUSH_AUTHTOKEN', null),
        'account_email' => env('RUSH_ACCOUNT_EMAIL', null),
    ]
];

使用方法

  • 使用处理器独立使用。
$handler = RushHandler::create();
// or to override the default account in the config
$handler = RushHandler::create(['token' => $token, 'account_email' => $account_email]);
// then
$handler->getQuotes($deliveryDetails); //for instance
  • 使用服务提供者从容器注册的方法注入。
class RushController
{
    public function index(RushHandler $handler)
    {
        $handler->getQuotes($deliveryDetails);
    }   
}

可用的API调用

getQuotes($deliveryDetails)

$deliveryDetails是一个数组(不是JSON),如Rush API文档中所述(包括所有体积数据、提货、交货详情)。

该函数返回一个包含回复的对象(RushObject)或抛出带有相关API或传输错误消息的RushException。

$handler->getQuotes($deliveryDetails);

或选择最便宜/最快的报价

$handler->getQuotes($deliveryDetails)->cheapest();
$handler->getQuotes($deliveryDetails)->fastest();

confirmBooking($bookingDetail)

$bookingDetails是一个数组,如Rush API文档中所述(包括所有体积数据、供应商和交货地址以及选定的承运人服务)。

该函数返回一个包含运单号码的'success'对象或抛出带有相关API或传输错误消息的RushException。

$handler->confirmBooking($bookingDetail);

getPdfWaybill($waybillNumbers)

$waybillNumbers是一个包含运单号码的数组。

$handler->getPdfWaybill(['waybills' => [] ]);

该函数返回一个包含PDF运单URL的对象数组或抛出带有相关API或传输错误消息的RushException。

trackWaybill($waybillNumber)

$waybillNumber是从confirmBooking调用中接收到的号码。

该函数返回一个包含跟踪信息的数组或抛出带有相关API或传输错误消息的RushException。

$handler->trackWaybill($waybillNumber);

addressListings()

此函数仅返回有效的SUBURB-TOWN-POSTCODE地址组合的JSON列表,用于获取报价或在对Rush API进行预订时使用。(大约有20,000个)

$handler->addressListings();