不限量快遞查詢API使用文檔_第1頁(yè)
不限量快遞查詢API使用文檔_第2頁(yè)
不限量快遞查詢API使用文檔_第3頁(yè)
不限量快遞查詢API使用文檔_第4頁(yè)
不限量快遞查詢API使用文檔_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、不限量快遞查詢API使用文檔1.1 功能說(shuō)明客戶通過(guò)下單、訂閱接口,把運(yùn)單號(hào)在快遞鳥系統(tǒng)訂閱。運(yùn)單物流信息有更新,通過(guò)推送接口把更新的信息推送給客戶。推送接口由用戶按照接口規(guī)則實(shí)現(xiàn)。商戶開放接口,接口定時(shí)將最新的物流軌跡推送到商戶平臺(tái)。優(yōu)點(diǎn):客戶不需要關(guān)注軌跡變化,一旦有更新,自動(dòng)推送。缺點(diǎn):對(duì)客戶的服務(wù)器性能有所要求,定時(shí)請(qǐng)求接口,對(duì)客戶的服務(wù)器有一定的影響,客戶服務(wù)器異常將接受不到最新數(shù)據(jù)。推送接口根據(jù)業(yè)務(wù)不同,會(huì)根據(jù)RequestType的分類推送不同的數(shù)據(jù),用戶需對(duì)推送的數(shù)據(jù)進(jìn)行分類保存。原推送接口無(wú)需變化,快遞鳥會(huì)根據(jù)推送版本進(jìn)行推送。與即時(shí)查詢接口(3000次/天)的區(qū)別:1、接入

2、方式不一樣 即時(shí)查詢接口,根據(jù)快遞單號(hào)和快遞公司編碼實(shí)時(shí)查詢物流軌跡信息 訂閱推送接口,用戶訂閱快遞號(hào),快遞鳥系統(tǒng)會(huì)定時(shí)推送新的物流信息2、實(shí)現(xiàn)的功能不一樣訂閱推送會(huì)持續(xù)推送更新的軌跡信息3、查詢單量不一樣即時(shí)查詢每日查詢次數(shù)<3000次,訂閱推送不限制訂閱單量,并可一直獲得每個(gè)單號(hào)的更新信息。1.2 接口規(guī)則 (1)、客戶服務(wù)器必須穩(wěn)定,并且有一定的接受數(shù)據(jù)能力。通過(guò)多線程推送物流信息給客戶。 (2)、客戶需要按快遞鳥要求開發(fā)接口,保證信息的正常接收??蛻艚訑?shù)據(jù)后,存儲(chǔ)并馬上返回接收響應(yīng)。如果客戶對(duì)數(shù)據(jù)進(jìn)行處理,再做出響應(yīng)。這會(huì)造成網(wǎng)絡(luò)超時(shí),傳輸效率低下。 (3)、主動(dòng)推送時(shí)物流信息接

3、收接口由客戶提供,接口必須按照快遞鳥的要求實(shí)現(xiàn)。 (4)、客戶提供接口地址,請(qǐng)聯(lián)系快遞鳥技術(shù)人員,聯(lián)系方式請(qǐng)求查看文檔尾頁(yè)。(5)、接口只支持Json數(shù)據(jù)格式。(6)、接口平臺(tái):快遞鳥(7)、POS方式請(qǐng)求。1.3 系統(tǒng)級(jí)輸入?yún)?shù)參數(shù)名稱類型必須要求說(shuō)明RequestDataStringR推送數(shù)據(jù)經(jīng)url轉(zhuǎn)碼utf-8 RequestTypeStringR101-軌跡查詢結(jié)果, 107-貨款狀態(tài)1.4 應(yīng)用級(jí)輸入?yún)?shù)參數(shù)名稱類型必須要求說(shuō)明EBusinessIDStringR用戶電商IDPushTimeStringR推送時(shí)間CountStringR推送物流單號(hào)軌跡個(gè)數(shù)DataStringR推送

