双性受从小被攻吃奶_中国丰满少妇xxxxx高潮_男人与雌性宠物交av网站_欧美视频一区二区三区四区_国产精品一二区在线观看_哦┅┅快┅┅用力啊┅警花李清_欧美激情精品久久久_日韩不卡一区二区三区_日本一区午夜艳熟免费_国产伦精品一区二区三区视频网站

快遞查詢接口通用API是給發(fā)貨電商以實現(xiàn)查詢快遞物流軌跡功能的,接口對接前要先到快遞鳥網(wǎng)站申請接口秘鑰和APIKEY。

快遞單號查詢API的應(yīng)用場景與用途,

最常見的應(yīng)用場景如下:

(1)電商網(wǎng)站:例如B2C,團(tuán)購,B2B,批發(fā)分銷站,C2C,本地生活交易等網(wǎng)站。

(2)管理系統(tǒng):訂單處理平臺,調(diào)度平臺,發(fā)貨平臺,分銷系統(tǒng),渠道管理系統(tǒng),客戶管理系統(tǒng),ERP等。

快遞單號查詢API的用途如下:

(1)讓顧客登錄網(wǎng)站后,直接在“我的訂單”頁面上可以看到訂單的物流狀態(tài)。

(2)自動篩選出“已簽收”,“疑難件”等狀態(tài)的單號,減輕物流跟單人員的壓力。

(3)更改訂單的狀態(tài)和交易流程,例如單號變?yōu)椤耙押炇铡保梢宰層唵无D(zhuǎn)化可以確認(rèn)退換貨等。

(4)評估選擇快遞公司,根據(jù)“已簽收”的運單數(shù),可以算出銷售人員的業(yè)績,并進(jìn)行應(yīng)對的結(jié)算。

(5)郵件,短信提醒用戶運單的最新狀態(tài),可以安撫用戶,也可以利用郵件短信二次營銷。

對接要求:

(1),查詢接口支持遵循運輸單號查詢(個別查詢,并發(fā)不超過10個/ S)。

(2),指定的物流運輸單號選擇相應(yīng)的快遞公司編碼,格式不對或則編碼錯誤都會返回失敗的信息。例如EMS物流單號應(yīng)選擇快遞公司編碼(EMS)

(3),返回的物流跟蹤信息遵循發(fā)生的時間升序排列。

(4),接口指令1002

(5),接口提供:快遞鳥

(6),請求地址:http://www.kdniao.com/

(7)”0元點擊試用”地址:http://www.kdniao.com/v2/activity/try.aspx

java請求示例:

