一、请求数据
快递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.输入参数
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id | String | 是 | 身份授权key,请 快递查询接口 进行申请(大小写敏感) |
com | String | 是 | 要查询的快递公司代码,不支持中文,对应的公司代码见 《API URL 所支持的快递公司及参数说明》和《支持的国际类快递及参数说明》。 如果找不到您所需的公司,请发邮件至 kuaidi@kingdee.com 咨询(大小写不敏感) |
nu | String | 是 | 要查询的快递单号,请勿带特殊符号,不支持中文(大小写不敏感) |
valicode | String | 是 | 已弃用字段,无意义,请忽略。 |
show | String | 是 | 返回类型: 0:返回json字符串, 1:返回xml对象, 2:返回html对象, 3:返回text文本。 如果不填,默认返回json字符串。 |
muti | String | 是 | 返回信息数量: 1:返回多行完整的信息, 0:只返回一行信息。 不填默认返回多行。 |
order | String | 是 | 排序: 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格式
JSON格式
<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 快递号码,此处为 568629598688
sub 一个固定字段, %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(); ?>
二、效果演示