lochinvarwest / rush-ecommerce-api
一个用于与Rush电子商务API接口的Laravel包
0.1.2
2020-08-23 03:17 UTC
Requires
- guzzlehttp/psr7: ^1.5
Requires (Dev)
- orchestra/testbench: ^4.5
- phpunit/phpunit: ^7.0 || ^8.0
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();