PHP快递单号查询接口源码指导 (快递鸟API)

简介: 背景最近进行网站后台开发,需要实现物流的即时查询, 为了方便以后的业务需求,经过比较,最后选择使用第三方快递查询接口服务商 ——【快递鸟】同时,在此进行整理,希望能帮到有需求的道友们,谢谢 ...官方文档: 快递鸟 —— 即时查询API开发框架:ThinkPHP5.1.2 开发步骤①. 前期准备首先要进行快递鸟账号的注册快递单号查询接口_电子面单_APIKey授权申请-快递鸟账号注册快递鸟API key免费注册并根据对方的要求,完善用户申请。

背景

最近进行网站后台开发,需要实现物流的即时查询, 为了方便以后的业务需求,经过比较,最后选择使用第三方快递查询接口服务商 ——【快递鸟】
同时,在此进行整理,希望能帮到有需求的道友们,谢谢 ...
官方文档: 快递鸟 —— 即时查询API
开发框架:ThinkPHP5.1.2
开发步骤

①. 前期准备
首先要进行快递鸟账号的注册

快递单号查询接口_电子面单_APIKey授权申请-快递鸟账号注册

快递鸟API key免费注册

并根据对方的要求,完善用户申请。
然后,根据自己的需求,开通所需服务(如果只是进行物流信息的查询,以当前业务查询次数较少为例):

②. 集成类的使用
首先需要登录 快递鸟 ,获取账号的 用户ID和 API key
注册完成后登入,进入到个人中心,这里需要进行一个实名认证,按公司产品的类型进行一个选择,展示页面如下图

快递鸟实名认证
认证完成后在我的产品服务中选择自己所需要的服务,当然对于初创型公司来说选择免费版就够了,等到业务做大时再选择其他产品服务

还有就是在个人中心中如下图所示,我们需要记住的是用户ID,和API key(不要泄露),这将是我们进行接口调用时需要用到的,

对所提供源码中的 集成类 BirdExpress.php,进行配置项的==替换操作==

然后
将集成类整合到你的项目框架,根据框架规则进行必要修改(框架不同规则自然多数不同,本人为 ThinkPHP5.1.2)
下图为简单的调用测试:

③. 核心处理方法源码

首先,官方的代码 demo获得的物流信息是==正序展示==的
为了方便物流信息的倒序展示,我进行了对数组Traces的==反转操作==

/**
 * 核心方法
 * Json方式 查询订单物流轨迹
 * @param string $ShipperCode 快递公司编码
 * @param string $LogisticCode 物流单号
 * @param int $arrayFlag 是否进行数组转化标志 默认0:否  1:转化
 * 参考规则举例:
 * $requestData = "{'OrderCode':'','ShipperCode':'ZTO','LogisticCode':'640041334612'}";
 * @return result 包含即时物流信息的 Json数据
 */
public function getOrderTracesByJson($ShipperCode = "",$LogisticCode = "",$arrayFlag = 0)
{
    $requestData = "{   
                        'OrderCode':'',
                        'ShipperCode':'$ShipperCode',
                        'LogisticCode':'$LogisticCode'
                    }";
    $postData = array(
        'EBusinessID' => $this->EBusinessID,
        'RequestType' => '1002',//接口指令1002
        'RequestData' => urlencode($requestData),
        'DataType' => '2',
    );
    $postData['DataSign'] = $this->encrypt($requestData, $this->AppKey);
    $result = $this->sendPost($this->ReqURL, $postData);
    //根据公司业务处理返回的信息......
    if ($arrayFlag){
        $result = json_decode($result,true);
        //TODO 方便物流信息的倒序展示,进行数组反转
        $result['Traces'] = array_reverse($result['Traces']);
    }
    return $result;
}

④. 效果展示截图

通过上面核心源码的展示,你应该会注意到
调用其方法,必须要传入 ==快递公司编码== 和 ==物流单号== 这两个参数
好在,官方提供了 快递公司编码, 所以,鄙人的设计思路如下:

  1. 根据官方提供的快递公司编码Excel表,取出其中的 "快递公司"和"编码"两列数据存储到本地数据表 ,如果使用的快递数量较集中,可以自己建表输入 ,如果是通用性的快递使用,建议直接对excel表转化为mysql(或其他数据表)存储

