Home >Backend Development >PHP Tutorial >PHP calls the Express Bird interface

PHP calls the Express Bird interface

墨辰丷
墨辰丷Original
2018-05-17 14:55:062248browse

This article mainly introduces the example code of php calling the Express Bird interface. Friends who need it can refer to it


The code is as follows:


<?php
//电商ID
defined(&#39;EBusinessID&#39;) or define(&#39;EBusinessID&#39;, &#39;电商ID&#39;);
//电商加密私钥,快递鸟提供,注意保管,不要泄漏
defined(&#39;AppKey&#39;) or define(&#39;AppKey&#39;, &#39;电商加密私钥&#39;);
//请求url
defined(&#39;ReqURL&#39;) or define(&#39;ReqURL&#39;, &#39;http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx&#39;);
//调用查询物流轨迹
//---------------------------------------------
$kgs = "STO";//快递公司简称,官方有文档
$number = "3335800028275";//快递单号//
$logisticResult = getOrderTracesByJson($kgs,$number);
$data = json_decode($logisticResult,true);
if($data[&#39;Success&#39;] == true){//返回信息成功
$str = "";
for($i=0;$i<count($data[&#39;Traces&#39;]);$i++){
$str .= "时间:".$data[&#39;Traces&#39;][$i][&#39;AcceptTime&#39;]."<br/>地址:".$data[&#39;Traces&#39;][$i][&#39;AcceptStation&#39;]."<br/>";
}
echo "您查询的单号是:".$data[&#39;LogisticCode&#39;]."<br/>
物流信息:<br/>".$str."";
}
//---------------------------------------------
/**
 * Json方式 查询订单物流轨迹
 *$kgs string 快递公司
 *$number string 快递单号
 */
function getOrderTracesByJson($kgs,$number){
$requestData= "{&#39;OrderCode&#39;:&#39;&#39;,&#39;ShipperCode&#39;:&#39;$kgs&#39;,&#39;LogisticCode&#39;:&#39;$number&#39;}";
$datas = array(
    &#39;EBusinessID&#39; => EBusinessID,
    &#39;RequestType&#39; => &#39;1002&#39;,
    &#39;RequestData&#39; => urlencode($requestData) ,
    &#39;DataType&#39; => &#39;2&#39;,
  );
  $datas[&#39;DataSign&#39;] = 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(&#39;%s=%s&#39;, $key, $value);
  }
  $post_data = implode(&#39;&&#39;, $temps);
  $url_info = parse_url($url);
if(empty($url_info[&#39;port&#39;]))
{
$url_info[&#39;port&#39;]=80;
}
  $httpheader = "POST " . $url_info[&#39;path&#39;] . " HTTP/1.0\r\n";
  $httpheader.= "Host:" . $url_info[&#39;host&#39;] . "\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[&#39;host&#39;], $url_info[&#39;port&#39;]);
  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 calls the express bird interface diagram

Express company code:


##CodingNameAJAnjie ExpressANEAnneng LogisticsAXD安Xinda ExpressBQXHM北青小红熟BFDF百福东BTWL百世expressCCESCCES ExpressCITY100City 100COECOE Oriental ExpressCSCYChangsha ChuangyiCDSTKYChengdu Shantu ExpressDBLDebonDSWLD Speed LogisticsDTWLDaejeon LogisticsEMSEMSFASTFast ExpressFEDEXFEDEX Federal (Domestic) FEDEX_GJFEDEX Federal(International)FKD飞康达GDEMSGuangdong PostGSDGongsuda##GTOGTSDHFWLHHTTHLWLHOAUhq568HTKYHXLWLHYLSDJGSDJIUYEJJKYJLDTJTKDJXDJYKDJYMJYWL KYWLLBLHTMHKDMLWLNEDAPADTFQCKDQFKDQRTRFDSADSAWLSBWLSDWLSFSFWLSHWLSTSTOSTWLSURETSSTOUAPEXUCWJWLWXWLXBWLXFEXXYTXJYADEXYCWLYD##YDHYida International LogisticsYFEXYuefeng LogisticsYFHEXYuanfeihang LogisticsYFSDYafeng ExpressYTKDExpress ExpressYTO YTO ExpressYXKDYixiang ExpressYZPYPost Surface mail/small packageZENY Gain ExpressZHQKDHuiqiang ExpressZJSHome deliveryZTEZhongtong Express ZTKYChina Railway ExpressZTO中通ExpressZTWL China Railway LogisticsZYWLChina Post LogisticsAMAZONAmazon LogisticsSUBIDASUBIDA LogisticsRFEXRuifeng ExpressQUICKQuick ExpressCJKDIntercity ExpressCNPEXCNPEXChina Post ExpressHOTSCMHongqiao Supply ChainHPTEX海平Tong Logistics CompanyAYCAAustralia Post LinePANEX Panjie ExpressPCAPCA ExpressUEQUEQ Express

Related recommendations:

PHP implements the Aicha Express interface_PHP tutorial

PHP implements the Aicha Express interface

PHP implements Aicha Express interface

国通Express
High Speed ​​Rail Express
HSBC Logistics
天天express
Henglu Logistics
天地华宇
Huaqiang Logistics
百世express
Hua Xia Long Logistics
Haolaiyun Express
Beijing-Guangzhou Express
Jiuye Supply Chain
Jiaji Express
Kerry Logistics
Jiete Express
Jixianda
Jinyue Express
加云美
Jiayi Logistics
across logistics
龙 BangExpress
Lianhaotong Express
Civil Aviation Express
Bright Logistics
Nengda Express
平安达腾飞express
Quanchen Express
Quanfeng Express
全日通express
如风达
Saiao Delivery
圣安Logistics
深圳Logistics
上大logistics
SF Express
SHENGFENG LOGISTICS
SHENGHUI LOGISTICS
苏通Logistics
STO Express
Sagitar Express
Suer Express
Tangshan Shentong
Quanyi Express
Usu Express
万Home Logistics
万搏彩票
Xinbang Logistics
Xinfeng Express
西特
Xinjie Logistics
元Anda Express
元成Logistics
Yunda Express

The above is the detailed content of PHP calls the Express Bird interface. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn