tp5快递sdk

TP5快递SDK是基于ThinkPHP5框架开发的一个快递查询接口,可以快速集成到自己的应用中,实现快递查询功能。下面将对TP5快递SDK的原理和详细介绍进行说明。

一、原理

TP5快递SDK是利用快递100提供的API接口实现的,通过发送HTTP请求获取快递信息,并将返回的JSON数据进行解析,最终返回给调用方。快递100提供的API接口需要传递快递公司编码和快递单号两个参数,通过这两个参数可以查询到该快递的详细信息。

二、详细介绍

1. 安装

首先需要在composer.json文件中添加tp5-express-sdk的依赖:

```

"require": {

"php": ">=5.4.0",

"topthink/think": "5.0.*",

"topthink/think-captcha": "^2.0",

"topthink/think-validate": "^2.0",

"topthink/think-queue": "^2.0",

"topthink/think-worker": "^2.0",

"topthink/think-session": "^2.0",

"topthink/think-cache": "^2.0",

"topthink/think-log": "^2.0",

"topthink/think-db": "^2.0",

"topthink/think-migration": "^2.0",

"topthink/think-view": "^2.0",

"topthink/think-route": "^2.0",

"topthink/think-swagger": "^2.0",

"topthink/think-queue": "^2.0",

"topthink/think-orm": "^2.0",

"topthink/think-mongo": "^2.0",

"topthink/think-redis": "^2.0",

"topthink/think-swoole": "^2.0",

"topthink/think-wxwork": "^2.0",

"topthink/think-wechat": "^2.0",

"topthink/think-cors": "^2.0",

"jason-zoo/tp5-express-sdk": "^1.0"

},

```

然后执行composer update命令进行安装。

2. 配置

在config目录下新建一个express.php配置文件,配置快递100的appkey和appsecret:

```

return [

'appkey' => 'xxxxxxxxxxxxxxxxxxxxxxxx',

'appsecret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',

];

```

3. 使用

在控制器中引入Tp5ExpressSdk类,调用query方法即可查询快递信息:

```

namespace app\index\controller;

use jasonzoo\Tp5ExpressSdk;

class Index

{

public function index()

{

$express = new Tp5ExpressSdk();

$result = $express->query('shentong', '1234567890');

dump($result);

}

}

```

其中,'shentong'是快递公司编码,'1234567890'是快递单号。

4. 返回结果

查询成功后,会返回一个JSON格式的数据,包含快递单号、快递公司、快递状态等信息。以下是一个返回结果的示例:

```

{

"message": "ok",

"nu": "1234567890",

"ischeck": "1",

"condition": "F00",

"com": "shentong",

"status": "200",

"state": "3",

"data": [

{

"time": "2021-01-01 12:00:00",

"ftime": "2021-01-01 12:00:00",

"context": "已签收,感谢使用顺丰,期待再次为您服务",

"location": ""

},

{

"time": "2021-01-01 09:00:00",

"ftime": "2021-01-01 09:00:00",

"context": "快件派送中,派件人:XXX,电话:XXX",

"location": ""

},

{

"time": "2021-01-01 08:00:00",

"ftime": "2021-01-01 08:00:00",

"context": "快件已到达XXX,准备派送",

"location": ""

},

{

"time": "2021-01-01 05:00:00",

"ftime": "2021-01-01 05:00:00",

"context": "快件已到达XXX,正在分拣中",

"location": ""

},

{

"time": "2021-01-01 03:00:00",

"ftime": "2021-01-01 03:00:00",

"context": "快件已到达XXX,正在进行装车扫描",

"location": ""

},

{

"time": "2021-01-01 00:00:00",

"ftime": "2021-01-01 00:00:00",

"context": "您的订单已经进入顺丰扫描环节,请耐心等待",

"location": ""

}

]

}

```

以上就是TP5快递SDK的原理和详细介绍,通过TP5快递SDK可以快速实现快递查询功能,为应用的用户提供更好的服务。