特快专递API接口对接分析
1.快递查询API接口
对于现在的网上购物,“我买的东西发到哪了?”这是每个买家越来越关心的问题,“我商城的物流信息跟踪服务客户的体验效果还满意吗?”这是每个卖家越来越操心的问题,因为在现代社会中,人们不仅仅在乎商品本身的价值,而且在乎甚至更在乎服务的价值体现!
而目前快递查询API的模式有两种,一种是即时查询,也就是说发出请求就会返回数据;另一种是订阅查询, 当所订阅的快递单号有物流信息的跟新时就会返回数据,不需要发出请求。目前在国内快递查询API接口做得好的有快递网、快递100等。
快递网的接口有两种接入模式,一种是免费版(需添加友链),无限制支持所有快递的查询,每天免费500次;另一种是企业版,无任何限制支持三百多家快递及物流公司的查询。特点:响应速度快!稳定性强!价格便宜(0.03-0.05元每单)!
快递100的接口同样分两种接入模式,一种是免费版(需添加友链),有几家常用的快递公司如四通一达是不支持查询的,每天免费2000次;另一种是收费版,无限制支持三百多家快递公司的查询。特点:响应快!稳定性强!价格较贵(0.08-0.1元每单)!
2.对接示例
下面介绍一个快递网的免费试用版API接口的及时查询的接入示例,不同的地方在于不用再去申请KEY,文档中有可以用的KEY和ID,用户集成后输入快递单号和快递公司代码即可实现查询功能。接口的接收方式为get,数据返回的格式有JSON和XML。
3.接口参数的定义:
4.返回结果定义:
5.对接接入示例:
先集成KuaidiAPI.php和example.php源码。根据使用说明就可实现查询。
说明文档:
1.KuadidiAPI.php 不需要修改改任何东西
2.example.php 按照说明使用
3.快递公司代码见快递公司代码技术文档
4.如果有什么不清楚的地方,请到快递网的官网咨询(http://www.kuaidi.com/),或者拨打快递网咨询电话:18205167920 或加qq:2885643506 发邮件至guoxiangyuan@kuaidi.com
1.KuaidiAPI.php
<?php /** * Created by http://www.kuaidi.com * User: kuaidi.com PHP team * Date: 2016-03-02 * 物流信息查询接口SDK * QQ: 2885643506 * Version 1.0 */ class KuaidiAPI{ private $_APPKEY = ''; private $_APIURL = "http://highapi.kuaidi.com/openapi-querycountordernumber.html?"; private $_show = 0; private $_muti = 0; private $_order = 'desc'; /** * 您获得的快递网接口查询KEY。 * @param string $key */ public function KuaidiAPi($key){ $this->_APPKEY = $key; } /** * 设置数据返回类型。0: 返回 json 字符串; 1:返回 xml 对象 * @param number $show */ public function setShow($show = 0){ $this->_show = $show; } /** * 设置返回物流信息条目数, 0:返回多行完整的信息; 1:只返回一行信息 * @param number $muti */ public function setMuti($muti = 0){ $this->_muti = $muti; } /** * 设置返回物流信息排序。desc:按时间由新到旧排列; asc:按时间由旧到新排列 * @param string $order */ public function setOrder($order = 'desc'){ $this->_order = $order; } /** * 查询物流信息,传入单号, * @param 物流单号 $nu * @param 公司简码 $com 要查询的快递公司代码,不支持中文,具体请参考快递公司代码文档。 * @throws Exception * @return array */ public function query($nu, $com=''){ if (function_exists('curl_init') == 1) { $url = $this->_APIURL; $dataArr = array( 'id' => $this->_APPKEY, 'com' => $com, 'nu' => $nu, 'show' => $this->_show, 'muti' => $this->_muti, 'order' => $this->_order ); foreach ($dataArr as $key => $value) { $url .= $key . '=' . $value . "&"; } // echo $url; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_TIMEOUT, 10); $kuaidresult = curl_exec($curl); curl_close($curl); if($this->_show == 0){ $result = json_decode($kuaidresult, true); }else{ $result = $kuaidresult; } return $result; }else{ throw new Exception("Please install curl plugin", 1); } } }
2.example.php
<?php include 'KuaidiAPI.php'; //修改成你自己的KEY $key = 'c684ab43a28bc3caea53570666ce9762'; $kuaidichaxun = new KuaidiAPi($key); //设置返回格式。 0: 返回 json 字符串; 1:返回 xml 对象 //$kuaidichaxun->setShow(1); //可选,默认为 0 返回json格式 //返回物流信息条目数。 0:返回多行完整的信息; 1:只返回一行信息 //$kuaidichaxun->setMuti(1); //可选,默认为0 //设置返回物流信息排序。desc:按时间由新到旧排列; asc:按时间由旧到新排列 //$kuaidichaxun->setOrder('asc'); //查询 $result = $kuaidichaxun->query('111111', 'quanfengkuaidi'); //带公司短码查询,短码列表见文档 //$result = $kuaidichaxun->query('111111', 'quanfengkuaidi'); //111111 快递单号 //quanfengkuaidi 快递公司名称 var_dump($result);
快递公司代码技术文档下载地址:https://pan.baidu.com/s/1miGqMFY