Home >Backend Development >PHP Tutorial >Express Bird query API interface usage (PHP version)
This article mainly introduces the use of Express Bird query API interface (PHP version), which has certain reference value. Now I share it with everyone. Friends in need can refer to it
During project development, some requirements will inevitably use some API interfaces about express delivery; this article mainly introduces the query API of express delivery and its differences with other companies ;
Commonly used express API interfaces include:
Express Bird
Express 100
Aicha Express
Wait
If you have used it, Express 100 and Aicha Express and other websites provide express query While waiting for the interface, you will find that the number of times the account or key you applied for can call the API interface is limited. Some are 2,000 times/day, and some are 5,000 times/time. The only thing that troubles you is that the user is required to add External links, while Express Bird does not require users to add external links. For users without portals, there are nothing more than very stringent requirements; moreover, the excess needs to be paid to use.
Express Bird, the request Api interface is unlimited times, and is free forever
Of course, for you For small needs, Express 100 and Aicha Express can meet your needs; however, if there are too many requests on a certain day, your query service will have to stop, affecting your product experience; therefore, it is recommended that you directly Use Express Bird to get it done in one step.
Query the logistics information of the order
The App is directly integrated to implement the express logistics information query API interface
In the WeChat public account, according to the order number entered by the user, our backend Identify the order number and query the express API interface according to Express Bird to realize the automatic query function
etc.
http://www.kdniao.com/ServiceApply.aspx
Fill in the information completely according to your information, and click Submit Application.
After logging in successfully, you can see information such as ID and key. With this information, you can request queries and other interface APIs
Parameter name | Type | Must require | Description |
---|---|---|---|
RequestData | String | R | The request content, in JSON or XML format, must be consistent with the DataType |
EBusinessID | String | R | User ID |
RequestType | String | R | Request command type: 1002 |
DataSign | String | R | Data content signature |
DataType | String | O | Request and return data types: 1-xml, 2-json; the default is xml format |
Parameter name | Type | Required | Description |
---|---|---|---|
OrderCode | varchar(50) | O | OrderCode |
ShipperCode | varchar(10) | R | Express company code |
LogisticCode | varchar(50) | R | Logistics order number |
Parameter name | Type | Must require | Description |
---|---|---|---|
EBusinessID | Int | R | E-Commerce User ID |
OrderCode | Varchar(50) | O | Order number |
ShipperCode | varchar(10) | R | Express company code |
LogisticCode | Varchar(50) | R | logistics waybill number |
Success | Bool | R | Success |
Reason | Varchar(50) | O | Failure reason |
State | Int | R | Logistics status 1: Picked up 2: On the way 3: Signed for receipt |
Varchar(Max) | R | Logistics track details |
Type | Required | Description | |
---|---|---|---|
DateTime | R | Time | |
Varchar(50) | R | Description | |
Varchar(150) | O | Remark |
{ "OrderCode" : "", "ShipperCode" : "SF", "LogisticCode" : "118650888018"}
{ "EBusinessID" : "1109259", "OrderCode" : "", "ShipperCode" : "SF", "LogisticCode" : "118461988807", "Success" : true, "State" : 3, "Reason" : null, "traces" : [{ "AcceptTime" : "2014/06/25 08:05:37", "AcceptStation" : "正在派件..(派件人:邓裕富,电话:18718866310)[深圳 市]", "Remark" : null }, { "AcceptTime" : "2014/06/25 04:01:28", "AcceptStation" : "快件在 深圳集散中心 ,准备送往下一站 深圳 [深圳市]", "Remark" : null }, { "AcceptTime" : "2014/06/25 01:41:06", "AcceptStation" : "快件在 深圳集散中心 [深圳市]", "Remark" : null }, { "AcceptTime" : "2014/06/24 20:18:58", "AcceptStation" : "已收件[深圳市]", "Remark" : null }, { "AcceptTime" : "2014/06/24 20:55:28", "AcceptStation" : "快件在 深圳 ,准备送往下一站 深圳集散中心 [深圳市]", "Remark" : null }, { "AcceptTime" : "2014/06/25 10:23:03", "AcceptStation" : "派件已签收[深圳市]", "Remark" : null }, { "AcceptTime" : "2014/06/25 10:23:03", "AcceptStation" : "签收人是:已签收[深圳市]", "Remark" : null } ]}
<?php //电商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.cc/Ebusiness/EbusinessOrderHandle.aspx'); //调用查询物流轨迹 //--------------------------------------------- $logisticResult=getOrderTracesByJson(); echo logisticResult; //--------------------------------------------- /** * Json方式 查询订单物流轨迹 */ function getOrderTracesByJson(){ $requestData= "{'OrderCode':'','ShipperCode':'YTO','LogisticCode':'12345678'}"; $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))); } ?>
other API interfaces, please go to Express Bird to view the relevant documents in detail.
Warm Tips
If your product needs to be docked or integrated with the express interface,Express Birdis a good choice; we will provide you with professional technical support personnel ; There is no limit to the number of inquiries and it is free forever.
The above is the detailed content of Express Bird query API interface usage (PHP version). For more information, please follow other related articles on the PHP Chinese website!