当前位置:Gxlcms > PHP教程 > php如何调用快递鸟接口的实例

php如何调用快递鸟接口的实例

时间:2021-07-01 10:21:17 帮助过:7人阅读

博主最近需要做一个物流信息查询,就去网上搜索一个快递鸟的API接口,返回值是以JSON格式,只需要返回是转成数组就能轻松实现各种实例了。下图是快递鸟API示意接口,博主怕有些小白(没有嘲笑的意思,博主也是从小白走过来的)不太清楚流程。

快递鸟流程图

由于是免费的,所以限制很多,比如每天最多只能查询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.0\r\n";
  $httpheader.= "Host:" . $url_info['host'] . "\r\n";
  $httpheader.= "Content-Type:application/x-www-form-urlencoded\r\n";
  $httpheader.= "Content-Length:" . strlen($post_data) . "\r\n";
  $httpheader.= "Connection:close\r\n\r\n";
  $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 == "\r\n" || $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百世快运
CCESCCES快递
CITY100城市100
COECOE东方快递
CSCY长沙创一
CDSTKY成都善途速运
DBL德邦
DSWLD速物流
DTWL大田物流
EMSEMS
FAST快捷速递
FEDEXFEDEX联邦(国内件)
FEDEX_GJFEDEX联邦(国际件)
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城际快递
CNPEXCNPEX中邮快递
HOTSCM鸿桥供应链
HPTEX海派通物流公司
AYCA澳邮专线
PANEX泛捷快递
PCAPCA Express
UEQUEQ Express

以上就是php如何调用快递鸟接口的实例的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行