Asp.Net实现快递查询接口(aikuaidi)

翅膀的初衷

发表于2014-04-14 23:08:13

快递查询,我们可以使用客快递的官方接口,也可以直接使用第三方开发接口,本文以通过爱快递第三方接口来查询快递信息,它支持 国内90多家快递物流订单查询服务,包括申通快递、顺丰快递、圆通快递、EMS快递、汇通快递、宅急送快递等等 

 

接口地址:ttp://www.kuaidiapi.cn/rest/

名称 类型 必须 描述
uid 用户编号、用户注册生成的用户标识
key 签名参数、可以直接使用“授权密钥”或者加密签名传输(参数issign决定),加密规则 uid={0}&key={1}&id={2}&order={3}&time={4} 以utf-8的编码方式进行MD5加密,点击此处申请 http://www.kuaidiapi.cn/register/
order 快递单号、注意区分大小写
id 快递代号、见下文
time 查询时间、取当前时间,格式yyyy-MM-dd HH:mm:ss
issign 签名加密、值分为(true,false),默认false
ord 排序规则、值分为(asc、desc ),asc:按时间旧到新,desc反之,默认值:asc
show 返回格式、值分为( json、xml、html )3种类型
last 最后一条、值有true、false 2 种,true只返回最后条记录

快递单号接口

快递API返回参数

{"id": "dtwl","name": "大田物流", "order": "6108241734","message": "","errcode": 0,"status": 3,"data": [{"time": "2012-03-21 11:41:06","content": "长沙站 XXX"},{"time": "2012-03-21 09:16:27", "content": "到达XXX"}]}

名称 类型 描述
id 快递代号 见下文
name 快递名称
order 快递单号、注意区分大小写
message 提示信息、如果查询失败,此处返回失败原因,查询成功则该值为空
errcode 错误代号 见下文
status 单号状态 见下文
data 跟踪数据、包含(time、content)
time 记录时间、每条跟踪信息的时间
content 具体内容、每条跟踪信息的描述,如到达某某地区等等

快递接口

快递API错误代号

编码 描述
0000 接口调用正常,无任何错误
0001 传输参数格式有误
0002 用户编号(uid)无效
0003 用户被禁用
0004 key无效
0005 快递代号(id)无效
0006 访问次数达到最大额度
0007 查询服务器返回错误

快递接口大全

快递API单号状态

编码 描述
-1 待查询、在批量查询中才会出现的状态,指提交后还没有进行任何更新的单号
0 查询异常
1 暂无记录、单号没有任何跟踪记录
2 在途中
3 派送中
4 已签收
5 拒收、用户拒签
6 疑难件、以为某些原因无法进行派送
7 无效单
8 超时单
9 签收失败

ID对照表:

编码 名称
aae AAE快递
axd 安信达快递
aj 安捷快递
xindan 新蛋物流
bfdf 百福东方
bgpyghx 包裹、平邮、挂号信
cxwl 传喜物流
chengguang 程光快递
coe 东方快递
ctwl 长通物流
cszx 城市之星物流
cs 城市100快递
chuanzhi 传志快递
debang 德邦物流
dhl DHL快递
dpex DPEX快递
dsf 递四方速递
dtwl 大田物流
dywl 大洋物流
ds D速快递
ems EMS快递
fedex FEDEX国际快递
fedexcn FEDEX国内快递
fkd 飞康达快递
fbwl 飞邦物流
feibao 飞豹快递
feihu 飞狐快递
gsdwl 共速达物流
guotong 国通快递
gznd 港中能达
tdhy 天地华宇
huitong 汇通快递
tiantian 天天快递
henglu 恒路物流
huiqiang 汇强快递
hxlwl 华夏龙物流
hswl 昊盛物流
jldt 嘉里大通物流
jywl 佳怡物流
jiaji 佳吉快运
jiayunmei 加运美快递
jingguang 京广快递
jinyue 晋越快递
kuaijie 快捷快递
klwl 康力物流
longbang 龙邦快递
lianhaotong 联昊通快递
lejiedi 乐捷递快递
lijisong 立即送
minbang 民邦快递
minhang 民航快递
meiguo 美国快递
ocs OCS快递
pinganda 平安达快递
quanfeng 全峰快递
quanyi 全一快递
quanchen 全晨快递
quanritong 全日通快递
rufengda 如风达快递
shentong 申通快递
shunfeng 顺丰快递
suer 速尔快递
haihong 山东海红快递
santai 三态速递
shenghui 盛辉物流
shengfeng 盛丰物流
shengan 圣安物流
saiaodi 赛澳递
tnt TNT快递
thtx 通和天下物流
tcwl 通成物流
ups UPS国际快递
yousu 优速快递
weibang 伟邦快递
weitepai 微特派快递
wxwl 万象物流
xfwl 信丰物流
xinbang 新邦物流
yuantong 圆通快递
yunda 韵达快递
yibang 一邦快递
yuntong 运通快递
yzjc 元智捷诚快递
yuanfeihang 原飞航快递
yafeng 亚风快递
ycwl 远成物流
yuefeng 越丰快递
zhongtong 中通快递
zjs 宅急送快递
zhongtie QA中铁快运
zhongyou 中邮物流
zmkm 芝麻开门
zzjh 郑州建华快递
ztwy 中天万运快递
jingdong 京东快递

Asp.Net代码,我们可以使用​H​t​t​p​W​e​b​R​e​q​u​e​s​t模拟请求

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.ContentType
= "application/x-www-form-urlencoded";
req.Method
= "GET";
req.UserAgent
= "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Q312461; .NET CLR 1.0.3705)";
HttpWebResponse response
= (HttpWebResponse)req.GetResponse();
StreamReader sr
= new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));
string outdata = sr.ReadToEnd();
sr.Close();