• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            圓通快遞查詢單號(hào)查詢物流信息(圓通快遞查詢單號(hào)查詢物流信息網(wǎng))

            更新時(shí)間:2023-03-02 11:14:41 閱讀: 評(píng)論:0

            今天我們來(lái)聊如何利用快遞鳥提供的接口來(lái)查詢圓通快遞的物流軌跡。

            講解之前我們來(lái)看一下,接口完成以后的實(shí)際顯示效果

            以下是我調(diào)用快遞鳥接口獲得的中通物流軌跡信息,顯示的界面效果需要自己開發(fā):

            現(xiàn)在我們來(lái)聊一聊具體實(shí)現(xiàn)!

            首先我們準(zhǔn)備好需要用到的資源,

            測(cè)試商戶ID:

            test1617571

            測(cè)試API key:

            554343b2-7252-439b-b4eb-1af42c8f2175(此Key僅限測(cè)試環(huán)境使用)

            API測(cè)試地址:

            http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json

            我以C#開發(fā)為例來(lái)講解,

            如果還沒有注冊(cè)快遞鳥,或者還不知道如何獲取API Key,可以訪問這個(gè)騰訊視頻教程:

            https://v.qq.com/x/page/z3068yfw0fl.html(注冊(cè)登陸獲取快遞鳥API Key)

            接下來(lái),我們講解一下請(qǐng)求參數(shù)

            請(qǐng)求系統(tǒng)級(jí)參數(shù)說(shuō)明:

            備注:R-必填(Required),O-可選(Optional),C-報(bào)文中該參數(shù)在一定條件下可選(Conditional)

            這里提到了系統(tǒng)級(jí)參數(shù),也相當(dāng)于是公用參數(shù),這些參數(shù)是調(diào)用每個(gè)接口都是必須要傳參的。

            接口參數(shù):

            接口參數(shù),也叫業(yè)務(wù)參數(shù),請(qǐng)求的業(yè)務(wù)接口不同,參數(shù)的字段,內(nèi)容也不同,是跟著業(yè)務(wù)變化的,這里我們實(shí)現(xiàn)的是即時(shí)查詢接口,請(qǐng)求指令類型:1002,快遞鳥官網(wǎng)要求必須傳遞快遞公司編碼和物流單號(hào) ,圓通快遞的編碼是YTO

            如要查看其他快遞公司的編碼,點(diǎn)擊此鏈接:

            http://www.kdniao.com/documents

            正如我前面的軌跡截圖,圓通快遞的編碼是YTO,物流單號(hào)是78120038107849

            業(yè)務(wù)參數(shù)報(bào)文組合如下:

            {'OrderCode':'','ShipperCode':'YTO','LogisticCode':'YT4313813113511'}

            請(qǐng)求的完整報(bào)文(URL編碼以后):

            RequestData=%0d%0a++++++++++++%7b%27OrderCode%27%3a%27%27%2c%27ShipperCode%27%3a%27YTO%27%2c%27LogisticCode%27%3a%27YT4313813113511%27%7d%0d%0a++++++++&EBusinessID=1617571&RequestType=1002&DataSign=YjUxYzNlYTBiMjYwYjIzZjE4ZGQ4ZjgyYjJhNGRiZjQ%3d&DataType=2

            未編碼的請(qǐng)求報(bào)文:

            RequestData={'OrderCode':'','ShipperCode':'YTO','LogisticCode':'YT4313813113511'}

            &EBusinessID=1617571&RequestType=1002&DataSign=YjUxYzNlYTBiMjYwYjIzZjE4ZGQ4ZjgyYjJhNGRiZjQ=&DataType=2

            返回的報(bào)文信息:

            {

            "LogisticCode": "YT4313813113511",

            "ShipperCode": "YTO",

            "Traces": [{

            "AcceptStation": "【山東省青島市膠州市公司】 已收件 取件人: 張富強(qiáng) (18521137295)",

            "AcceptTime": "2019-12-29 18:15:41"

            }, {

            "AcceptStation": "【山東省青島市膠州市公司】 已打包",

            "AcceptTime": "2019-12-29 18:41:22"

            }, {

            "AcceptStation": "【山東省青島市膠州市】 已發(fā)出 下一站 【青島轉(zhuǎn)運(yùn)中心公司】",

            "AcceptTime": "2019-12-29 18:44:43"

            }, {

            "AcceptStation": "【青島轉(zhuǎn)運(yùn)中心公司】 已收入",

            "AcceptTime": "2019-12-29 19:40:51"

            }, {

            "AcceptStation": "【青島轉(zhuǎn)運(yùn)中心】 已發(fā)出 下一站 【深圳轉(zhuǎn)運(yùn)中心公司】",

            "AcceptTime": "2019-12-29 20:10:01"

            }, {

            "AcceptStation": "【深圳轉(zhuǎn)運(yùn)中心公司】 已收入",

            "AcceptTime": "2019-12-31 13:39:41"

            }, {

            "AcceptStation": "【深圳轉(zhuǎn)運(yùn)中心】 已發(fā)出 下一站 【廣東省深圳市寶安區(qū)機(jī)場(chǎng)公司】",

            "AcceptTime": "2019-12-31 14:04:58"

            }, {

            "AcceptStation": "【廣東省深圳市寶安區(qū)機(jī)場(chǎng)公司】 已收入",

            "AcceptTime": "2020-01-01 01:43:02"

            }, {

            "AcceptStation": "【廣東省深圳市寶安區(qū)機(jī)場(chǎng)公司】 派件中 派件人: 羅家寧 電話 13924819329 如有疑問,請(qǐng)聯(lián)系:0755-27393821",

            "AcceptTime": "2020-01-01 09:36:26"

            }, {

            "AcceptStation": "客戶簽收人: B5超人 已簽收 感謝使用圓通速遞,期待再次為您服務(wù) 如有疑問請(qǐng)聯(lián)系:13924819329,投訴電話:0755-27393821",

            "AcceptTime": "2020-01-02 12:52:32"

            }],

            "State": "3",

            "EBusinessID": "1617571",

            "Success": true

            } {

            "OrderCode": "012657018199",

            "ShipperCode": "STO",

            "PayType": 1,

            "MonthCode": "1234567890",

            "ExpType": 1,

            "Sender": {

            "Company": "LV",

            "Name": "Taylor",

            "Mobile": "15018442396",

            "ProvinceName": "上海",

            "CityName": "上海市",

            "ExpAreaName": "青浦區(qū)",

            "Address": "明珠路"

            },

            "Receiver": {

            "Company": "GCCUI",

            "Name": "Yann",

            "Mobile": "15018442396",

            "ProvinceName": "北京",

            "CityName": "北京市",

            "ExpAreaName": "朝陽(yáng)區(qū)",

            "Address": "三里屯街道"

            },

            "Commodity": [{

            "GoodsName": "鞋子",

            "Goodsquantity": 1,

            "GoodsWeight": 1

            }],

            "Weight": 1,

            "Quantity": 1,

            "Volume": 0,

            "Remark": "小心輕放"

            }

            C#關(guān)鍵代碼:

            /// <summary>

            /// 即時(shí)查詢物流軌跡

            /// </summary>

            /// <param name="url">http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json</param>

            /// <param name="eBusinessID">test1617571</param>

            /// <param name="appKey">554343b2-7252-439b-b4eb-1af42c8f2175</param>

            /// <param name="requestData">{'OrderCode':'','ShipperCode':'ZTO','LogisticCode':'78120038107849'}</param>

            /// <returns></returns>

            public string getOrderTracesByJson(string url,string eBusinessID, string appKey, string requestData)

            {

            Dictionary<string, string> param = new Dictionary<string, string>();

            param.Add("RequestData", HttpUtility.UrlEncode(requestData, Encoding.UTF8));

            param.Add("EBusinessID", eBusinessID);

            param.Add("RequestType", "1002");

            string dataSign = encrypt(requestData, appKey, "UTF-8");

            param.Add("DataSign", HttpUtility.UrlEncode(dataSign, Encoding.UTF8));

            param.Add("DataType", "2");

            string result = ndPost(url, param);

            return result;

            }

            /// <summary>

            /// Post方式提交數(shù)據(jù),返回網(wǎng)頁(yè)的源代碼

            /// </summary>

            /// <param name="url">發(fā)送請(qǐng)求的 URL</param>

            /// <param name="param">請(qǐng)求的參數(shù)集合</param>

            /// <returns>遠(yuǎn)程資源的響應(yīng)結(jié)果</returns>

            private string ndPost(string url, Dictionary<string, string> param)

            {

            string result = "";

            StringBuilder postData = new StringBuilder();

            if (param != null && param.Count > 0)

            {

            foreach (var p in param)

            {

            if (postData.Length > 0)

            {

            postData.Append("&");

            }

            postData.Append(p.Key);

            postData.Append("=");

            postData.Append(p.Value);

            }

            }

            // return postData.ToString();

            byte[] byteData = Encoding.GetEncoding("UTF-8").GetBytes(postData.ToString());

            try

            {

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            request.ContentType = "application/x-www-form-urlencoded";

            request.Referer = url;

            request.Accept = "*/*";

            request.Timeout = 30 * 1000;

            request.UrAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";

            request.Method = "POST";

            request.ContentLength = byteData.Length;

            Stream stream = request.GetRequestStream();

            stream.Write(byteData, 0, byteData.Length);

            stream.Flush();

            stream.Clo();

            HttpWebRespon respon = (HttpWebRespon)request.GetRespon();

            Stream backStream = respon.GetResponStream();

            StreamReader sr = new StreamReader(backStream, Encoding.GetEncoding("UTF-8"));

            result = sr.ReadToEnd();

            sr.Clo();

            backStream.Clo();

            respon.Clo();

            request.Abort();

            }

            catch (Exception ex)

            {

            result = ex.Message;

            }

            return result;

            }

            ///<summary>

            ///電商Sign簽名

            ///</summary>

            ///<param name="content">內(nèi)容</param>

            ///<param name="keyValue">Appkey</param>

            ///<param name="chart">URL編碼 </param>

            ///<returns>DataSign簽名</returns>

            private string encrypt(String content, String keyValue, String chart)

            {

            if (keyValue != null)

            {

            return ba64(MD5(content + keyValue, chart), chart);

            }

            return ba64(MD5(content, chart), chart);

            }

            ///<summary>

            /// 字符串MD5加密

            ///</summary>

            ///<param name="str">要加密的字符串</param>

            ///<param name="chart">編碼方式</param>

            ///<returns>密文</returns>

            private string MD5(string str, string chart)

            {

            byte[] buffer = System.Text.Encoding.GetEncoding(chart).GetBytes(str);

            try

            {

            System.Security.Cryptography.MD5CryptoServiceProvider check;

            check = new System.Security.Cryptography.MD5CryptoServiceProvider();

            byte[] somme = check.ComputeHash(buffer);

            string ret = "";

            foreach (byte a in somme)

            {

            if (a < 16)

            ret += "0" + a.ToString("X");

            el

            ret += a.ToString("X");

            }

            return ret.ToLower();

            }

            catch

            {

            throw;

            }

            }

            /// <summary>

            /// ba64編碼

            /// </summary>

            /// <param name="str">內(nèi)容</param>

            /// <param name="chart">編碼方式</param>

            /// <returns></returns>

            private string ba64(String str, String chart)

            {

            return Convert.ToBa64String(System.Text.Encoding.GetEncoding(chart).GetBytes(str));

            }

            附上詳細(xì)的接口文檔給大家:

            http://www.kdniao.com/documents

            本文發(fā)布于:2023-02-28 21:07:00,感謝您對(duì)本站的認(rèn)可!

            本文鏈接:http://m.newhan.cn/zhishi/a/1677726881103762.html

            版權(quán)聲明:本站內(nèi)容均來(lái)自互聯(lián)網(wǎng),僅供演示用,請(qǐng)勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除。

            本文word下載地址:圓通快遞查詢單號(hào)查詢物流信息(圓通快遞查詢單號(hào)查詢物流信息網(wǎng)).doc

            本文 PDF 下載地址:圓通快遞查詢單號(hào)查詢物流信息(圓通快遞查詢單號(hào)查詢物流信息網(wǎng)).pdf

            標(biāo)簽:圓通   單號(hào)   快遞   物流   信息網(wǎng)
            相關(guān)文章
            留言與評(píng)論(共有 0 條評(píng)論)
               
            驗(yàn)證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實(shí)用文體寫作網(wǎng)旗下知識(shí)大全大全欄目是一個(gè)全百科類寶庫(kù)! 優(yōu)秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 免费无遮挡毛片中文字幕| 国产精品剧情亚洲二区| 美女黄网站18禁免费看| 亚洲精品日韩在线观看| 免费无码肉片在线观看| 亚洲综合久久一区二区三区| 国产成人啪精品视频免费APP| 亚洲人午夜精品射精日韩| 91麻豆精品国产91久| 正在播放肥臀熟妇在线视频| 久久婷婷五月综合97色一本一本| 蜜桃mv在线播放免费观看视频| 免费国产a国产片高清网站| 999热在线精品观看全部| 亚洲韩欧美第25集完整版| 中文日韩在线一区二区| 欧美色99| 日本中文字幕不卡在线一区二区 | 无码人妻h动漫| 国产精品青草久久久久福利99| japanese成熟丰满熟妇| 欧美伊人色综合久久天天| 在线a级毛片无码免费真人| 熟女丝袜美腿亚洲一区二区三区| 黄色一级片一区二区三区| 久久88香港三级台湾三级播放| av天堂精品久久久久| 久久精品丝袜高跟鞋| 精品国产一区二区三区大| 青青草国产精品日韩欧美| 五月天天天综合精品无码| 亚欧洲乱码视频在线观看| 久久婷婷大香萑太香蕉AV人| 亚洲精品一区二区三区中文字幕 | 国产精品妇女一区二区三区| 在线精品一区二区三区视频| 免费A级毛片樱桃视频| 深田えいみ禁欲后被隔壁人妻| 国产成AV人片久青草影院| 精品精品国产国产自在线| 成年在线观看免费人视频 |