rob-lester-jr04 / laravel-sendle
Sendle 物流 API 的 Laravel 封装
1.0
2023-11-07 02:10 UTC
Requires
- php: ^8.1 || ^8.2
- fakerphp/faker: ^1.23
- guzzlehttp/guzzle: ^6.0 || ^7.0
- laravel/framework: ^9.0 || ^10.0
- league/flysystem-sftp-v3: ^3.16
Requires (Dev)
- phpunit/phpunit: >=6.0 || >=9.0 || >=10.0
README
Sendle 物流 API 的简单 API 封装
安装
通过 composer 安装
composer require rob-lester-jr04/laravel-sendle
基本用法
此包有一个 Facade,可以独立使用,同时还有可以实例化的模型。
在 Sendle 创建订单
<?php use Sendle\Models\Order; $order = new Order([ 'receiver' => [ 'contact' => [ 'name' => 'John Smith', 'email' => 'john@example.com', ], 'address' => [ 'address_line1' => '123 Main Street', 'suburb' => 'New York', 'postcode' => '10010', 'state_name' => 'NY', 'country' => 'US' ], 'instructions' => 'Leave it on the step', ], 'description' => 'test package', 'product_code' => 'STANDARD-PICKUP', 'weight' => [ 'value' => 14, 'units' => 'oz', ] ]); $order->create(); // OR.... Order::create([ ... ]);
检索订单
<?php use Sendle\Models\Order; Order::find('####');
获取产品目录
<?php use Sendle\Models\Product; use Sendle\Models\Entity; $receiver = new Entity([ 'contact' => [ 'name' => 'John Smith', 'email' => 'john@example.com', ], 'address' => [ 'address_line1' => '123 Main Street', 'suburb' => 'New York', 'postcode' => '10010', 'state_name' => 'NY', 'country' => 'US' ], 'instructions' => 'Leave it on the step', ]); $weight = 26.0; $products = Product::get($weight, $receiver);
包特质
您可以将 SendsPackages
特质包含在您的模型中,例如 Client
模型或 User
模型
<?php namespace App\Models; use Sendle\Traits\SendsPackages; class User extends Model { use SendsPackages; protected $sendleOrderCreate = [ // Map your users address fields to sendle. sendle=>model 'address_line1' => 'street_address', 'suburb' => 'city', 'state_name' => 'state', ]; //... } //.........// $user = User::find(4); $user->sendleOrderCreate('grandmas china', 36.0); //.........// $reciever = new Entity([ 'contact' => [ /** */], 'address' => [ /** */ ], ]); $user->sendleOrderCreate('grandmas china', 42, $receiver);
许可证
Laravel Sendle 是开源软件,使用 MIT 许可证授权。详情请见 MIT 许可证。