dietervyncke / dry-sendcloud
该包的最新版本(1.0.2)没有可用的许可证信息。
Dry Sendcloud
1.0.2
2020-09-08 08:49 UTC
Requires
- guzzlehttp/guzzle: ^6.5
This package is auto-updated.
Last update: 2024-09-19 22:39:22 UTC
README
Sendcloud API 的 PHP 客户端(非官方客户端)。
Sendcloud API 的完整文档可以在 https://docs.sendcloud.sc/api/v2/shipping/ 找到。
索引
安装
composer require dietervyncke/dry-sendcloud
php oak migration migrate -m sendcloud
配置选项
用法
注册服务提供商
<?php $app = new \Oak\Application(); $app->register([ \Tnt\Sendcloud\SendcloudServiceProvider::class, ]); $app->bootstrap();
创建包裹与标签
<?php try { $scParcel = $sendcloudApi->createParcel([ 'parcel' => [ 'order_numer' => '123', 'name' => 'John Doe', // required 'address' => 'Main St', // required 'house_number' => '123', // required 'postal_code' => '92520', // required 'city' => 'Anytown', // required 'country' => 'USA', // required 'telephone' => '07552255', 'email' => 'john-doe@acme.com', 'request_label' => true, 'shipment' => [ // required if request_label = true 'id' => 1, ], ] ]); } catch (Tnt\Sendcloud\Exception\SendCloudException $exception) { echo $exception->getMessage(); } $parcel = new Tnt\Sendcloud\Model\Parcel(); $parcel->created = time(); $parcel->updated = time(); $parcel->sendcloud_id = $scParcel['id']; $parcel->name = $scParcel['name']; $parcel->address = $scParcel['address']; $parcel->city = $scParcel['city']; $parcel->postal_code = $scParcel['postal_code']; $parcel->email = $scParcel['email']; $parcel->tracking_number = $scParcel['tracking_number']; $parcel->status = $scParcel['status']['id']; $parcel->country = 'USA'; $parcel->is_return = $scParcel['is_return']; $parcel->shipment_method = 1; $parcel->save(); $label = new Tnt\Sendcloud\Model\Label(); $label->created = time(); $label->updated = time(); $label->label_printer = isset($scParcel['label']) ? $scParcel['label']['label_printer'] : ''; $label->normal_printer = isset($scParcel['label']) ? $scParcel['label']['normal_printer'] : []; $label->save(); $parcel->label = $label; $parcel->save();
获取所有包裹
返回所有创建的包裹数组
<?php
$parcels = $sendcloudApi->getParcels();
通过 ID 获取包裹
返回单个包裹的数组
<?php
$parcel = $sendcloudApi->getParcel(12345);
获取所有活跃的 Sendcloud 快递方式
返回快递方式结果数组
<?php
$shippingMethods = $sendcloudApi->getShippingMethods();
通过包裹 ID 获取标签
<?php
$labelContents = $sendcloudClient->download('12345');