まず、アカウントの鳥Expressを登録する必要があります
(本名検証が必要)メンバーシップ・サービスに対して適用した後に、ユーザーIDとAPIを見ることができ、ユーザ管理、バックグラウンドでログインした後、注文物流問い合わせ、および付加価値のバージョンは、試用版を持っている、彼らの実際に応じて選択することができます
コントローラコード
public function index(){
/**
* Json方式 查询订单物流轨迹
*/
//调用查询物流轨迹
//---------------------------------------------
$kgs = "*****";//快递公司简称,官方有文档
$number = "***********";//快递单号//
$logisticResult = orderTracesSubByJson($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."";
}
}
公開ファイル内common.phpの書き込み方法
//電気の供給者のID
(「EBusinessID」)またはDEFINE定義された(「EBusinessIDが」、「アプリケーションhttp://kdniao.com/regを表現鳥の公式サイトをご覧ください」);
//秘密鍵暗号の電力会社、宅配便の鳥を提供し、ノート親権、漏れない
定義された(「のAppKeyを」)または定義 (「のAppKey」、「 鳥の公式サイトをご覧くださいhttp://kdniao.com/regアプリケーションを表現する」);
//リクエストURL
(「reqURL」)定義されたか、DEFINE( ' reqURL '' http://api.kdniao.com/Ebusiness/EbusinessOrderHandle.aspx「);
/ **
-
JSON方式物流信息订阅
* /
機能orderTracesSubByJson($ KGS、$数){
$ requestData = "{ 'OrderCode': ''、 'ShipperCode': '$ KGS'、 'LogisticCode': '$番号'}"。
$ DATAS =配列
('EBusinessID' => EBusinessID、
'RequestType' => '1002'、
'RequestData' =>でurlencode($ requestData)、
'データ型' => '2'、
)。
$ DATAS [ 'DataSign'] =暗号化($ requestData、のAppKey)。
$結果= sendPost(ReqURL、$ DATAS)。//同社のビジネス・プロセス情報に基づいて戻って......
$結果を返します。
}
/ ** - データは郵送で提出しました
- @paramの文字列$ URL要求のURL
- データは@param配列$件のデータを提出しました
-
@return URL响应返回的HTML
* /
機能sendPost($ URL、$ DATAS){
$タン=配列();
foreachの($キーとして$ DATAS => $値){
$タン[] =はsprintf( '%S =%s'は、$キー、$値)。
}
$ post_data =破( '&'、$タン)。
$ url_info =でもparse_url($のURL);
(([ 'ポート'])url_info $空の)場合
、{
; $ url_info [ 'ポート'] = 80
}
$ httpheader = "POST"。$ url_info [ 'パス']。"HTTP / 1.0 \ rを\ n"は、
。$ httpheader = "ホスト:"。$ url_info [ 'ホスト']。"\ rを\ n"は、
。$ httpheader = "Content-Typeの:アプリケーション/ x-www-form-urlencodedで\ rを\ n"は、
。$ httpheader = "コンテンツ長:"。strlenを($のpost_data)。"\ rを\ n"は、
$ httpheader。= "
$ FD = fsockopenの($ [ 'ホスト'] url_info、$ url_info [ 'ポート'])。
fwriteの($ FD、$ httpheader)。
$「は」=取得します。
$ headerFlag =はtrue。
一方、{(FEOF($ FD)!)
IF(($ヘッダ= @fgets($ FD))&&($ヘッダ== "\ Rは\ n" || $ヘッダ== "\ n")){
ブレーク。
}
}
(!FEOF($ FD))、一方、{
$取得=のfread($ FD、128)。
}
FCLOSE($ FD)。返す$取得します。
}
/ **
- サイン署名生成電気の供給
- @paramデータ内容
- @param APPKEY APPKEY
- @return DataSign签名
* /
関数の暗号化($データ、$ APPKEY){
リターンでurlencode(BASE64_ENCODE(MD5($データ$ APPKEY))。)。
}//电商ID defined('EBusinessID') or define('EBusinessID', '请到快递鸟官网申请http://kdniao.com/reg'); //电商加密私钥,快递鸟提供,注意保管,不要泄漏 defined('AppKey') or define('AppKey', '请到快递鸟官网申请http://kdniao.com/reg'); //请求url defined('ReqURL') or define('ReqURL', 'http://api.kdniao.com/Ebusiness/EbusinessOrderHandle.aspx'); /**
-
JSON方式物流信息订阅
* /
機能orderTracesSubByJson($ KGS、$数){
$ requestData = "{ 'OrderCode': ''、 'ShipperCode': '$ KGS'、 'LogisticCode': '$番号'}"。
$ DATAS =配列
('EBusinessID' => EBusinessID、
'RequestType' => '1002'、
'RequestData' =>でurlencode($ requestData)、
'データ型' => '2'、
)。
$ DATAS [ 'DataSign'] =暗号化($ requestData、のAppKey)。
$結果= sendPost(ReqURL、$ DATAS)。//同社のビジネス・プロセス情報に基づいて戻って......
$結果を返します。
}
/ ** - データは郵送で提出しました
- @paramの文字列$ URL要求のURL
- データは@param配列$件のデータを提出しました
-
@return URL响应返回的HTML
* /
機能sendPost($ URL、$ DATAS){
$タン=配列();
foreachの($キーとして$ DATAS => $値){
$タン[] =はsprintf( '%S =%s'は、$キー、$値)。
}
$ post_data =破( '&'、$タン)。
$ url_info =でもparse_url($のURL);
(([ 'ポート'])url_info $空の)場合
、{
; $ url_info [ 'ポート'] = 80
}
$ httpheader = "POST"。$ url_info [ 'パス']。"HTTP / 1.0 \ rを\ n"は、
。$ httpheader = "ホスト:"。$ url_info [ 'ホスト']。"\ rを\ n"は、
。$ httpheader = "Content-Typeの:アプリケーション/ x-www-form-urlencodedで\ rを\ n"は、
。$ httpheader = "コンテンツ長:"。strlenを($のpost_data)。"\ rを\ n"は、
$ httpheader。= "
$ FD = fsockopenの($ [ 'ホスト'] url_info、$ url_info [ 'ポート'])。
fwriteの($ FD、$ httpheader)。
$「は」=取得します。
$ headerFlag =はtrue。
一方、{(FEOF($ FD)!)
IF(($ヘッダ= @fgets($ FD))&&($ヘッダ== "\ Rは\ n" || $ヘッダ== "\ n")){
ブレーク。
}
}
(!FEOF($ FD))、一方、{
$取得=のfread($ FD、128)。
}
FCLOSE($ FD)。返す$取得します。
}
/ **
- サイン署名生成電気の供給
- @paramデータ内容
- @param APPKEY APPKEY
- @return DataSign签名
* /
関数の暗号化($データ、$ APPKEY){
リターンでurlencode(BASE64_ENCODE(MD5($データ$ APPKEY))。)。
}
最后访问index()方法即可
注:快递公司简称,官方有文档,在用户管理后台右侧
![](https://s1.51cto.com/images/blog/202001/16/2b21e704d4d491e86a418fd365924428.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
更多详情可点击,帮助与文档-进去后点击–产品文档–DEMO下载–即时查询–接口Demo工具.PHP版