4、物流單號(hào)軌跡集合1.4.1 訂閱查詢結(jié)果(RequestType:101)通過(guò)軌跡查詢(訂閱查詢)接口訂閱到快遞鳥的數(shù)據(jù),快遞鳥推送時(shí),會(huì)將推送的RequestType的值置為101,同時(shí)返回下列數(shù)據(jù)參數(shù)名稱類型必須要求說(shuō)明ResponseEBusinessIDStringO電商用戶IDOrderCodeStringO訂單編號(hào)ShipperCodeStringR快遞公司編碼LogisticCodeStringR物流運(yùn)單號(hào)SuccessBoolR成功與否ReasonStringO失敗原因StateStringR物流狀態(tài):0-無(wú)軌跡1-已攬收2-在途中201-到達(dá)派件城市3-簽收4-問(wèn)題件Call

5、BackStringO訂閱接口的Bk值TracesStringR物流軌跡詳情EstimatedDeliveryTimeStringO預(yù)計(jì)到達(dá)時(shí)間yyyy-mm-ddPickerInfoObjectO收件員信息SenderInfoObjectO派件員信息注:通過(guò)訂單分發(fā)與電子面單接口自動(dòng)訂閱的運(yùn)單,會(huì)返回預(yù)計(jì)達(dá)到時(shí)間,收派件人員網(wǎng)點(diǎn)信息,當(dāng)前快件所在省市等字段參數(shù)名稱類型必須要求說(shuō)明TracesAcceptTimeStringR時(shí)間AcceptStationStringR描述RemarkStringO備注參數(shù)名稱類型必須要求說(shuō)明PickerInfoPersonNameStringO快遞員姓名Pe

6、rsonTelStringO快遞員電話PersonCodeStringO快遞員工號(hào)StationNameStringO網(wǎng)點(diǎn)名稱StationAddressStringO網(wǎng)點(diǎn)地址StationTelStringO網(wǎng)點(diǎn)電話參數(shù)名稱類型必須要求說(shuō)明SenderInfoPersonNameStringO派件快遞員姓名PersonTelStringO派件快遞員電話PersonCodeStringO派件快遞員工號(hào)StationNameStringO派件網(wǎng)點(diǎn)名稱StationAddressStringO派件網(wǎng)點(diǎn)地址StationTelStringO派件網(wǎng)點(diǎn)電話1.4.2 貨款狀態(tài)(RequestType:1

7、07)用戶通過(guò)電子面單使用快遞鳥貨到付款等金融服務(wù)時(shí),快遞鳥會(huì)將該訂單的金融狀態(tài)通過(guò)接口推送給用戶。參數(shù)名稱類型必須要求說(shuō)明ResponseEBusinessIDStringO電商用戶IDOrderCodeStringO訂單編號(hào)ShipperCodeStringR快遞公司編碼LogisticCodeStringR物流運(yùn)單號(hào)SuccessBoolR成功與否ReasonStringO失敗原因StateStringR物流狀態(tài):0-無(wú)軌跡1-已攬收2-在途中201-到達(dá)派件城市3-簽收4-問(wèn)題件CallBackStringO訂閱接口的Bk值OrderStateStringO訂單貨款狀態(tài):1-待出款;2

8、-已出款;3-已收款A(yù)ccountNameStringO返款銀行卡開戶人(例:*偉、*佳)AccountTelStringO返款銀行卡手機(jī)末四位AccountNumStringO返款銀行卡末四位注:通過(guò)訂單分發(fā)與電子面單接口自動(dòng)訂閱的運(yùn)單,會(huì)返回預(yù)計(jì)達(dá)到時(shí)間,收派件人員網(wǎng)點(diǎn)信息,當(dāng)前快件所在省市等字段1.5 返回結(jié)果參數(shù)參數(shù)名稱類型必須要求說(shuō)明EBusinessIDStringR用戶IDUpdateTimeStringR時(shí)間SuccessStringR成功與否ReasonStringO失敗原因1.6 JSON請(qǐng)求示例訂閱查詢結(jié)果示例: "EBusinessID": &quo

9、t;1109259", "Count": "2", "PushTime": "2015-03-11 16:21:06", "Data": "EBusinessID": "1109259", "OrderCode": "", "ShipperCode": "EMS", "LogisticCode": "5042260908504"

10、, "Success": true, "Reason": "", "State": "2", "CallBack": "0", "Traces": "AcceptTime": "2015-03-06 21:16:58", "AcceptStation": "深圳市橫崗速遞營(yíng)銷部已收件,(攬投員姓名:鐘定基;聯(lián)系電話:)", "Remark"

