快遞物流資訊查詢介面API應用執行個體 C#/PHP

來源:互聯網
上載者:User

用快遞100 HtmlAPI 介面查詢各快遞物流資訊


1、API請求地址

http://www.kuaidi100.com/applyurl?key=[]&com=[]&nu=[]

(配參數時請先將 中括弧去掉)


2、傳入參數說明


參數

是否必需

說明

key

快遞100的授權key,如果已有快遞100的key,可以直接使用已有的;如果還沒有申請,請點擊 快遞查詢API進行申請。

com

快遞公司編碼見下表

nu

快遞單號

3、支援的公司

HtmlAPI支援快遞100所有支援的公司,以下只羅列最常見的幾個快遞

分類

快遞公司代碼

公司名稱

E

   
 

ems

ems

 

emsguoji

ems國際件

S

   
 

shentong

伸通

 

shunfeng

順豐

Y

   
 

youzhengguonei

中國郵政國內包裹/挂號信/國內小包大包

 

youzhengguoji

中國郵政國際包裹/挂號信/國外小包大包


4、返回結果說明:

提交請求後,快遞100會給您返回一個可以看到結果的url地址,如:http://www.kuaidi100.com/kuaidiresult?id=23 ,您直接存取或用iframe頁調用該url(調用方法見後面第四章),即可以看到結果。效果:



特別提醒:

因為EMS、順豐和申通偶爾會不穩定, 不穩定時會先顯示驗證碼 (如下圖所示),所以請勿直接將這個頁面直接解析成JSON等形式,否則會出錯!如下圖:

5、整體使用流程

第一步,後台建立連結,調用:http://www.kuaidi100.com/applyurl?key=[]&com=[]&nu=[] ,調用後系統會返回一個url地址,如:http://www.kuaidi100.com/kuaidiresult?id=23 。

第二步:在要顯示結果的頁面添加一個iframe標籤,將上述結果url地址傳入該iframe標籤的的src值,即可在該頁面查看到結果(如果要實現系統自動地將結果url傳入iframe標籤的src,請參考下面第五章),iframe代碼示範:

<iframe name="kuaidi100" src="結果url地址" width="600" height="380" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no"></iframe>

如果要實現系統自動地將結果url傳入iframe標籤的src,請參考下面

 
6、 C#示範

首先加一個iframe, 取到資料後,填充它

