收藏 分享(赏)

常用快递API接口方案.doc

上传人:精品资料 文档编号:9949776 上传时间:2019-09-22 格式:DOC 页数:21 大小:27.46KB
下载 相关 举报
常用快递API接口方案.doc_第1页
第1页 / 共21页
常用快递API接口方案.doc_第2页
第2页 / 共21页
常用快递API接口方案.doc_第3页
第3页 / 共21页
常用快递API接口方案.doc_第4页
第4页 / 共21页
常用快递API接口方案.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、常用快递 API 接口方案电商企业从接收订单-配货- 打印快递单到后期的快递员收件-快递配送-轨迹查询- 签收短信通知等,都需要快递接口的接入。整理目前较为常见的接口 demo 如下:对接流程:快递鸟网站申请接口对接联调测试上线预约取件-在线预约寄件import java.io.BufferedReader;import java.io.IOException; import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.UnsupportedEncodingException;import

2、 .HttpURLConnection;import .URL;import .URLEncoder;import java.util.HashMap;import java.util.Map;import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;import java.security.MessageDigest; public class KdGoldAPIDemo /电商 IDprivate String EBusinessID=“申请“;/电商加密私钥,注意保管,不要泄漏private String AppKey=“

3、申请“;/测试请求 urlprivate string ReqURL = “http:/testapi.kdniao.cc:8081/api/oorderservice“;/正式请求 url/private string ReqURL = “http:/api.kdniao.cc/api/OOrderService“;/* Json 方式 在线下单* throws Exception */public String orderOnlineByJson() throws ExceptionString requestData= “OrderCode: 012657700312,“ +“Shipp

4、erCode:YTO,“ +“PayType:1,“ +“ExpType:1,“ +“Cost:1.0,“ +“OtherCost:1.0,“ +“Sender:“ +“ +“Company:LV,Name:Taylor,Mobile:15018442396,ProvinceName:上海,CityName:上海,ExpAreaName:青浦区,Address:明珠路 73 号,“ +“Receiver:“ +“ +“Company:GCCUI,Name:Yann,Mobile:15018442396,ProvinceName:北京,CityName:北京,ExpAreaName:朝阳区,Ad

5、dress:三里屯街道雅秀大厦,“ +“Commodity:“ +“ +“GoodsName:鞋子,Goodsquantity:1,GoodsWeight:1.0,“ +“AddService:“ +“ +“Name:COD,Value:1020,“ +“Weight:1.0,“ +“Quantity:1,“ +“Volume:0.0,“ +“Remark:小心轻放,“ +“Commodity:“ +“ +“GoodsName:鞋子,“ +“Goodsquantity:1,“ +“GoodsWeight:1.0“ +“;Map params = new HashMap();params.put

