rob-lester-jr04/laravel-sendle

Sendle 物流 API 的 Laravel 封装

1.0 2023-11-07 02:10 UTC

This package is auto-updated.

Last update: 2024-09-07 20:58:16 UTC


README

Actions Status Latest Stable Version Packagist Packagist

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 许可证