Home > Backend Development > PHP Tutorial > Example of how PHP calls the Express Bird interface

Example of how PHP calls the Express Bird interface

黄舟
Release: 2023-03-16 20:10:01
Original
3323 people have browsed it

The blogger recently needed to make a logistics informationquery, so he went to the InternetSearchfor a courier bird APIinterface, the return value is in JSON format, only If you need to return it and convert it into an array, you can easily implement various instances. The picture below shows the schematic interface of the Express Bird API. The blogger is afraid that some novices (I don’t mean to ridicule, the blogger also came from a novice) don’t know the process very well.

Express Bird flow chart

Because it is free, there are many restrictions, such as a maximum of 3,000 queries per day and real-name authentication.

The blogger posted the blogger’s code here:

<?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)));
}
?>
Copy after login

Rendering:

Schematic diagram of php calling Express Bird interface

Express company code:

##BFDF百福东BTWL百世ExpressCCESCCES ExpressCITY100City100COECOE Oriental ExpressCSCYChangsha ChuangyiCDSTKY Chengdu Shantu ExpressDBLDebon##DSWLDTWLEMSFASTFEDEXFEDEX_GJFKDGDEMSGSDGTOGTSDHFWLHHTTHLWLHOAUhq568##HTKY百世expressHXLWLHua Xia Long LogisticsHYLSDHaolaiyun ExpressJGSD京广ExpressJIUYEJiuye Supply Chain JJKYJiaji ExpressJLDTKerry LogisticsJTKD JET ExpressJXDJixiandaJYKDJinyue ExpressJYM加云美JYWLJiayi LogisticsKYWLCROSS LOGISTICSLBLongbang ExpressLHTLianhaotong Express Civil Aviation Express##MLWL Bright LogisticsNEDANDA ExpressPADTF平安达腾飞expressQCKDQuanchen ExpressQFKDQuanfeng ExpressQRT全日通expressRFD如风达SAD Saiao DeliverySAWL圣安LogisticsSBWL Shengbang LogisticsSDWL上大logisticsSFSF Express SFWL成峰logisticsSHWL SHENGHUI LOGISTICSST苏通LogisticsSTOSTO ExpressSTWLSagitar ExpressSURESuer ExpressTSSTOTangshan STOUAPEX全一ExpressUCUSU ExpressWJWL万家LogisticsWXWL万兴logisticsXBWLXinbang LogisticsXFEXXinfeng ExpressXYT西特XJXinjie LogisticsYADEX元Anda Express##ZTWLChina Railway LogisticsZYWLChina Post LogisticsAMAZONAmazon LogisticsSUBIDASUBIDA LogisticsRFEXRuifeng ExpressQUICKQuick ExpressCJKDIntercity ExpressCNPEX CNPEX China Post ExpressHOTSCMHongqiao Supply ChainHPTEX Haipaitong Logistics CompanyAYCAAustralia Post LinePANEX Panjie Express PCAPCA ExpressUEQUEQ Express
Encoding Name
AJ Anjie Express
ANE Anneng Logistics
AXD 安Xinda Express
BQXHM 北青Little Red Riding Hood
DspeedLogistics
大田logistics
EMS
Fast Express
FEDEX Federal (Domestic)
FEDEX Federal(International)
飞康达
Guangdong Post
公速达
国通Express
High Speed ​​Rail Express
HSBC Logistics
天天express
Henglu Logistics
天地华宇
Huaqiang Logistics
##MHKD
##YCWL Yuancheng Logistics
YD Yunda Express
YDH Yida International Logistics
YFEX Yuefeng Logistics
YFHEX former Flying Logistics
YFSD Yafeng Express
YTKD Express Express
YTO YTO Express
YXKD Yixiang Express
YZPY Postal surface mail/small package
ZENY Gain Express
ZHQKD Huiqiang Express
ZJS Home delivery
ZTE Zhongtong Express
ZTKY China Railway Express
ZTO 中通Express

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

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template