6、(“RequestData“, urlEncoder(requestData, “UTF-8“);params.put(“EBusinessID“, EBusinessID);params.put(“RequestType“, “1001“);String dataSign=encrypt(requestData, AppKey, “UTF-8“);params.put(“DataSign“, urlEncoder(dataSign, “UTF-8“);params.put(“DataType“, “2“);String result=sendPost(ReqURL, params);/根据公

7、司业务处理返回的信息return result;/* MD5 加密* param str 内容 * 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();StringBuffe

8、r sb = new StringBuffer(32);for (int i = 0; i params) OutputStreamWriter out = null;BufferedReader in = null; StringBuilder result = new StringBuilder(); try URL realUrl = new URL(url);HttpURLConnection conn =(HttpURLConnection) realUrl.openConnection();/ 发送 POST 请求必须设置如下两行conn.setDoOutput(true);con

9、n.setDoInput(true);/ POST 方法conn.setRequestMethod(“POST“);/ 设置通用的请求属性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“, “ap

10、plication/x-www-form-urlencoded“);conn.connect();/ 获取 URLConnection 对象对应的输出流out = new OutputStreamWriter(conn.getOutputStream(), “UTF-8“);/ 发送请求参数 if (params != null) StringBuilder param = new StringBuilder(); for (Map.Entry entry : params.entrySet() if(param.length()0)param.append(“ param.append(en

11、try.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 的响应in = new BufferedReader(new InputStreamReader(conn.

12、getInputStream(), “UTF-8“);String line;while (line = in.readLine() != null) result.append(line); catch (Exception e) e.printStackTrace();/使用 finally 块来关闭输出流、输入流finallytryif(out!=null)out.close();if(in!=null)in.close();catch(IOException ex)ex.printStackTrace();return result.toString();电子面单打印import ja

13、va.io.BufferedReader;import java.io.IOException; import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.UnsupportedEncodingException;import .HttpURLConnection;import .URL;import .URLEncoder;import java.util.HashMap;import java.util.Map;import com.sun.org.apache.xerces.inte

14、rnal.impl.dv.util.Base64;import java.security.MessageDigest; public class KdGoldAPIDemo /电商 IDprivate String EBusinessID=“申请“;/电商加密私钥,注意保管,不要泄漏private String AppKey=“申请“;/请求 url, 正式环境地址:http:/api.kdniao.cc/api/Eorderservice 测试环境地址:http:/testapi.kdniao.cc:8081/api/EOrderServiceprivate String ReqURL=“

15、http:/testapi.kdniao.cc:8081/api/Eorderservice“;/* Json 方式 电子面单* throws Exception */public String orderOnlineByJson() throws ExceptionString requestData= “OrderCode: 012657700387,“ +“ShipperCode:SF,“ +“PayType:1,“ +“ExpType:1,“ +“Cost:1.0,“ +“OtherCost:1.0,“ +“Sender:“ +“ +“Company:LV,Name:Taylor,Mo

16、bile:15018442396,ProvinceName:上海,CityName: 上海,ExpAreaName: 青浦区,Address: 明珠路 73 号,“ +“Receiver:“ +“ +“Company:GCCUI,Name:Yann,Mobile:15018442396,ProvinceName:北京,CityName: 北京,ExpAreaName: 朝阳区,Address: 三里屯街道雅秀大厦,“ +“Commodity:“ +“ +“GoodsName:鞋子,Goodsquantity:1,GoodsWeight:1.0,“ +“Weight:1.0,“ +“Quanti

17、ty:1,“ +“Volume:0.0,“ +“Remark:小心轻放,“ +“IsReturnPrintTemplate:1“;Map params = new HashMap();params.put(“RequestData“, urlEncoder(requestData, “UTF-8“);params.put(“EBusinessID“, EBusinessID);params.put(“RequestType“, “1007“);String dataSign=encrypt(requestData, AppKey, “UTF-8“);params.put(“DataSign“,

18、 urlEncoder(dataSign, “UTF-8“);params.put(“DataType“, “2“);String result=sendPost(ReqURL, params);/根据公司业务处理返回的信息return result;/* MD5 加密* param str 内容 * param charset 编码方式* throws Exception */SuppressWarnings(“unused“)private String MD5(String str, String charset) throws Exception MessageDigest md =

19、MessageDigest.getInstance(“MD5“);md.update(str.getBytes(charset);byte result = md.digest();StringBuffer sb = new StringBuffer(32);for (int i = 0; i params) OutputStreamWriter out = null;BufferedReader in = null; StringBuilder result = new StringBuilder(); try URL realUrl = new URL(url);HttpURLConnec

20、tion conn =(HttpURLConnection) realUrl.openConnection();/ 发送 POST 请求必须设置如下两行conn.setDoOutput(true);conn.setDoInput(true);/ POST 方法conn.setRequestMethod(“POST“);/ 设置通用的请求属性conn.setRequestProperty(“accept“, “*/*“);conn.setRequestProperty(“connection“, “Keep-Alive“);conn.setRequestProperty(“user-agent“

21、,“Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)“);conn.setRequestProperty(“Content-Type“, “application/x-www-form-urlencoded“);conn.connect();/ 获取 URLConnection 对象对应的输出流out = new OutputStreamWriter(conn.getOutputStream(), “UTF-8“);/ 发送请求参数 if (params != null) StringBuilder param = new Strin

22、gBuilder(); 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 输

23、出流的缓冲out.flush();/ 定义 BufferedReader 输入流来读取 URL 的响应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 块来关闭输出流、输入流finallytryif(out!=null)out.close();if(

24、in!=null)in.close();catch(IOException ex)ex.printStackTrace();return result.toString();快递查询(小量)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.UnsupportedEncodingException;import .HttpURLConnection;import .URL

25、;import .URLEncoder;import java.security.MessageDigest;import java.util.HashMap;import java.util.Map; public class KdniaoTrackQueryAPI /DEMOpublic static void main(String args) KdniaoTrackQueryAPI api = new KdniaoTrackQueryAPI();try String result = api.getOrderTracesByJson(“ANE“, “210001633605“);Sys

26、tem.out.print(result); catch (Exception e) e.printStackTrace();/电商 IDprivate String EBusinessID=“申请“;/电商加密私钥,注意保管,不要泄漏private String AppKey=“申请“;/请求 urlprivate String ReqURL=“http:/api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx“;/* Json 方式 查询订单物流轨迹* throws Exception */public String getOrderTraces

27、ByJson(String expCode, String expNo) throws ExceptionString 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“);S

28、tring dataSign=encrypt(requestData, AppKey, “UTF-8“);params.put(“DataSign“, urlEncoder(dataSign, “UTF-8“);params.put(“DataType“, “2“);String result=sendPost(ReqURL, params);/根据公司业务处理返回的信息return result;/* MD5 加密* param str 内容 * param charset 编码方式* throws Exception */SuppressWarnings(“unused“)private

29、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 params) OutputStreamWriter out = null;BufferedReader in = null; StringBuilder

30、 result = new StringBuilder(); try URL realUrl = new URL(url);HttpURLConnection conn =(HttpURLConnection) realUrl.openConnection();/ 发送 POST 请求必须设置如下两行conn.setDoOutput(true);conn.setDoInput(true);/ POST 方法conn.setRequestMethod(“POST“);/ 设置通用的请求属性conn.setRequestProperty(“accept“, “*/*“);conn.setReque

31、stProperty(“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 对象对应的输出流out = new OutputStreamWriter(conn.getOutputStre

32、am(), “UTF-8“);/ 发送请求参数 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();/Syst

33、em.out.println(“param:“+param.toString();out.write(param.toString();/ flush 输出流的缓冲out.flush();/ 定义 BufferedReader 输入流来读取 URL 的响应in = new BufferedReader(new InputStreamReader(conn.getInputStream(), “UTF-8“);String line;while (line = in.readLine() != null) result.append(line); catch (Exception e) e.pr

34、intStackTrace();/使用 finally 块来关闭输出流、输入流finallytryif(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,

35、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 2); sb.append(base64EncodeChars(b1 sb.append(base64E

36、ncodeChars(b1 sb.append(base64EncodeChars(b2 sb.append(base64EncodeChars(b1 sb.append(base64EncodeChars(b2 sb.append(base64EncodeCharsb3 return sb.toString(); 快递查询(日查询500)import java.io.BufferedReader;import java.io.IOException; import java.io.InputStreamReader;import java.io.OutputStreamWriter;impo

37、rt java.io.UnsupportedEncodingException;import .HttpURLConnection;import .URL;import .URLEncoder;import java.util.HashMap;import java.util.Map;import java.security.MessageDigest; /* 快递鸟订阅推送 2.0 接口* 技术 QQ: 4009633321* 技术 QQ 群 : 200121393* see: http:/ copyright: 深圳市快金数据技术服务有限公司* * ID 和 Key 请到官网申请:http

38、:/ class KdniaoSubscribeAPI /DEMOpublic static void main(String args) KdniaoSubscribeAPI api = new KdniaoSubscribeAPI();try String result = api.orderTracesSubByJson();System.out.print(result); catch (Exception e) e.printStackTrace();/电商 IDprivate String EBusinessID=“申请“;/电商加密私钥,注意保管,不要泄漏private Stri

39、ng AppKey=“申请“;/测试请求 urlprivate String ReqURL = “http:/testapi.kdniao.cc:8081/api/dist“;/正式请求 url/private String ReqURL = “http:/api.kdniao.cc/api/dist“;/* Json 方式 物流信息订阅* throws Exception */public String orderTracesSubByJson() throws ExceptionString requestData=“OrderCode: SF201608081055208281,“ +“

40、ShipperCode:SF,“ +“LogisticCode:3100707578976,“ +“PayType:1,“ +“ExpType:1,“ +“CustomerName:,“+“CustomerPwd:,“ +“MonthCode:,“ +“IsNotice:0,“ +“Cost:1.0,“ +“OtherCost:1.0,“ +“Sender:“ +“ +“Company:LV,Name:Taylor,Mobile:15018442396,ProvinceName:上海,CityName:上海,ExpAreaName:青浦区,Address:明珠路 73 号,“ +“Receiv

41、er:“ +“ +“Company:GCCUI,Name:Yann,Mobile:15018442396,ProvinceName:北京,CityName:北京,ExpAreaName:朝阳区,Address:三里屯街道雅秀大厦,“ +“Commodity:“ +“ +“GoodsName:鞋子,Goodsquantity:1,GoodsWeight:1.0,“ +“Weight:1.0,“ +“Quantity:1,“ +“Volume:0.0,“ +“Remark:小心轻放“;Map params = new HashMap();params.put(“RequestData“, urlE

42、ncoder(requestData, “UTF-8“);params.put(“EBusinessID“, EBusinessID);params.put(“RequestType“, “1008“);String dataSign=encrypt(requestData, AppKey, “UTF-8“);params.put(“DataSign“, urlEncoder(dataSign, “UTF-8“);params.put(“DataType“, “2“);String result=sendPost(ReqURL, params);/根据公司业务处理返回的信息return res

43、ult;/* MD5 加密* param str 内容 * 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 StringBuf

44、fer(32);for (int i = 0; i params) OutputStreamWriter out = null;BufferedReader in = null; StringBuilder result = new StringBuilder(); try URL realUrl = new URL(url);HttpURLConnection conn =(HttpURLConnection) realUrl.openConnection();/ 发送 POST 请求必须设置如下两行conn.setDoOutput(true);conn.setDoInput(true);/

45、 POST 方法conn.setRequestMethod(“POST“);/ 设置通用的请求属性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

46、-urlencoded“);conn.connect();/ 获取 URLConnection 对象对应的输出流out = new OutputStreamWriter(conn.getOutputStream(), “UTF-8“);/ 发送请求参数 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.pri

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报