11、;: "" , "AcceptTime": "2015-03-07 14:25:00", "AcceptStation": "離開深圳市 發(fā)往廣州市", "Remark": "" , "AcceptTime": "2015-03-08 00:17:00", "AcceptStation": "到達(dá)廣東速遞物流公司廣航中心處理中心(經(jīng)轉(zhuǎn))", "Remark"

12、: "" , "AcceptTime": "2015-03-08 01:15:00", "AcceptStation": "離開廣州市 發(fā)往北京市(經(jīng)轉(zhuǎn))", "Remark": "" , "AcceptTime": "2015-03-09 09:01:00", "AcceptStation": "到達(dá)北京黃村轉(zhuǎn)運(yùn)站處理中心(經(jīng)轉(zhuǎn))", "Remark":

13、"" , "AcceptTime": "2015-03-09 18:39:00", "AcceptStation": "離開北京市 發(fā)往呼和浩特市(經(jīng)轉(zhuǎn))", "Remark": "" , "AcceptTime": "2015-03-10 18:06:00", "AcceptStation": "到達(dá) 呼和浩特市 處理中心", "Remark": &quo

14、t;" , "AcceptTime": "2015-03-11 09:53:48", "AcceptStation": "呼和浩特市郵政速遞物流分公司金川攬投部安排投遞(投遞員姓名:安長(zhǎng)虹;聯(lián)系電話", "Remark": "" , "EBusinessID": "1109259", "OrderCode": "", "ShipperCode"

15、;: "EMS", "LogisticCode": "5042260943004", "Success": true, "Reason": "", "State": "2", "CallBack": "0", "Traces": "AcceptTime": "2015-03-07 15:26:09", "AcceptStatio

16、n": "深圳市橫崗速遞營(yíng)銷部已收件,(攬投員姓名:周宏彪;聯(lián)系電話", "Remark": "" , "AcceptTime": "2015-03-08 16:32:00", "AcceptStation": "離開深圳市 發(fā)往廣州市", "Remark": "" , "AcceptTime": "2015-03-09 00:58:00",

17、 "AcceptStation": "到達(dá)廣東速遞物流公司廣航中心處理中心(經(jīng)轉(zhuǎn))", "Remark": "" , "AcceptTime": "2015-03-09 01:15:00", "AcceptStation": "離開廣州市 發(fā)往北京市(經(jīng)轉(zhuǎn))", "Remark": "" , "AcceptTime": "2015-03-10 05:20:00&quo

18、t;, "AcceptStation": "到達(dá)北京黃村轉(zhuǎn)運(yùn)站處理中心(經(jīng)轉(zhuǎn))", "Remark": "" , "AcceptTime": "2015-03-10 11:59:00", "AcceptStation": "離開北京市 發(fā)往廊坊市(經(jīng)轉(zhuǎn))", "Remark": "" , "AcceptTime": "2015-03-10 14:23:00"

19、, "AcceptStation": "到達(dá)廊坊市處理中心(經(jīng)轉(zhuǎn))", "Remark": "" , "AcceptTime": "2015-03-11 08:55:00", "AcceptStation": "離開廊坊市 發(fā)往保定市(經(jīng)轉(zhuǎn))", "Remark": "" 貨款狀態(tài):    "EBusinessID": "1109259&

20、quot;,    "Count": "2",    "PushTime": "2015/3/11 16:21:06",    "Data":                     "EBusinessID"

21、: "1109259",            "OrderCode": "",            "ShipperCode": "EMS",           

22、"LogisticCode": "5042260908504",            "Success": true,            "Reason": "",         &

23、#160;  "State": "2",            "CallBack": "0",            "OrderState":"1",        

24、    "AccountName":"張三",            "AccountTel":"quot;,            "AccountNum":"0321"   

25、0;    ,                    "EBusinessID": "1109259",            "OrderCode": "",   &#

26、160;        "ShipperCode": "EMS",            "LogisticCode": "5042260908522",            "Success": true,

27、            "Reason": "",            "State": "2",            "CallBack": "0&quo

28、t;,            "OrderState":"1",            "AccountName":"張三",            "AccountTel&quo

29、t;:"quot;,            "AccountNum":"0321"            1.7 JSON返回示例 "EBusinessID": "1109259", "UpdateTime": "2015-03-11 16: 2

30、6: 11", "Success": true, "Reason": ""1.8 JAVA對(duì)接代碼import java.io.BufferedReader;import java.io.IOException; import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.UnsupportedEncodingException;import .HttpURLConnection;import .URL;import .U

31、RLEncoder;import java.util.HashMap;import java.util.Map;import ernal.impl.dv.util.Base64;import java.security.MessageDigest; public class KdGoldAPIDemo /電商IDprivate String EBusinessID="1237100"/電商加密私鑰,注意保管,不要泄漏,請(qǐng)重新申請(qǐng)秘鑰private String AppKey="518a73d8-1f7f-4

32、41a-b644-33e77b49d846"/請(qǐng)求urlprivate String ReqURL="http:/api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx" /* * Json方式 物流信息訂閱 * throws Exception */public String orderTracesSubByJson() throws ExceptionString requestData="'Code': 'SF','Item': "+ "

33、'No': '909261024507','Bk': 'test',"+ "'No': '589554393102','Bk': 'test',"+ "'No': '589522101958','Bk': 'test',"+ "'No': '909198822942', 'Bk': 'tes

34、t'"+ ""Map<String, String> params = new HashMap<String, String>();params.put("RequestData", urlEncoder(requestData, "UTF-8");params.put("EBusinessID", EBusinessID);params.put("RequestType", "1005");String dataSign=encry

35、pt(requestData, AppKey, "UTF-8");params.put("DataSign", urlEncoder(dataSign, "UTF-8");params.put("DataType", "2");String result=sendPost(ReqURL, params);/根據(jù)公司業(yè)務(wù)處理返回的信息.return result;/* * XML方式 物流信息訂閱 * throws Exception */public String orderTracesSubB

36、yXml() throws ExceptionString requestData="<?xml version="1.0" encoding="utf-8" ?>"+"<Content>"+"<Code>SF</Code>"+"<Items>"+"<Item>"+"<No>909261024507</No>"+"<Bk>

37、;test</Bk>"+"</Item>"+"<Item>"+"<No>909261024507</No>"+"<Bk>test</Bk>"+"</Item>"+"</Items>"+"</Content>"Map<String, String> params = new HashMap<String, Str

38、ing>();params.put("RequestData", urlEncoder(requestData, "UTF-8");params.put("EBusinessID", EBusinessID);params.put("RequestType", "1005");String dataSign=encrypt(requestData, AppKey, "UTF-8");params.put("DataSign", urlEncoder(

39、dataSign, "UTF-8");params.put("DataType", "1");String result=sendPost(ReqURL, params);/根據(jù)公司業(yè)務(wù)處理返回的信息.return result;/* * MD5加密 * param str 內(nèi)容 * param charset 編碼方式 * throws Exception */SuppressWarnings("unused")private String MD5(String str, String charset) thro

40、ws Exception MessageDigest md = MessageDigest.getInstance("MD5"); md.update(str.getBytes(charset); byte result = md.digest(); StringBuffer sb = new StringBuffer(32); for (int i = 0; i < result.length; i+) int val = resulti & 0xff; if (val <= 0xf) sb.append("0"); sb.appe

41、nd(Integer.toHexString(val); return sb.toString().toLowerCase();/* * base64編碼 * param str 內(nèi)容 * param charset 編碼方式 * throws UnsupportedEncodingException */private String base64(String str, String charset) throws UnsupportedEncodingExceptionString encoded = Base64.encode(str.getBytes(charset);return e

42、ncoded; SuppressWarnings("unused")private String urlEncoder(String str, String charset) throws UnsupportedEncodingExceptionString result = URLEncoder.encode(str, charset);return result;/* * 電商Sign簽名生成 * param content 內(nèi)容 * param keyValue Appkey * param charset 編碼方式 * throws UnsupportedEncod

43、ingException ,Exception * return DataSign簽名 */SuppressWarnings("unused")private String encrypt (String content, String keyValue, String charset) throws UnsupportedEncodingException, Exceptionif (keyValue != null)return base64(MD5(content + keyValue, charset), charset);return base64(MD5(con

44、tent, charset), charset); /* * 向指定 URL 發(fā)送POST方法的請(qǐng)求 * param url 發(fā)送請(qǐng)求的 URL * param params 請(qǐng)求的參數(shù)集合 * return 遠(yuǎn)程資源的響應(yīng)結(jié)果 */SuppressWarnings("unused")private String sendPost(String url, Map<String, String> params) OutputStreamWriter out = null; BufferedReader in = null; StringBuilder result

45、 = new StringBuilder(); try URL realUrl = new URL(url); HttpURLConnection conn =(HttpURLConnection) realUrl.openConnection(); / 發(fā)送POST請(qǐng)求必須設(shè)置如下兩行 conn.setDoOutput(true); conn.setDoInput(true); / POST方法 conn.setRequestMethod("POST"); / 設(shè)置通用的請(qǐng)求屬性 conn.setRequestProperty("accept", &q

46、uot;*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"

47、;); conn.connect(); / 獲取URLConnection對(duì)象對(duì)應(yīng)的輸出流 out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8"); / 發(fā)送請(qǐng)求參數(shù) if (params != null) StringBuilder param = new StringBuilder(); for (Map.Entry<String, String> entry : params.entrySet() if(param.length()>0) param.append("&am

48、p;"); param.append(entry.getKey(); param.append("="); param.append(entry.getValue(); System.out.println(entry.getKey()+":"+entry.getValue(); System.out.println("param:"+param.toString(); out.write(param.toString(); / flush輸出流的緩沖 out.flush(); / 定義BufferedReader輸入流來(lái)讀

49、取URL的響應(yīng) in = new BufferedReader( new InputStreamReader(conn.getInputStream(), "UTF-8"); String line; while (line = in.readLine() != null) result.append(line); catch (Exception e) e.printStackTrace(); /使用finally塊來(lái)關(guān)閉輸出流、輸入流 finally try if(out!=null) out.close(); if(in!=null) in.close(); catc

50、h(IOException ex) ex.printStackTrace(); return result.toString(); 1.9 PHP對(duì)接代碼<?php/電商IDdefined('EBusinessID') or define('EBusinessID', 1237100);/電商加密私鑰,注意保管,不要泄漏(ID和KEY需重新申請(qǐng))defined('AppKey') or define('AppKey', '518a73d8-1f7f-441a-b644-33e77b49d846');/請(qǐng)求ur

51、ldefined('ReqURL') or define('ReqURL', 'http:/api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx'); /* * Json方式 物流信息訂閱 */function orderTracesSubByJson()$requestData="'Code': 'SF','Item': ". "'No': '909261024507','Bk

52、9;: 'test',". "'No': '589554393102','Bk': 'test',". "'No': '589522101958','Bk': 'test',". "'No': '909198822942', 'Bk': 'test'". ""$datas = array( '

53、EBusinessID' => EBusinessID, 'RequestType' => '1005', 'RequestData' => urlencode($requestData) , 'DataType' => '2', ); $datas'DataSign' = encrypt($requestData, AppKey);$result=sendPost(ReqURL, $datas);/根據(jù)公司業(yè)務(wù)處理返回的信息.return $result;/* *

54、XML方式 物流信息訂閱 */function orderTracesSubByXml()$requestData="<?xml version="1.0" encoding="utf-8" ?>"."<Content>"."<Code>SF</Code>"."<Items>"."<Item>"."<No>909261024507</No>"

55、."<Bk>test</Bk>"."</Item>"."<Item>"."<No>909261024507</No>"."<Bk>test</Bk>"."</Item>"."</Items>"."</Content>"$datas = array( 'EBusinessID' => E

56、BusinessID, 'RequestType' => '1005', 'RequestData' => urlencode($requestData) , 'DataType' => '1', ); $datas'DataSign' = encrypt($requestData, AppKey);$result=sendPost(ReqURL, $datas);/根據(jù)公司業(yè)務(wù)處理返回的信息.return $result;/* * post提交數(shù)據(jù) * param string

57、$url 請(qǐng)求Url * param array $datas 提交的數(shù)據(jù) * return url響應(yīng)返回的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($url_info'port'

58、='')$url_info'port'=80;echo $url_info'port' $httpheader = "POST " . $url_info'path' . " HTTP/1.0rn" $httpheader.= "Host:" . $url_info'host' . "rn" $httpheader.= "Content-Type:application/x-www-form-urlencodedrn"

59、; $httpheader.= "Content-Length:" . strlen($post_data) . "rn" $httpheader.= "Connection:closernrn" $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 = "rn" | $header = "n") break; while (!feof($fd) $gets.= fread($fd, 128); fclose($fd); return $gets;/* * 電商Sign簽名生成

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論