如果需要进行 excel表的导入操作,可直接参考对应文章: ThinkPHP5.1 excel表的导入导出操作 (PHPExcel)

  1. 在后台操作人员输入快递单号时 同时要求选择快递公司,获得 "编码" 从而保证,在数据表中,存储的快递单号唯一匹配到一个编码,继而方便后面进行快递信息查询时,可同时获得所需的两个参数。

源码上传 >>>

附录
为什么我选择使用快递鸟API

首先,我拥有一个,测试物流单号:640041334612 (中通快递),然后使用多个快递查询服务,效果如下:

通過比較发现:

  1. "快递100" 没有查到结果; "爱查快递" 得出的结果并不是真实的物流信息
  2. "快递网" 能查到快递信息,但是询问服务人员时知晓: 要么网站上添加对方链接(我的管理后台以及小程序、app是不能这样玩的);要么需要进行套餐定制,最低的大概一年1000 —— (前期网站是不需要那么大的 查询业务的,感觉浪费),而且,我不喜欢官网的设计风格(任性了)
  3. "快递鸟",最让我动心的是那个 "限3000次/天(即时查询)" 是免费的 , 对于业务量前期不大的网站足够使用,即便后期有需要,也可以直接进行套餐升级
目录
相关文章
|
13天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
42 2
|
17天前
|
API PHP 数据库
PHP中哪个框架最适合做API?
在数字化时代,API作为软件应用间通信的桥梁至关重要。本文探讨了PHP中适合API开发的主流框架,包括Laravel、Symfony、Lumen、Slim、Yii和Phalcon,分析了它们的特点和优势,帮助开发者选择合适的框架,提高开发效率、保证接口稳定性和安全性。
40 3
|
19天前
|
XML JSON API
【PHP开发专栏】PHP RESTful API设计与开发
随着互联网技术的发展,前后端分离成为Web开发的主流模式。本文介绍RESTful API的基本概念、设计原则及在PHP中的实现方法。RESTful API是一种轻量级、无状态的接口设计风格,通过HTTP方法(GET、POST、PUT、DELETE)操作资源,使用JSON或XML格式传输数据。在PHP中,通过定义路由、创建控制器、处理HTTP请求和响应等步骤实现RESTful API,并强调了安全性的重要性。
23 2
|
24天前
|
JavaScript PHP 数据安全/隐私保护
乞丐在线要饭系统PHP网站源码
在这个物欲横流、竞争激烈的时代,有时候我们真心觉得钱来得太不容易,甚至连最基本的生存都成了负担。于是,我们想出了一个特别“独特”的点子:用利息砸我,给我点施舍!
54 1
|
18天前
|
JSON API PHP
如何使用PHP开发API接口?
本文详细介绍了如何使用PHP开发API接口,涵盖从基础概念到实战步骤的全过程。首先解释了API接口的基本原理,包括HTTP协议、REST架构风格、JSON格式和OAuth认证机制。接着介绍了开发环境的设置,包括PHP安装、Web服务器配置、数据库设置等。文章还探讨了API开发的完整流程,从需求确定、框架选择、端点设计到代码编写、测试、安全性考量及性能优化。最后通过一个实战案例演示了如何创建一个简单的API端点,并讨论了部署与监控的方法。
27 0
|
2月前
|
存储 数据可视化 JavaScript
可视化集成API接口请求+变量绑定+源码输出
可视化集成API接口请求+变量绑定+源码输出
52 4
|
2月前
|
前端开发 JavaScript 小程序
前端uni开发后端用PHP的圈子系统该 如何做源码?
圈子系统系统基于TP6+Uni-app框架开发;客户移动端采用uni-app开发,管理后台TH6开发。系统支持微信公众号端、微信小程序端、H5端、PC端多端账号同步,可快速打包生成APP
|
2月前
|
前端开发 JavaScript PHP
Thinkphp在线客服系统源码多语言外贸版_PHP客服系统源码Uniapp开发搭建+论文设计
Thinkphp在线客服系统源码多语言外贸版_PHP客服系统源码Uniapp开发搭建+论文设计
|
3月前
|
PHP
PHP全自动采集在线高清壁纸网站源码
PHP全自动采集在线高清壁纸网站源码,PHP全自动采集在线高清壁纸网站源码,一款开源壁纸源码,无需安装。集合360壁纸,百度壁纸,必应壁纸,简单方便。每天自动采集,自动更新,非常不错,php源码 网站源码 免费源码 自动采集。
58 3
|
3月前
|
PHP 数据库
2024表白墙PHP网站源码
2024表白墙PHP网站源码
45 1
下一篇
无影云桌面