博主最近需要做一个物流信息查询,就去网上搜索一个快递鸟的api接口,返回值是以json格式,只需要返回是转成数组就能轻松实现各种实例了。下图是快递鸟api示意接口,博主怕有些小白(没有嘲笑的意思,博主也是从小白走过来的)不太清楚流程。
快递鸟流程图
参数可以看下快递鸟的官方说明:http://www.kdniao.com/api-track
由于是免费的,所以限制很多,比如每天最多只能查询3000次和需要实名认证。
博主这里贴出博主的代码:
<?php
//电商id
defined('ebusinessid') or define('ebusinessid', '电商id');
//电商加密私钥,快递鸟提供,注意保管,不要泄漏
defined('appkey') or define('appkey', '电商加密私钥');
//请求url
defined('requrl') or define('requrl', 'http://api.kdniao.cc/ebusiness/ebusinessorderhandle.aspx');
//调用查询物流轨迹
//---------------------------------------------
$kgs = "sto";//快递公司简称,官方有文档
$number = "3335800028275";//快递单号//
$logisticresult = getordertracesbyjson($kgs,$number);
$data = json_decode($logisticresult,true);
if($data['success'] == true){//返回信息成功
$str = "";
for($i=0;$i<count($data['traces']);$i++){
$str .= "时间:".$data['traces'][$i]['accepttime']."<br/>地址:".$data['traces'][$i]['acceptstation']."<br/>";
}
echo "您查询的单号是:".$data['logisticcode']."<br/>
物流信息:<br/>".$str."";
}
//---------------------------------------------
/**
* json方式 查询订单物流轨迹
*$kgs string 快递公司
*$number string 快递单号
*/
function getordertracesbyjson($kgs,$number){
$requestdata= "{'ordercode':'','shippercode':'$kgs','logisticcode':'$number'}";
$datas = array(
'ebusinessid' => ebusinessid,
'requesttype' => '1002',
'requestdata' => urlencode($requestdata) ,
'datatype' => '2',
);
$datas['datasign'] = encrypt($requestdata, appkey);
$result=sendpost(requrl, $datas);
//根据公司业务处理返回的信息......
return $result;
}
/**
* post提交数据
* @param string $url 请求url
* @param array $datas 提交的数据
* @return url响应返回的html
*/
function sendpost($url, $datas) {
$temps = array();
foreach ($datas as $key => $value) {
$temps[] = sprintf('%s=%s', $key, $value);
}
$post_data = implode('&', $temps);
$url_info = parse_url($url);
if(empty($url_info['port']))
{
$url_info['port']=80;
}
$httpheader = "post " . $url_info['path'] . " http/1.0rn";
$httpheader.= "host:" . $url_info['host'] . "rn";
$httpheader.= "content-type:application/x-www-form-urlencodedrn";
$httpheader.= "content-length:" . strlen($post_data) . "rn";
$httpheader.= "connection:closernrn";
$httpheader.= $post_data;
$fd = fsockopen($url_info['host'], $url_info['port']);
fwrite($fd, $httpheader);
$gets = "";
$headerflag = true;
while (!feof($fd)) {
if (($header = @fgets($fd)) && ($header == "rn" || $header == "n")) {
break;
}
}
while (!feof($fd)) {
$gets.= fread($fd, 128);
}
fclose($fd);
return $gets;
}
/**
* 电商sign签名生成
* @param data 内容
* @param appkey appkey
* @return datasign签名
*/
function encrypt($data, $appkey) {
return urlencode(base64_encode(md5($data.$appkey)));
}
?>
效果图:
php调用快递鸟接口示意图
快递公司编码:
| 编码 | 名称 |
| aj | 安捷快递 |
| ane | 安能物流 |
| axd | 安信达快递 |
| bqxhm | 北青小红帽 |
| bfdf | 百福东方 |
| btwl | 百世快运 |
| cces | cces快递 |
| city100 | 城市100 |
| coe | coe东方快递 |
| cscy | 长沙创一 |
| cdstky | 成都善途速运 |
| dbl | 德邦 |
| dswl | d速物流 |
| dtwl | 大田物流 |
| ems | ems |
| fast | 快捷速递 |
| fedex | fedex联邦(国内件) |
| fedex_gj | fedex联邦(国际件) |
| fkd | 飞康达 |
| gdems | 广东邮政 |
| gsd | 共速达 |
| gto | 国通快递 |
| gtsd | 高铁速递 |
| hfwl | 汇丰物流 |
| hhtt | 天天快递 |
| hlwl | 恒路物流 |
| hoau | 天地华宇 |
| hq568 | 华强物流 |
| htky | 百世快递 |
| hxlwl | 华夏龙物流 |
| hylsd | 好来运快递 |
| jgsd | 京广速递 |
| jiuye | 九曳供应链 |
| jjky | 佳吉快运 |
| jldt | 嘉里物流 |
| jtkd | 捷特快递 |
| jxd | 急先达 |
| jykd | 晋越快递 |
| jym | 加运美 |
| jywl | 佳怡物流 |
| kywl | 跨越物流 |
| lb | 龙邦快递 |
| lht | 联昊通速递 |
| mhkd | 民航快递 |
| mlwl | 明亮物流 |
| neda | 能达速递 |
| padtf | 平安达腾飞快递 |
| qckd | 全晨快递 |
| qfkd | 全峰快递 |
| qrt | 全日通快递 |
| rfd | 如风达 |
| sad | 赛澳递 |
| sawl | 圣安物流 |
| sbwl | 盛邦物流 |
| sdwl | 上大物流 |
| sf | 顺丰快递 |
| sfwl | 盛丰物流 |
| shwl | 盛辉物流 |
| st | 速通物流 |
| sto | 申通快递 |
| stwl | 速腾快递 |
| sure | 速尔快递 |
| tssto | 唐山申通 |
| uapex | 全一快递 |
| uc | 优速快递 |
| wjwl | 万家物流 |
| wxwl | 万象物流 |
| xbwl | 新邦物流 |
| xfex | 信丰快递 |
| xyt | 希优特 |
| xj | 新杰物流 |
| yadex | 源安达快递 |
| ycwl | 远成物流 |
| yd | 韵达快递 |
| ydh | 义达国际物流 |
| yfex | 越丰物流 |
| yfhex | 原飞航物流 |
| yfsd | 亚风快递 |
| ytkd | 运通快递 |
| yto | 圆通速递 |
| yxkd | 亿翔快递 |
| yzpy | 邮政平邮/小包 |
| zeny | 增益快递 |
| zhqkd | 汇强快递 |
| zjs | 宅急送 |
| zte | 众通快递 |
| ztky | 中铁快运 |
| zto | 中通速递 |
| ztwl | 中铁物流 |
| zywl | 中邮物流 |
| amazon | 亚马逊物流 |
| subida | 速必达物流 |
| rfex | 瑞丰速递 |
| quick | 快客快递 |
| cjkd | 城际快递 |
| cnpex | cnpex中邮快递 |
| hotscm | 鸿桥供应链 |
| hptex | 海派通物流公司 |
| ayca | 澳邮专线 |
| panex | 泛捷快递 |
| pca | pca express |
| ueq | ueq express |
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!