http://api.ickd.cn/?id=[]&sign=[]&com=[]&nu=[]&format=[]×tamp=[]&encode=[]&ord=[]&lang=[]
注意:该快递查询API接口支持HTTPS访问
| 字段 | 是否必须 | 说明 |
|---|---|---|
| com | 必须 | 快递公司代码(英文),所支持快递公司见如下列表 |
| nu | 必须 | 快递单号,长度必须大于5位 |
| id | 必须 | 授权KEY,申请请点击快递查询API申请方式 |
| 在新版API中,id为一个纯数字型,此时必须配合secret计算出sign参数 | ||
| sign | 必须 | 根据计算方式为md5(secret+no+timestamp),结果为小写字符串,注意:java用户请将MD5结果再hex。
老用户可以使用申请时填写的邮箱和接收到的KEY值登录https://api.ickd.cn/users/查看对应secret值 |
| timestamp | 必须 | 当前时间戳,10位,php直接使用time()值 |
| format | 可选 | 返回结果类型,值分别为 html | json(默认) | text | xml |
| encode | 可选 | gbk(默认)| utf8 |
| ord | 可选 | asc(默认)|desc,返回结果排序 |
| lang | 可选 | en返回英文结果,目前仅支持部分快递(EMS、顺丰、DHL) |
{
"status": "3",
"message": "",
"errCode": "0",
"data": [{
"time": "2013-02-23 17:10",
"context": "辽宁省大连市中山区四部公司 的收件员 王光 已收件"
}, {
"time": "2013-02-24 17:59",
"context": "辽宁省大连市公司 已收入"
}, {
"time": "2013-02-24 18:11",
"context": "辽宁省大连市中山区四部公司 已收件"
}, {
"time": "2013-02-26 07:33",
"context": "吉林省长春市景阳公司 的派件员 张金达 派件中 派件员电话15948736487"
}, {
"time": "2013-02-26 16:47",
"context": "客户 同事收发家人 已签收 派件员 张金达"
}],
"html": "",
"mailNo": "7151900624",
"expTextName": "圆通快递",
"expSpellName": "yuantong",
"update": "1362656241",
"cache": "186488",
"ord": "ASC"
}
| 字段 | 类型 | 说明 |
|---|---|---|
| status | int | 查询结果状态,0|1|2|3|4,0表示查询失败,1正常,2派送中,3已签收,4退回,5其他问题 |
| errCode | int | 错误代码,0无错误,1单号不存在,2验证码错误,3链接查询服务器失败,4程序内部错误,5程序执行错误,6快递单号格式错误,7快递公司错误,10未知错误,20API错误,21API被禁用,22API查询量耗尽。 |
| message | string | 错误消息 |
| data | array | 进度 |
| html | string | 其他HTML,该字段不一定存在 |
| mailNo | string | 快递单号 |
| expSpellName | string | 快递公司英文代码 |
| expTextName | string | 快递公司中文名 |
| update | int | 最后更新时间(unix 时间戳) |
| cache | int | 缓存时间,当前时间与 update 之间的差值,单位为:秒 |
| ord | string | 排序,ASC | DESC |
PHP联合javascript
<?php $id='xxxxxxxxxxxxxxxxx';//到http://www.ickd.cn/api/reg.html申请 $url='http://api.ickd.cn/?com=shentong&nu=588035733628&id='.$id; $data=file_get_contents($url); //echo "var data='",$data,"'"; ?>
javscript代码
$(function(){
var dataObj=<?=$data?>;//转换为json对象
var html='<tr>';
html+='<th>物流状态:</th>';
html+='<td>';
if(dataObj.status>0){
html+='<table width="520px" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; border-spacing: 0pt;">';
html+='<tr>';
html+='<td width="163" style="background-color:#e6f9fa;border:1px solid #75c2ef;font-size:14px;font-weight:bold;height:20px;text-indent:15px;">';
html+='时间';
html+='</td>';
html+='<td width="354" style="background-color:#e6f9fa;border:1px solid #75c2ef;font-size:14px;font-weight:bold;height:20px;text-indent:15px;">';
html+='地点和跟踪进度';
html+='</td>';
html+='</tr>';
//输出data的子对象变量
$.each(dataObj.data,function(idx,item){
html+='<tr>';
html+='<td width="163" style="border:1px solid #dddddd;font-size: 12px;line-height:22px;padding:3px 5px;">';
html+=item.time;// 每条数据的时间
html+='</td>';
html+='<td width="354" style="border:1px solid #dddddd;font-size: 12px;line-height:22px;padding:3px 5px;">';
html+=item.context;// 每条数据的状态
html+='</td>';
html+='</tr>';
});
html+='</table>';
}else{
//查询不到
html+='<span style="color:#f00">Sorry! '+dataObj.message+'</span>';
}
html+='</td></tr>';
$("#shipping_detail").append(html);
});
若服务器禁用了file_get_contents和fsockopen等函数,可使用CURL类,示例如下:
$id='xxxxxxxxxxxxx';//API KEY
$com='shunfeng';//快递公司
$nu='123456';//快递单号
$type='json';
$encode='utf8';
$gateway=sprintf('http://api.ickd.cn/?id=%s&com=%s&nu=%s&encode=%s&type=%s',$id,$com,$nu,$encode,$type);
$ch=curl_init($gateway);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_HEADER,false);
$resp=curl_exec($ch);
$errmsg=curl_error($ch);
if($errmsg){
exit($errmsg);
}
curl_close($ch);
echo $resp;
<%
Response.Charset="gb2312"
Server.ScriptTimeout = 999999999
Dim Retrieval
Dim url,nu,com
com = Request("com")'公司
nu = Request("nu")'单号
Dim AppKey,SendURL,ResponseTxt
AppKey = "xxxxxxxxxx" '请将XXXXXX替换成您在http://www.ickd.cn/reg.html申请到的KEY
SendURL ="http://api.ickd.cn/?id="&AppKey&"&com="&com&"&nu="&nu&"&type=json&encode=GBK"'如果使用UTF8,请确保encode=utf8
'Response.Write SendURL
'发送数据
ResponseTxt=fopen(SendURL) '//获取源代码的函数
'调用发送数据组件
Function fopen(URL)
Dim objXML
'Set objXML=CreateObject("MSXML2.SERVERXMLHTTP.3.0") '调用XMLHTTP组件,若服务器不支持,请换用以下两个中的一个再试
Set objXML=Server.CreateObject("Microsoft.XMLHTTP")
'Set objXML=Server.CreateObject("MSXML2.XMLHTTP.4.0")
'objXML.SetTimeouts 5000, 5000, 30000, 10000'
解析DNS名字的超时时间,建立Winsock连接的超时时间,发送数据的超时时间,接收response的超时时间。单位毫秒
objXML.Open "GET",URL,False '以同步方式获取API查询数据
objXML.Send() '发送
If objXML.Readystate<>4 Then '状态不为4,错误
Response.Write "{status:0,errCode:100,message:'获取数据出错'}"
Exit Function
End If
'Readystate属性,传回XML文件资料的目前状况,返回值分别有以下:
'0-UNINITIALIZED:XML 对象被产生,但没有任何文件被加载。
'1-LOADING:加载程序进行中,但文件尚未开始解析。
'2-LOADED:部分的文件已经加载且进行解析,但对象模型尚未生效。
'3-INTERACTIVE:仅对已加载的部分文件有效,在此情况下,对象模型是有效但只读的。
'4-COMPLETED:文件已完全加载,代表加载成功。
fopen=objXML.ResponseBody
fopen=BytesToBstr(objXML.ResponseBody)'返回信息,同时用函数定义编码,如果您需要转码请选择
Set objXML=Nothing'关闭
If Err.number<>0 Then
Response.Write "{status:0,errCode:100,message:'获取数据出错'}"
Err.Clear
End If
End Function
'页面编码转换
Function BytesToBstr(body)
Dim objstream
Set objstream = Server.CreateObject("Adodb.Stream") '//调用adodb.stream组件
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = "GBK" '转换原来默认的编码转换成GB2312编码,否则直接用XMLHTTP调用有中文字符的网页得到的将是乱码
BytesToBstr = objstream.ReadText
objstream.Close
Set objstream = Nothing
End Function
'输入查询结果
Response.Write ResponseTxt
%>
| 快递公司 | 代码 |
| EMS快递 | ems |
| 申通快递 | shentong |
| 圆通快递 | yuantong |
| 中通快递 | zhongtong |
| 汇通快递 | huitong |
| 天天快递 | tiantian |
| 韵达快递 | yunda |
| 顺丰快递 | shunfeng |
| 宅急送快递 | zhaijisong |
| CCES快递 | cces |
| 中国邮政平邮 | pingyou |
| 星晨急便 | xingchen |
| 速尔快递 | sure |
| 快捷快递 | kuaijie |
| 中铁快运 | zhongtie |
| AAE快递 | aae |
| 安捷快递 | anjie |
| 安信达快递 | anxinda |
| 程光快递 | chengguang |
| 大田物流 | datian |
| 德邦物流 | debang |
| DHL快递 | dhl |
| DPEX快递 | dpex |
| D速快递 | dsu |
| 国际Fedex | fedex |
| Fedex国内 | fedexcn |
| 原飞航物流 | feihang |
| 丰达快递 | fengda |
| 飞康达快递 | fkd |
| 飞快达快递 | fkdex |
| 天地华宇物流 | huayu |
| 佳吉快运 | jiaji |
| 佳怡物流 | jiayi |
| 加运美快递 | jiayunmei |
| 晋越快递 | jinyue |
| 联昊通物流|快递 | lianhaotong |
| 龙邦快递 | longbang |
| 民航快递 | minhang |
| 港中能达 | nengda |
| OCS快递 | ocs |
| 全晨快递 | quanchen |
| 全峰快递 | quanfeng |
| 全日通快递 | quanritong |
| 全一快递 | quanyi |
| 如风达快递 | rufeng |
| 盛丰物流 | shengfeng |
| 盛辉物流 | shenghui |
| TNT快递 | tnt |
| UPS | ups |
| 万家物流 | wanjia |
| 新邦物流 | xinbang |
| 鑫飞鸿速递 | xinfeihong |
| 信丰快递 | xinfeng |
| 亚风快递 | yafeng |
| 一邦快递 | yibang |
| 优速快递 | yousu |
| 远成物流 | yuancheng |
| 元智捷诚 | yuanzhi |
| 越丰快递 | yuefeng |
| 运通中港快递 | yuntong |
| 源伟丰 | ywfex |
| 中邮物流 | zhongyou |