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可以快速实现快递查询功能,为应用的用户提供更好的服务。