极兔速递电子面单-快递API接口开发

目录

1.完成前期准备工作

2.API接口

3.请求完整报文(示例)

4.成功返回报文(示例)

5.失败返回报文(示例)

6.分步讲解(C#版本)

前言

J&T 极兔速递是一家科技创新型互联网快递物流企业,致力于为用户带来优质的快递和物流体验。2015年8月由印尼首都雅加达作为起点,进入快递物流市场,目前覆盖了印度尼西亚、越南、马来西亚、泰国、菲律宾、柬埔寨及新加坡七个国家,成为东南亚超过5.5亿人口信赖的综合性物流服务商。

电子面单模板效果图:

1.完成前期准备工作

1.1,去快递鸟免费注册一个对接账号

1.2,免费获得一个apiKey(接口权限验证需要)

1.3,完成实名认证流程

1.4,订购一个免费套餐

1.5,准备打印机、打印纸

打印机:

电子面单模板对打印机品牌、型号等没有要求,只要是热敏打印机即可,常见品牌如:斑马、得力、快麦、汉印、佳博等。

打印机可由快递网点提供或者在淘宝京东上购买,

安装打印机及驱动程序联系打印机提供方;

打印纸:

打印纸可由快递网点提供或者在淘宝京东上购买,购买时可选择全白热敏 纸。

2.API接口

2.1,测试调用地址:http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json

2.2,正式调用地址:http://api.kdniao.com/api/EOrderService

2.3,请求方式:POST

2.4,编码格式(utf-8):application/x-www-form-urlencoded;charset=utf-8

2.5,返回类型:JSON

2.6,调试页面:http://kdniao.com/UserCenter/v2/SandBox/TrackQuery.aspx

2.7,调试工具:去调试(使用快递鸟账号登录)

3.请求报文(示例)

{

"PayType": 1,

"CustomerName": "J0086030000",

"CustomerPwd": "Jt888888",

"ExpType": 1,

"ShipperCode": "JTSD",

"OrderCode": "300008886539888",

"IsNotice": 1,

"IsReturnPrintTemplate": 1,

"Commodity": [

{

"GoodsName": "其他",

"Goodsquantity": 1,

"GoodsWeight": 0

}

],

"Sender": {

"Name": "王宝剑",

"Mobile": "13988888888",

"ProvinceName": "北京市",

"CityName": "北京市",

"ExpAreaName": "西城区",

"Address": "北京市西城区西直门南小街国英1号1020"

},

"Receiver": {

"Name": "刘小刀",

"Mobile": "18809999999",

"ProvinceName": "广东省",

"CityName": "深圳市",

"ExpAreaName": "福田区",

"Address": "广东省深圳市福田区华宝一号大厦"

}

}

4.成功返回报文(示例)

{Order={LogisticCode=JT0000131754417, PackageName=180 600-01 001, OrderCode=300008886539888,

KDNOrderCode=KDN2005141650003168, SortingCode=180 600-01 001}, PrintTemplate=打印html内容,

EBusinessID=1237100,UniquerRequestNumber=f3ba8bf3-cb4c-4f06-8aee-7fba1e0e8376, ResultCode=100, Reason=成功, Success=true}

6.分步讲解(C#版本)

6.1,请求数据包结构

6.2,C#调用代码示例

技术支持:QQ:510997342

//电商ID

string eEBusinessID = "test1617571";

//电商加密私钥,快递鸟提供,注意保管,不要泄漏

string appKey= "554343b2-7252-439b-b4eb-1af42c8f2175";

//请求url

string reqURL = "http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json";

//请求指令

string reqType="1007";

//2-json

string dataType = "2";

//字符编码采用UTF-8

string charset = "UTF-8"; //JSON字符串string string jsonStr = "json请求报文示例" ;

6.3,C#调用方法

///

    /// 字符串MD5加密

    ///

    ///要加密的字符串

    ///编码方式

    ///密文

    private string MD5(string str, string charset)

    {

        byte[] buffer = System.Text.Encoding.GetEncoding(charset).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"); else ret += a.ToString("X"); } return ret.ToLower(); } catch { throw; } } ///

/// base64编码 /// /// 内容 /// 编码方式 /// private string base64(String str, String charset) { return Convert.ToBase64String(System.Text.Encoding.GetEncoding(charset).GetBytes(str)); } /// /// Post方式提交数据,返回网页的源代码 /// /// 发送请求的 URL /// 请求报文参数 /// 远程资源的响应结果 private string SendPost(string url, string postData) { string result = ""; 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 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.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream backStream = response.GetResponseStream(); StreamReader sr = new StreamReader(backStream, Encoding.GetEncoding("UTF-8")); result = sr.ReadToEnd(); sr.Close(); backStream.Close(); response.Close(); request.Abort(); } catch (Exception ex) { result = ex.ToString(); } return result; }

你可能感兴趣的:(极兔速递电子面单-快递API接口开发)