微信公众平台消息接口开发(7)快递查询

来源:互联网 发布:淘宝降权了2天后恢复了 编辑:程序博客网 时间:2024/04/25 05:19

一、请求数据

快递100提供快递查询接口. 

通过向指定的地址发送请求,即可返回如JSON、XML等格式的跟综结果

1、应用场景
(1)电商网站用户打开“我的订单”时调用此API显示结果
(2)物流系统对帐前调用此API查一次所有运单的签收状态
2、是否需要授权
是,
3、请求地址
http://api.kuaidi100.com/api?id=[]&com=[]&nu=[]&valicode=[]&show=[0|1|2|3]&muti=[0|1]&order=[desc|asc]
(使用时请先将上述地址中的 中括号 替换成下面相应的值)

4.输入参数

名称类型是否必需描述idString是身份授权key,请 快递查询接口 进行申请(大小写敏感)comString是要查询的快递公司代码,不支持中文,对应的公司代码见 
《API URL 所支持的快递公司及参数说明》和《支持的国际类快递及参数说明》。 
如果找不到您所需的公司,请发邮件至 kuaidi@kingdee.com 咨询(大小写不敏感)nuString是要查询的快递单号,请勿带特殊符号,不支持中文(大小写不敏感)valicodeString是已弃用字段,无意义,请忽略。showString是返回类型: 
0:返回json字符串, 
1:返回xml对象, 
2:返回html对象, 
3:返回text文本。 
如果不填,默认返回json字符串。mutiString是返回信息数量: 
1:返回多行完整的信息, 
0:只返回一行信息。 
不填默认返回多行。orderString是排序: 
desc:按时间由新到旧排列, 
asc:按时间由旧到新排列。 
不填默认返回倒序(大小写不敏感)

5.返回结果

字段名称字段含义com物流公司编号nu物流单号time每条跟踪信息的时间context每条跟综信息的描述state快递单当前的状态 :  
0:在途,即货物处于运输过程中;
1:揽件,货物已由快递公司揽收并且产生了第一条跟踪信息;
2:疑难,货物寄送过程出了问题;
3:签收,收件人已签收;
4:退签,即货物由于用户拒签、超区等原因退回,而且发件人已经签收;
5:派件,即快递正在进行同城派件;
6:退回,货物正处于退回发件人的途中;
该状态还在不断完善中,若您有更多的参数需求,欢迎发邮件至 kuaidi@kingdee.com 提出。status查询结果状态: 
0:物流单暂无结果, 
1:查询成功, 
2:接口出现异常,message无意义,请忽略condition无意义,请忽略ischeck无意义,请忽略

6.返回示例

XML格式
<xml><message>ok</message><nu>1200722815552</nu><ischeck>1</ischeck><com>yunda</com><status>1</status><condition>F00</condition><data><time>2013-03-03 19:24:48</time><context>江苏泗阳县公司:进行揽件扫描</context></data><data><time>2013-03-03 19:25:10</time><context>江苏泗阳县公司:进行发出扫描,将发往:江苏淮安中转站</context></data><data><time>2013-03-03 21:44:47</time><context>江苏淮安中转站:快件进入分拨中心进行分拨</context></data><data><time>2013-03-04 03:22:44</time><context>江苏南京中转站:从站点发出,本次转运目的地:江苏南京栖霞区仙林公司</context></data><data><time>2013-03-04 08:25:03</time><context>江苏南京栖霞区仙林公司:到达目的地网点,快件将很快进行派送</context></data><data><time>2013-03-04 13:09:58</time><context>江苏南京栖霞区仙林公司:进行派件扫描;派送业务员:孙;(</context></data><data><time>2013-03-04 13:19:47</time><context>江苏南京栖霞区仙林公司:快件已被 图片 签收</context></data><state>3</state></xml>

JSON格式
{"message":"ok","status":"1","state":"3","data":[{"time":"2012-07-07 13:35:14","context":"客户已签收"}, {"time":"2012-07-07 09:10:10","context":"离开 [北京石景山营业厅] 派送中,递送员[温],电话[]"}, {"time":"2012-07-06 19:46:38","context":"到达 [北京石景山营业厅]"}, {"time":"2012-07-06 15:22:32","context":"离开 [北京石景山营业厅] 派送中,递送员[温],电话[]"}, {"time":"2012-07-06 15:05:00","context":"到达 [北京石景山营业厅]"}, {"time":"2012-07-06 13:37:52","context":"离开 [北京_同城中转站] 发往 [北京石景山营业厅]"}, {"time":"2012-07-06 12:54:41","context":"到达 [北京_同城中转站]"}, {"time":"2012-07-06 11:11:03","context":"离开 [北京运转中心驻站班组] 发往 [北京_同城中转站]"}, {"time":"2012-07-06 10:43:21","context":"到达 [北京运转中心驻站班组]"}, {"time":"2012-07-05 21:18:53","context":"离开 [福建_厦门支公司] 发往 [北京运转中心_航空]"}, {"time":"2012-07-05 20:07:27","context":"已取件,到达 [福建_厦门支公司]"}]} 

 

同时快递100提供Wap版查询接口为 
http://wap.kuaidi100.com/


其URL请求为

http://wap.kuaidi100.com/wap_result.jsp?rand=35447&id=shentong&fromWeb=null&postid=568629598688&sub=%E6%9F%A5%E8%AF%A

 各参数如下:

rand 随机数id 快递公司名称,此处shentong就是申通fronweb 是否从web提交postid 快递号码,此处为 568629598688sub 一个固定字段, %E6%9F%A5%E8%AF%A2解码后为 查询 两个汉字

因此我们以上面为标准,构造查询请求.

 

二、程序实现

请参考

复制代码
<?php$typeCom = $_GET["com"];//快递公司$typeNu = $_GET["nu"];  //快递单号//echo $typeCom.'<br/>' ;//echo $typeNu ;$AppKey='XXXXXX';//请将XXXXXX替换成您在http://kuaidi100.com/app/reg.html申请到的KEY$url ='http://api.kuaidi100.com/api?id='.$AppKey.'&com='.$typeCom.'&nu='.$typeNu.'&show=2&muti=1&order=asc';//请勿删除变量$powered 的信息,否者本站将不再为你提供快递接口服务。$powered = '查询数据由:<a href="http://kuaidi100.com" target="_blank">KuaiDi100.Com (快递100)</a> 网站提供 ';$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_USERAGENT,$_SERVER['HTTP_USER_AGENT']);curl_setopt ($curl, CURLOPT_TIMEOUT,5);$get_content = curl_exec($curl);curl_close ($curl);print_r($get_content . '<br/>' . $powered);exit();?>
复制代码

 

二、效果演示 

原创粉丝点击