/**
?*
??單日超過500單查詢量,建議接入物流軌跡訂閱推送接口 ??
?/ public?class?KdniaoTrackQueryAPI?{ ????? ????//DEMO ????public?static?void?main(String[]?args)?{ ????????KdniaoTrackQueryAPI?api?=?new?KdniaoTrackQueryAPI(); ????????try?{ ????????????String?result?=?api.getOrderTracesByJson(“ANE”,?“210001633605”); ????????????System.out.print(result); ????????????? ????????}?catch?(Exception?e)?{ ????????????e.printStackTrace(); ????????} ????} ????? ????//電商ID ????private?String?EBusinessID=”申請”; ????//電商加密私鑰,注意保管,不要泄漏 ????private?String?AppKey=”申請”; ????//請求url ????private?String?ReqURL=”http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx”;???? ?? ????/*
??????Json方式?查詢訂單物流軌跡 ??????@throws?Exception?
?????/ ????public?String?getOrderTracesByJson(String?expCode,?String?expNo)?throws?Exception{ ????????String?requestData=?“{‘OrderCode’:”,’ShipperCode’:'”?+?expCode?+?‘,’LogisticCode’:'”?+?expNo?+?‘}”; ????????? ????????Map?params?=?new?HashMap(); ????????params.put(“RequestData”,?urlEncoder(requestData,?“UTF-8”)); ????????params.put(“EBusinessID”,?EBusinessID); ????????params.put(“RequestType”,?“1002”); ????????String?dataSign=encrypt(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; ????} ?? ????/*
??????MD5加密 ??????@param?str?內(nèi)容???????
??????@param?charset?編碼方式 ??????@throws?Exception?
?????/ ????@SuppressWarnings(“unused”) ????private?String?MD5(String?str,?String?charset)?throws?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?=?result[i]?&?0xff; ????????????if?(val?<=?0xf)?{ ????????????????sb.append(“0”); ????????????} ????????????sb.append(Integer.toHexString(val)); ????????} ????????return?sb.toString().toLowerCase(); ????} ????? ????/*
??????base64編碼 ??????@param?str?內(nèi)容???????
??????@param?charset?編碼方式 ??????@throws?UnsupportedEncodingException?
?????/ ????private?String?base64(String?str,?String?charset)?throws?UnsupportedEncodingException{ ????????String?encoded?=?base64Encode(str.getBytes(charset)); ????????return?encoded;???? ????}???? ????? ????@SuppressWarnings(“unused”) ????private?String?urlEncoder(String?str,?String?charset)?throws?UnsupportedEncodingException{ ????????String?result?=?URLEncoder.encode(str,?charset); ????????return?result; ????} ????? ????/*
??????電商Sign簽名生成 ??????@param?content?內(nèi)容???
??????@param?keyValue?Appkey?? ??????@param?charset?編碼方式
??????@throws?UnsupportedEncodingException?,Exception ??????@return?DataSign簽名
?????/ ????@SuppressWarnings(“unused”) ????private?String?encrypt?(String?content,?String?keyValue,?String?charset)?throws?UnsupportedEncodingException,?Exception ????{ ????????if?(keyValue?!=?null) ????????{ ????????????return?base64(MD5(content?+?keyValue,?charset),?charset); ????????} ????????return?base64(MD5(content,?charset),?charset); ????} ????? ?????/*
??????向指定?URL?發(fā)送POST方法的請求????? ??????@param?url?發(fā)送請求的?URL????
??????@param?params?請求的參數(shù)集合????? ??????@return?遠(yuǎn)程資源的響應(yīng)結(jié)果
?????/ ????@SuppressWarnings(“unused”) ????private?String?sendPost(String?url,?Map?params)?{ ????????OutputStreamWriter?out?=?null; ????????BufferedReader?in?=?null;???????? ????????StringBuilder?result?=?new?StringBuilder();? ????????try?{ ????????????URL?realUrl?=?new?URL(url); ????????????HttpURLConnection?conn?=(HttpURLConnection)?realUrl.openConnection(); ????????????//?發(fā)送POST請求必須設(shè)置如下兩行 ????????????conn.setDoOutput(true); ????????????conn.setDoInput(true); ????????????//?POST方法 ????????????conn.setRequestMethod(“POST”); ????????????//?設(shè)置通用的請求屬性 ????????????conn.setRequestProperty(“accept”,?/*”);
????????????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”);
????????????conn.connect();
????????????//?獲取URLConnection對象對應(yīng)的輸出流
????????????out?=?new?OutputStreamWriter(conn.getOutputStream(),?“UTF-8”);
????????????//?發(fā)送請求參數(shù)????????????
????????????if?(params?!=?null)?{
??????????????????StringBuilder?param?=?new?StringBuilder();?
??????????????????for?(Map.Entry?entry?:?params.entrySet())?{
??????????????????????if(param.length()>0){
??????????????????????????param.append(“&”);
??????????????????????}??????????????????
??????????????????????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輸入流來讀取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塊來關(guān)閉輸出流、輸入流
????????finally{
????????????try{
????????????????if(out!=null){
????????????????????out.close();
????????????????}
????????????????if(in!=null){
????????????????????in.close();
????????????????}
????????????}
????????????catch(IOException?ex){
????????????????ex.printStackTrace();
????????????}
????????}
????????return?result.toString();
????}
?????
?????
????private?static?char[]?base64EncodeChars?=?new?char[]?{?
????????‘A’,?‘B’,?‘C’,?‘D’,?‘E’,?‘F’,?‘G’,?‘H’,?
????????‘I’,?‘J’,?‘K’,?‘L’,?‘M’,?‘N’,?‘O’,?‘P’,?
????????‘Q’,?‘R’,?‘S’,?‘T’,?‘U’,?‘V’,?‘W’,?‘X’,?
????????‘Y’,?‘Z’,?‘a’,?‘b’,?‘c’,?‘d’,?‘e’,?‘f’,?
????????‘g’,?‘h’,?‘i’,?‘j’,?‘k’,?‘l’,?‘m’,?‘n’,?
????????‘o’,?‘p’,?‘q’,?‘r’,?‘s’,?‘t’,?‘u’,?‘v’,?
????????‘w’,?‘x’,?‘y’,?‘z’,?‘0’,?‘1’,?‘2’,?‘3’,?
????????‘4’,?‘5’,?‘6’,?‘7’,?‘8’,?‘9’,?‘+’,?‘/’?};?
?????
????public?static?String?base64Encode(byte[]?data)?{?
????????StringBuffer?sb?=?new?StringBuffer();?
????????int?len?=?data.length;?
????????int?i?=?0;?
????????int?b1,?b2,?b3;?
????????while?(i?<?len)?{? ????????????b1?=?data[i++]?&?0xff;? ????????????if?(i?==?len)? ????????????{? ????????????????sb.append(base64EncodeChars[b1?>>>?2]);?
????????????????sb.append(base64EncodeChars[(b1?&?0x3)?<<?4]);? ????????????????sb.append(“==”);? ????????????????break;? ????????????}? ????????????b2?=?data[i++]?&?0xff;? ????????????if?(i?==?len)? ????????????{? ????????????????sb.append(base64EncodeChars[b1?>>>?2]);?
????????????????sb.append(base64EncodeChars[((b1?&?0x03)?<<?4)?|?((b2?&?0xf0)?>>>?4)]);?
????????????????sb.append(base64EncodeChars[(b2?&?0x0f)?<<?2]);? ????????????????sb.append(“=”);? ????????????????break;? ????????????}? ????????????b3?=?data[i++]?&?0xff;? ????????????sb.append(base64EncodeChars[b1?>>>?2]);?
????????????sb.append(base64EncodeChars[((b1?&?0x03)?<<?4)?|?((b2?&?0xf0)?>>>?4)]);?
????????????sb.append(base64EncodeChars[((b2?&?0x0f)?<<?2)?|?((b3?&?0xc0)?>>>?6)]);?
????????????sb.append(base64EncodeChars[b3?&?0x3f]);?
????????}?
????????return?sb.toString();?
????}
}

相關(guān)文章

多多買菜收發(fā)快遞,拼多多布局快遞終端下的問題

近日,多多買菜快遞系統(tǒng)悄然進(jìn)入市場,部分省份已開始布局,旨在以燒錢補(bǔ)貼的形式吸引多多買菜的收貨點加盟,各快遞站采用多多買菜系統(tǒng)收發(fā)快遞。有些人驚訝地發(fā)

0 0 查看詳細(xì)
2026-01-17

RCEP的成立加快圓通國際市場布局,建立全面的跨

自今年1月1日起,區(qū)域綜合經(jīng)濟(jì)伙伴關(guān)系協(xié)議(RCEP)正式生效,占全球人口的一半,三分之一的亞洲經(jīng)濟(jì)迎來歷史機(jī)遇,進(jìn)一步促進(jìn)區(qū)域自由貿(mào)易,穩(wěn)定產(chǎn)業(yè)鏈供應(yīng)鏈,

0 0 查看詳細(xì)
2026-01-17

接軌國際,“快金數(shù)據(jù)”為信息安全保駕護(hù)航!

近日,“快金數(shù)據(jù)”獲得《信息安全管理體系》(ISO27001)認(rèn)證證書,意味著“快金數(shù)據(jù)”遵循國際標(biāo)準(zhǔn),建立了一整套科學(xué)有效的管理體系,有效保證企業(yè)在信息安全

0 0 查看詳細(xì)
2026-01-17

2022電商快遞小商圈+微物圈聯(lián)合搶占O2O生活服務(wù)

開工第一天,就收到一個驚天大事,截至2021年底,在O2O領(lǐng)域,網(wǎng)店配的風(fēng)潮可謂是愈刮愈勁,無論是快遞企業(yè)、實體商業(yè)還是商平臺,都為了搶占客戶資源加緊布局:3

0 0 查看詳細(xì)
2026-01-17

見證電商行業(yè)20年發(fā)展的笛佛,是如何助力企業(yè)實

隨著云計算與信息技術(shù)的融合,數(shù)字化轉(zhuǎn)型成為了推動傳統(tǒng)企業(yè)升級變革的重要力量,根據(jù)世界著名市場研究機(jī)構(gòu)IDC最近發(fā)布預(yù)測:到2022年,全球65%的GDP將由數(shù)字化

0 0 查看詳細(xì)
2026-01-17
關(guān)閉
關(guān)閉
關(guān)閉
right