yihaitao/express

支持快递鸟、快递100的快递查询SDK

1.0.0 2024-09-05 02:40 UTC

This package is auto-updated.

Last update: 2024-11-05 03:03:30 UTC


README

安装

$ composer require yihaitao/express -vvv

配置

在使用本扩展之前,你需要去 快递100 或者 快递鸟 注册申请,获取到APP_ID和APP_KEY

用法

快递100

use YiHaiTao\Express\Express100;

$express = new Express100('app_id','app_key');
$info = $express->track($trackingCode, $shippingCode, $phone); //快递单号 物流公司编号 收件人手机号(顺丰必填 其他快递选填)

示例:

{
    "message": "ok",
    "nu": "888888888888",
    "ischeck": "1",
    "condition": "F00",
    "com": "shunfeng",
    "status": "200",
    "state": "3",
    "data": [
        {
            "time": "2019-03-08 19:11:51",
            "ftime": "2019-03-08 19:11:51",
            "context": "[安高广场速运营业点]快件已发车"
        },
        {
            "time": "2019-03-08 18:56:12",
            "ftime": "2019-03-08 18:56:12",
            "context": "[安高广场速运营业点]快件在【合肥蜀山区安高广场营业点】已装车,准备发往 【合肥经开集散中心】"
        },
        {
            "time": "2019-03-08 18:50:52",
            "ftime": "2019-03-08 18:50:52",
            "context": "[安高广场速运营业点]顺丰速运 已收取快件"
        }
    ]
}

快递鸟

use YiHaiTao\Express\ExpressBird;

$express = new ExpressBird('app_id','app_key'); 
$info = $express->track($trackingCode, $shippingCode, $phone, $orderCode, $requestType = '8002'); //快递单号 物流公司编号 手机号 订单编号(选填) 请求类型

示例:

{
    "LogisticCode": "8888888888888888",
    "ShipperCode": "YTO",
    "Traces": [
        {
            "AcceptStation": "【四川省直营市场部公司】 取件人: 四川省直营市场部41 已收件",
            "AcceptTime": "2019-03-21 11:03:40"
        },
        {
            "AcceptStation": "【四川省直营市场部公司】 已收件",
            "AcceptTime": "2019-03-21 13:45:01"
        },
        {
            "AcceptStation": "【成都转运中心】 已收入",
            "AcceptTime": "2019-03-21 22:40:01"
        }
    ],
    "State": "3",
    "OrderCode": "",
    "EBusinessID": "100000",
    "Success": true
}

通用方法

use YiHaiTao\Express\Express;

$express = new Express($app_id,$app_key,$type); //$type支持类型'express100'、'expressbird'

// 快递鸟  $additional=['order_code'=>111111, 'request_type'=>'8002', 'phone'=>'13012345678'] 
// 快递100 $additional=['phone'=>'18899996666']
$info = $express->track($trackingCode, $shippingCode,$additional); ////查询物流 快递单号 额外参数

在 Laravel 中使用

在 Laravel 中使用也是同样的安装方式,配置写在 config/services.php 中:

'express' => [
    'id' => env('EXPRESS_ID'),
    'key' => env('EXPRESS_KEY'),
    'type' => env('EXPRESS_TYPE'),
],

然后在 .env 中配置 EXPRESS_IDEXPRESS_KEYEXPRESS_TYPE

 EXPRESS_ID=xxxxxxxxxxxxxxxxxxxxx
 EXPRESS_KEY=xxxxxxxxxxxxxxxxxxxxx
 EXPRESS_TYPE=express100

可以用两种方式来获取 YiHaiTao\Express\Express 实例:

方法参数注入

public function edit(Express $express) 
{
    $response = $express->track('888888888', 'YTO');
}

服务名访问

public function edit() 
{
    $response = app('express')->track('888888888', 'YTO');
}

参考

License

MIT