<iframe class="address_b order_zhui" height="260px" width="100%" id="kdFrame"></iframe>
$.get("Get.aspx", { wid: wid, openid: openid, rid: rid },                    function (data) {                        $("#bhao").hide();                        if (data != null) {                            $("#bhao").show();                            //$("#retData").html(data);                            $("#kdFrame").attr("src", data);                        }                    }             );


 

後台:

//用htmlapi

WebClient client = new WebClient();string url = string.Format("http://www.kuaidi100.com/applyurl?key={0}&com={1}&nu={2}", ApiKey, typeCom, nu);log.Info("url: " + url);Byte[] pageData = client.DownloadData(url);string pageHtml = Encoding.ASCII.GetString(pageData);log.Info("return url: " + pageHtml);Response.Write(pageHtml);



愛查快遞API使用說明文檔

API地址:

以前:http://api.ickd.cn/?com=[]&nu=[]&id=[]&type=[]&encode=[]&ord=[]&lang=[]

目前:http://api.ickd.cn/?id=[]&secret=[]&com=[]&nu=[]&type=[]&encode=[]&ord=[]&lang=[]

參數說明

欄位     是否必須     說明
com     必須     快遞公司代碼(英文),所支援快遞公司見如下列表
nu     必須     快遞單號,長度必須大於5位
id
secret     必須
必須     授權的id
授權KEY,申請請點擊快遞查詢API申請方式
type     可選     返回結果類型,值分別為 html | json(預設) | text | xml
encode     可選     gbk(預設)| utf8
ord     可選     asc(預設)|desc,返回結果排序
lang     可選     en返回英文結果,目前僅支援部分快遞(EMS、順豐、DHL)

注意:使用PHP的json_decode函數時必須使用UTF8的編碼,如果出現json_decode失敗,請嘗試使用UTF8編碼。


返回格式


格式:json | text | html | xml
編碼:GBK| UTF8
樣本:
{"status":"3","message":"","errCode":"0","data":[{"time":"2013-02-23 17:10","context":"遼寧省大連市中山區四部公司 的收件員 王光 已收件"},{"time":"2013-02-24 17:59","context":"遼寧省大連市公司 已收入"},{"time":"2013-02-24 18:11","context":"遼寧省大連市中山區四部公司 已收件"},{"time":"2013-02-26 07:33","context":"吉林省長春市景陽公司 的派件員 張金達 派件中 派件員電話15948736487"},{"time":"2013-02-26 16:47","context":"客戶 同事收發家人 已簽收 派件員 張金達"}],"html":"","mailNo":"7151900624","expTextName":"圓通快遞","expSpellName":"yuantong","update":"1362656241","cache":"186488","ord":"ASC"}


欄位說明

欄位     類型     說明
status     int     查詢結果狀態,0|1|2|3|4,0表示查詢失敗,1正常,2派送中,3已簽收,4退回,5其他問題
errCode     int     錯誤碼,0無錯誤,1單號不存在,2驗證碼錯誤,3連結查詢伺服器失敗,4程式內部錯誤,5程式執行錯誤,6快遞單號格式錯誤,7快遞公司錯誤,10未知錯誤
message     string     錯誤訊息
data     array     進度
html     string     其他HTML,該欄位不一定存在
mailNo     string     快遞單號
expSpellName     string     快遞公司英文代碼
expTextName     string     快遞公司中文名
update     int     最後更新時間(unix 時間戳記)
cache     int     緩衝時間,目前時間與 update 之間的差值,單位為:秒
ord     string     排序,ASC | DESC


php應用樣本

 

<script language="javascript"> <?php    $id='xxxxxxxxxxxxxxxxx';//到http://www.ickd.cn/api/reg.html申請    $url='http://api.ickd.cn/?com=shentong&nu=588035733628&id='.$id;       $data=file_get_contents($url);       //echo "var data='",$data,"'";   ?>       $(function(){      var dataObj=<?=$data?>;//轉換為json對象       var html='<tr>';        html+='<th>物流狀態:</th>';        html+='<td>';               if(dataObj.status>0){                             html+='<table width="520px" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; border-spacing: 0pt;">';           html+='<tr>';                             html+='<td width="163" style="background-color:#e6f9fa;border:1px solid #75c2ef;font-size:14px;font-weight:bold;height:20px;text-indent:15px;">';                             html+='時間';                             html+='</td>';                             html+='<td width="354" style="background-color:#e6f9fa;border:1px solid #75c2ef;font-size:14px;font-weight:bold;height:20px;text-indent:15px;">';                             html+='地點和跟蹤進度';                             html+='</td>';                             html+='</tr>';                             //輸出data的子物件變數                             $.each(dataObj.data,function(idx,item){                                         html+='<tr>';                                         html+='<td width="163" style="border:1px solid #dddddd;font-size: 12px;line-height:22px;padding:3px 5px;">';                                         html+=item.time;// 每條資料的時間                                         html+='</td>';                                         html+='<td width="354" style="border:1px solid #dddddd;font-size: 12px;line-height:22px;padding:3px 5px;">';                                         html+=item.context;// 每條資料的狀態                                        html+='</td>';                                         html+='</tr>';                             });                             html+='</table>';               }else{        //查詢不到                           html+='<span style="color:#f00">Sorry! '+dataObj.message+'</span>';               }              html+='</td></tr>';                   $("#shipping_detail").append(html);});</script>


若伺服器禁用了file_get_contents和fsockopen等函數,可使用CURL類,樣本如下:

<?php    $id='xxxxxxxxxxxxx';//API KEY    $com='shunfeng';//快遞公司    $nu='123456';//快遞單號    $type='json';    $encode='utf8';    $gateway=sprintf('http://api.ickd.cn/?id=%s&com=%s&nu=%s&encode=%s&type=%s',$id,$com,$nu,$encode,$type);  $ch=curl_init($gateway);  curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);  curl_setopt($ch,CURLOPT_HEADER,false);  $resp=curl_exec($ch);  $errmsg=curl_error($ch);  if($errmsg){      exit($errmsg);  }  curl_close($ch);  echo $resp;?>


目前所支援的快遞公司列表


快遞公司     代碼
EMS快遞     ems
申通快遞     shentong
圓通快遞     yuantong
中通快遞     zhongtong
匯通快遞     huitong
天天快遞     tiantian
韻達快遞     yunda
順豐快遞     shunfeng
宅急送快遞     zhaijisong
CCES快遞     cces
中國郵政平郵     pingyou
星晨急便     xingchen
速爾快遞     sure
快捷快遞     kuaijie
中鐵快運     zhongtie
AAE快遞     aae
安捷快遞     anjie
安信達快遞     anxinda
程光快遞     chengguang
大田物流     datian
德邦物流     debang
DHL快遞     dhl
DPEX快遞     dpex
D速快遞     dsu
國際Fedex     fedex
Fedex國內     fedexcn
原飛航物流     feihang
豐達快遞     fengda
飛康達快遞     fkd
飛快達快遞     fkdex
天地華宇物流     huayu
佳吉快運     jiaji
佳怡物流     jiayi
加運美快遞     jiayunmei
晉越快遞     jinyue
聯昊通物流|快遞     lianhaotong
龍邦快遞     longbang
民航快遞     minhang
港中能達     nengda
OCS快遞     ocs
全晨快遞     quanchen
全峰快遞     quanfeng
全日通快遞     quanritong
全一快遞     quanyi
如風達快遞     rufeng
盛豐物流     shengfeng
盛輝物流     shenghui
TNT快遞     tnt
UPS     ups
萬家物流     wanjia
新邦物流     xinbang
鑫飛鴻速遞     xinfeihong
信豐快遞     xinfeng
亞風快遞     yafeng
一邦快遞     yibang
優速快遞     yousu
遠成物流     yuancheng
元智捷誠     yuanzhi
越豐快遞     yuefeng
運通中港快遞     yuntong
源偉豐     ywfex
中郵物流     zhongyou


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.