• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • 順豐快遞單號查詢API接口demo免費對接【快遞鳥API】

    順豐目前提供了兩種對接方式: 

    一種是開發者自助對接,需要注冊豐橋賬戶后,申請成為開發者,然后上傳電子面單等操作,較為繁瑣;

     還有一種方式就是這里要重點介紹的,第三方軟件對接(例如快遞鳥),對接起來非常方便。


    物流軌跡查詢-使用的物流單號和快遞單號即可實現查詢物流信息。 對接在電商網站或ERP系統上后,僅輸入單號就可以查詢物流,不需要物流編碼。是通過兩個接口實現的,一個是快遞物流查詢接口,一個是單號識別的接口

    接口提供:快遞鳥

    接口名稱:即時查詢接口+單號識別接口

    編寫語言:C#

    順豐快遞單號接口通過快遞鳥接口對接簡單方便,順豐速運快遞查詢接口API和電子面單接口可以通過快遞鳥對接,通過順豐單號和手機號后四位查詢軌跡信息,如果是通過快遞鳥下單獲得的順豐單號,可通過單號直接查詢,具體下載快遞鳥接口技術文檔查看接口說明。

    即時查詢接口demo:

    
    using System;
    usingSystem.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Web;
    using System.Net;
    using System.IO;
     
    namespace KdGoldAPI
    {
        public class KdApiSearchDemo
        {
            //電商ID
            private string EBusinessID = "??????";
            //電商加密私鑰,注意保管,不要泄漏
            private string AppKey = "??????";
            //請求url
            private string ReqURL ="http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx";
     
            /// 
            /// Json方式 查詢訂單物流軌跡
            /// 
            /// 
            public string getOrderTracesByJson()
            {
                string requestData ="{'OrderCode':'','ShipperCode':'SF','LogisticCode':'589707398027'}";
     
                Dictionaryparam = new Dictionary();
                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 = sendPost(ReqURL,param);
     
                //根據公司業務處理返回的信息......
     
                return result;
            }
     
            /// 
            /// Post方式提交數據,返回網頁的源代碼
            /// 
            /// 發送請求的 URL
            /// 請求的參數集合
            /// 遠程資源的響應結果
            private string sendPost(string url,Dictionary param)
            {
                string result = "";
                StringBuilder postData = newStringBuilder();
                if (param != null &¶m.Count > 0)
                {
                    foreach (var p in param)
                    {
                        if (postData.Length > 0)
                        {
                            postData.Append("&");
                        }
                        postData.Append(p.Key);
                       postData.Append("=");
                        postData.Append(p.Value);
                    }
                }
                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.UserAgent ="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 
    3.0.4506.2152; .NET CLR3.5.30729)";
                    request.Method ="POST";
                    request.ContentLength =byteData.Length;
                    Stream stream =request.GetRequestStream();
                    stream.Write(byteData, 0,byteData.Length);
                    stream.Flush();
                    stream.Close();
                    HttpWebResponse response =(HttpWebResponse)request.GetResponse();
                    Stream backStream =response.GetResponseStream();
                    StreamReader sr = newStreamReader(backStream, Encoding.GetEncoding("UTF-8"));
                    result = sr.ReadToEnd();
                    sr.Close();
                    backStream.Close();
                    response.Close();
                    request.Abort();
                }
                catch (Exception ex)
                {
                    result = ex.Message;
                }
                return result;
            }
     
            ///
            ///電商Sign簽名
            ///
            ///內容
            ///Appkey
            ///URL編碼
            ///DataSign簽名
            private string encrypt(String content,String keyValue, String charset)
            {
                if (keyValue != null)
                {
                    return base64(MD5(content +keyValue, charset), charset);
                }
                return base64(MD5(content,charset), charset);
            }
     
            ///
            /// 字符串MD5加密
            ///
            ///要加密的字符串
            ///編碼方式
            ///密文
            private string MD5(string str, stringcharset)
            {
                byte[] buffer =System.Text.Encoding.GetEncoding(charset).GetBytes(str);
                try
                {
                    System.Security.Cryptography.MD5CryptoServiceProvidercheck;
                    check = newSystem.Security.Cryptography.MD5CryptoServiceProvider();
                    byte[] somme =check.ComputeHash(buffer);
                    string ret = "";
                    foreach (byte a in somme)
                    {
                        if (a < 16)
                            ret += "0" +a.ToString("X");
                        else
                            ret +=a.ToString("X");
                    }
                    return ret.ToLower();
                }
                catch
                {
                    throw;
                }
            }
     
            /// 
            /// base64編碼
            /// 
            /// 內容
            /// 編碼方式
            /// 
            private string base64(String str,String charset)
            {
                returnConvert.ToBase64String(System.Text.Encoding.GetEncoding(charset).GetBytes(str));
            }
        }
    }
    

    單號識別接口demo:

    
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Net;
    using System.Text;
    using System.Web;
     
    namespace KdGoldAPI
    {
        public class KdApiOrderDistinguish
        {
            //電商ID
            private string EBusinessID = "??????";
            //電商加密私鑰,注意保管,不要泄漏
            private string AppKey = "???????";
            //請求url
            //測試環境
            private string ReqURL ="http://testapi.kdniao.cc:8081/Ebusiness/EbusinessOrderHandle.aspx";
            //正式環境
            //private string ReqURL ="http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx";
     
            /// 
            /// Json方式  單號識別
            /// 
            /// 
            public string orderTracesSubByJson()
            {
                string requestData = "{'LogisticCode':'3967950525457'}";
     
                Dictionaryparam = new Dictionary();
                param.Add("RequestData",HttpUtility.UrlEncode(requestData, Encoding.UTF8));
                param.Add("EBusinessID",EBusinessID);
                param.Add("RequestType","2002");
                string dataSign =encrypt(requestData, AppKey, "UTF-8");
                param.Add("DataSign",HttpUtility.UrlEncode(dataSign, Encoding.UTF8));
                param.Add("DataType","2");
     
                string result = sendPost(ReqURL,param);
     
                //根據公司業務處理返回的信息......
     
                return result;
            }
     
            /// 
            /// Post方式提交數據,返回網頁的源代碼
            /// 
            /// 發送請求的 URL
            /// 請求的參數集合
            /// 遠程資源的響應結果
            private string sendPost(string url,Dictionary param)
            {
                string result = "";
                StringBuilder postData = newStringBuilder();
                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);
                    }
                }
                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.UserAgent ="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR3.5.30729)";
                    request.Method ="POST";
                    request.ContentLength =byteData.Length;
                    Stream stream =request.GetRequestStream();
                    stream.Write(byteData, 0,byteData.Length);
                    stream.Flush();
                    stream.Close();
                    HttpWebResponse response =(HttpWebResponse)request.GetResponse();
                    Stream backStream =response.GetResponseStream();
                    StreamReader sr = newStreamReader(backStream, Encoding.GetEncoding("UTF-8"));
                    result = sr.ReadToEnd();
                    sr.Close();
                    backStream.Close();
                    response.Close();
                    request.Abort();
                }
                catch (Exception ex)
                {
                    result = ex.Message;
                }
                return result;
            }
     
            ///
            ///電商Sign簽名
            ///
            ///內容
            ///Appkey
            ///URL編碼
            ///DataSign簽名
            private string encrypt(String content,String keyValue, String charset)
            {
                if (keyValue != null)
                {
                    return base64(MD5(content +keyValue, charset), charset);
                }
                return base64(MD5(content,charset), charset);
            }
     
            ///
            /// 字符串MD5加密
            ///
            ///要加密的字符串
            ///編碼方式
            ///密文
            private string MD5(string str, stringcharset)
            {
                byte[] buffer =System.Text.Encoding.GetEncoding(charset).GetBytes(str);
                try
                {
                   System.Security.Cryptography.MD5CryptoServiceProvider check;
                    check = newSystem.Security.Cryptography.MD5CryptoServiceProvider();
                    byte[] somme =check.ComputeHash(buffer);
                    string ret = "";
                    foreach (byte a in somme)
                    {
                        if (a < 16)
                            ret += "0" +a.ToString("X");
                        else
                            ret +=a.ToString("X");
                    }
                    return ret.ToLower();
                }
                catch
                {
                    throw;
                }
            }
     
            /// 
            /// base64編碼
            /// 
            /// 內容
            /// 編碼方式
            /// 
            private string base64(String str,String charset)
            {
                returnConvert.ToBase64String(System.Text.Encoding.GetEncoding(charset).GetBytes(str));
            }
        }
    }
    


    來自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/69945342/viewspace-2653697/,如需轉載,請注明出處,否則將追究法律責任。

    轉載于:http://blog.itpub.net/69945342/viewspace-2653697/

    版權聲明:本文為cuanhouhuai4548原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/cuanhouhuai4548/article/details/100489896

    智能推薦

    統計學習方法 - 樸素貝葉斯

    引入問題:一機器在良好狀態生產合格產品幾率是 90%,在故障狀態生產合格產品幾率是 30%,機器良好的概率是 75%。若一日第一件產品是合格品,那么此日機器良好的概率是多少。 貝葉斯模型 生成模型與判別模型 判別模型,即要判斷這個東西到底是哪一類,也就是要求y,那就用給定的x去預測。 生成模型,是要生成一個模型,那就是誰根據什么生成了模型,誰就是類別y,根據的內容就是x 以上述例子,判斷一個生產出...

    styled-components —— React 中的 CSS 最佳實踐

    https://zhuanlan.zhihu.com/p/29344146 Styled-components 是目前 React 樣式方案中最受關注的一種,它既具備了 css-in-js 的模塊化與參數化優點,又完全使用CSS的書寫習慣,不會引起額外的學習成本。本文是 styled-components 作者之一 Max Stoiber 所寫,首先總結了前端組件化樣式中的最佳實踐原則,然后在此基...

    基于TCP/IP的網絡聊天室用Java來實現

    基于TCP/IP的網絡聊天室實現 開發工具:eclipse 開發環境:jdk1.8 發送端 接收端 工具類 運行截圖...

    19.vue中封裝echarts組件

    19.vue中封裝echarts組件 1.效果圖 2.echarts組件 3.使用組件 按照組件格式整理好數據格式 傳入組件 home.vue 4.接口返回數據格式...

    劍指Offer39-調整數組順序使奇數位于偶數前面

    一開始想著用冒泡排序的方法來做,但是bug還是很多,后來看了評論區答案,發現直接空間換時間是最簡單的,而且和快排的寫法是類似的。...

    猜你喜歡

    【一只蒟蒻的刷題歷程】【藍橋杯】歷屆試題 九宮重排 (八數碼問題:BFS+集合set)

    資源限制 時間限制:1.0s 內存限制:256.0MB 問題描述 如下面第一個圖的九宮格中,放著 1~8 的數字卡片,還有一個格子空著。與空格子相鄰的格子中的卡片可以移動到空格中。經過若干次移動,可以形成第二個圖所示的局面。 我們把第一個圖的局面記為:12345678. 把第二個圖的局面記為:123.46758 顯然是按從上到下,從左到右的順序記錄數字,空格記為句點。 本題目的任務是已知九宮的初態...

    dataV組件容器寬高發生變化后,組件不會自適應解決方法

    項目中需要大屏幕數據展示,于是使用了dataV組件,但是使用是發現拖動瀏覽器邊框,dataV組件顯示異常,如圖: 于是查了官網,官網的解釋如下:   于是按照官網的意思編寫代碼: 于是可以自適應了...

    CSS3干貨10:如何做一個板塊標題水平線左邊帶顏色效果

    很多網站在設計欄目標題的時候,喜歡用下劃線分開欄目標題和內容部分。 而且線條左邊的部分往往還有顏色,且這個顏色跟標題的文字長短保持一致。效果如圖所示: 這種效果其實很簡單。 我這里給大家推薦兩種方式: 假定我們的標題部分 HTML 結構如下: 方式一:利用下邊框。灰色部分是 h1 的下邊框,藍色部分是 span 標簽的下邊框。 h1 的高度為 40px,span 也設置它的高度為 40px。這樣,...

    拜師————python基礎入門——程序的構成,對象,引用,棧內存和堆內存,標識符命名規則——day4

    第九節課:任務9:009.程序的構成 Python程序的構成,一個程序是由什么構成的 1.python程序由模塊組成 , 一個模塊對應一個python源文件,(文件后綴名.py) 2.模塊由語句構成 運行程序時,安裝模塊中語句的順序依次執行。 代碼的組織和縮進 “龜叔”在設計python時,直接通過縮進來組織代碼 縮進時,幾個空格都是允許的,但是空格數必須統一,我們通常用四...

    spark 總結 算子篇

    1、創建工程 在這里添加 spark core包,添加bulid 插件。 算子總結 map 算子 主要是做數據結構的轉換,數據條數不變。 mapPartitions(func) 對分區數據進行轉換。將某一個分區的所有數據拿過來形成一個可迭代的集合要求 返回可迭代的集合。提高效率會使用它。 應用場景: 只對分區內數據進行數據。缺點是不釋放,可能導致oom。 當內存空間較大的時候建議使用 mapPar...

    精品国产乱码久久久久久蜜桃不卡