Free express bird number identification instant query API interface demo call

Time:2020-2-2

After docking on the e-commerce website or ERP system, you can only input the document number to query the logistics, without logistics code. It is realized through two interfaces, one is the express logistics query interface, and the other is the interface for the number identification

Interface provided by: Express bird

Interface name: instant query interface + doc No. identification interface

Writing language: C#
Docking process:
Free express bird number identification instant query API interface demo call
Application address of express bird account: http://www.kdniao.com/reg
Instant query API interface address: http://www.kdniao.com/api-track
You need to log in, apply for user ID and API key, and conduct real name authentication to open your own related express service
(the following question mark represents the interface ID and interface key, which can be queried after logging in the account)

Instant query interface 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
    {
        // electricity supplier ID
        private string EBusinessID = "??????";
        //E-commerce encrypts private key, take care of it and do not disclose it
        private string AppKey = "??????";
        // request URL
        private string ReqURL ="http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx";
 
        /// <summary>
        ///Querying order logistics track by JSON method
        /// </summary>
        /// <returns></returns>
        public string getOrderTracesByJson()
        {
            string requestData ="{'OrderCode':'','ShipperCode':'SF','LogisticCode':'589707398027'}";
 
            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 = sendPost(ReqURL,param);
 
            //Information returned according to the company's business processing
 
            return result;
        }
 
        /// <summary>
        ///Submit data in post mode and return the source code of the web page
        /// </summary>
        ///< param name = "URL" > the URL to send the request < / param >
        ///< paramname = "param" > parameter set of request < / param >
        ///< returns > response results of remote resources < / returns >
        private string sendPost(string url,Dictionary<string, string> 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;
        }
 
        ///<summary>
        ///Signature of e-commerce sign
        ///</summary>
        ///< paramname = "content" > content < / param >
        ///<paramname="keyValue">Appkey</param>
        ///< paramname = "charset" > URL encoding < / param >
        ///< returns > datasign signature < / returns >
        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);
        }
 
        ///<summary>
        ///String MD5 encryption
        ///</summary>
        ///< param name = "STR" > string to encrypt < / param >
        ///< param name = "charset" > encoding method < / param >
        ///< returns > ciphertext < / returns >
        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;
            }
        }
 
        /// <summary>
        ///Base64 encoding
        /// </summary>
        ///< param name = "STR" > content < / param >
        ///< paramname = "charset" > encoding method < / param >
        /// <returns></returns>
        private string base64(String str,String charset)
        {
            returnConvert.ToBase64String(System.Text.Encoding.GetEncoding(charset).GetBytes(str));
        }
    }
}

Number identification query 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
    {
        // electricity supplier ID
        private string EBusinessID = "??????";
        //E-commerce encrypts private key, take care of it and do not disclose it
        private string AppKey = "???????";
        // request URL
        //Test environment
        private string ReqURL ="http://testapi.kdniao.cc:8081/Ebusiness/EbusinessOrderHandle.aspx";
        //Formal environment
        //private string ReqURL ="http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx";
 
        /// <summary>
        ///Identification of number in JSON mode
        /// </summary>
        /// <returns></returns>
        public string orderTracesSubByJson()
        {
            string requestData = "{'LogisticCode':'3967950525457'}";
 
            Dictionary<string, string>param = new Dictionary<string, string>();
            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);
 
            //Information returned according to the company's business processing
 
            return result;
        }
 
        /// <summary>
        ///Submit data in post mode and return the source code of the web page
        /// </summary>
        ///< param name = "URL" > the URL to send the request < / param >
        ///< paramname = "param" > parameter set of request < / param >
        ///< returns > response results of remote resources < / returns >
        private string sendPost(string url,Dictionary<string, string> 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;
        }
 
        ///<summary>
        ///Signature of e-commerce sign
        ///</summary>
        ///< paramname = "content" > content < / param >
        ///<paramname="keyValue">Appkey</param>
        ///< paramname = "charset" > URL encoding < / param >
        ///< returns > datasign signature < / returns >
        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);
        }
 
        ///<summary>
        ///String MD5 encryption
        ///</summary>
        ///< param name = "STR" > string to encrypt < / param >
        ///< paramname = "charset" > encoding method < / param >
        ///< returns > ciphertext < / returns >
        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;
            }
        }
 
        /// <summary>
        ///Base64 encoding
        /// </summary>
        ///< param name = "STR" > content < / param >
        ///< paramname = "charset" > encoding method < / param >
        /// <returns></returns>
        private string base64(String str,String charset)
        {
            returnConvert.ToBase64String(System.Text.Encoding.GetEncoding(charset).GetBytes(str));
        }
    }
}

Recommended Today

Detailed explanation of back propagation algorithm

By great learning team neural network What is back propagation? How does back propagation work? loss function Why do we need back propagation? Feedforward network Types of back propagation case study In typical programming, we input data, execute processing logic, and receive output. What if the output data can affect the processing logic in some […]