如何用快递鸟物流单号查询api接口集成
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这期内容当中小编将会给大家带来有关如何用快递鸟物流单号查询api接口集成,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。随着网购的发展,快递业也随之壮大。快递查询接口
千家信息网最后更新 2025年12月02日如何用快递鸟物流单号查询api接口集成
这期内容当中小编将会给大家带来有关如何用快递鸟物流单号查询api接口集成,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
随着网购的发展,快递业也随之壮大。快递查询接口对接的需求量也越来越大,
项目开发中,有些需求难免会用到关于快递的一些Api接口;本篇主要介绍的是快递鸟的查询Api接口。
可实现需求:
App中直接集成实现快递物流信息查询Api接口
在微信公众号、微商城、电商网站平台中,根据用户输入的订单号,我们的后台识别订单号并根据快递鸟查询快递Api接口,实现自动查询的功能等。
需要登录 ,申请一下 用户ID 和 API key
• 应用场景
① 买家物流查询:轨迹跟踪、包裹进度、预计送达时间、派送人联系方式等。
② 卖家物流跟踪:是否超区、转件、多次派送、拒收
③ 平台监控管理:假交易监控、匹配卖家发货与顾客确认收货时间。
可实现多种语言demo,以javademo为例:
import java.io.BufferedReader;import java.io.IOException; import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.URL;import java.net.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 { //电商ID private String EBusinessID="1237100"; //电商加密私钥,快递鸟提供,注意保管,不要泄漏(需重新申请ID) private String AppKey="518a73d8-1f7f-441a-b644-33e77b49d846"; //请求url private String ReqURL="http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx"; /** * Json方式 物流信息订阅 * @throws Exception */ public String orderTracesSubByJson() throws Exception{ String requestData="{'Code': 'SF','Item': ["+ "{'No': '909261024507','Bk': 'test'},"+ "{'No': '589554393102','Bk': 'test'},"+ "{'No': '589522101958','Bk': 'test'},"+ "{'No': '909198822942', 'Bk': 'test'}"+ "]}"; Map params = new HashMap(); params.put("RequestData", urlEncoder(requestData, "UTF-8")); params.put("EBusinessID", EBusinessID); params.put("RequestType", "1005"); String dataSign=encrypt(requestData, AppKey, "UTF-8"); params.put("DataSign", urlEncoder(dataSign, "UTF-8")); params.put("DataType", "2"); String result=sendPost(ReqURL, params); //根据公司业务处理返回的信息...... return result; } /** * XML方式 物流信息订阅 * @throws Exception */ public String orderTracesSubByXml() throws Exception{ String requestData=""+ ""+ "SF"+ ""+ "- "+ "
909261024507 "+ "test "+ " "+ "- "+ "
909261024507 "+ "test "+ " "+ " "+ " "; Map params = new HashMap(); params.put("RequestData", urlEncoder(requestData, "UTF-8")); params.put("EBusinessID", EBusinessID); params.put("RequestType", "1005"); String dataSign=encrypt(requestData, AppKey, "UTF-8"); params.put("DataSign", urlEncoder(dataSign, "UTF-8")); params.put("DataType", "1"); 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 = MessageDigest.getInstance("MD5"); md.update(str.getBytes(charset)); byte[] result = md.digest(); StringBuffer sb = new StringBuffer(32); for (int i = 0; i < result.length; i++) { int val = result[i] & 0xff; if (val <= 0xf) { sb.append("0"); } sb.append(Integer.toHexString(val)); } return sb.toString().toLowerCase(); } /** * base64编码 * @param str 内容 * @param charset 编码方式 * @throws UnsupportedEncodingException */ private String base64(String str, String charset) throws UnsupportedEncodingException{ String encoded = Base64.encode(str.getBytes(charset)); return encoded; } @SuppressWarnings("unused") private String urlEncoder(String str, String charset) throws UnsupportedEncodingException{ String result = URLEncoder.encode(str, charset); return result; } /** * 电商Sign签名生成 * @param content 内容 * @param keyValue Appkey * @param charset 编码方式 * @throws UnsupportedEncodingException ,Exception * @return DataSign签名 */ @SuppressWarnings("unused") private String encrypt (String content, String keyValue, String charset) throws UnsupportedEncodingException, Exception { if (keyValue != null) { return base64(MD5(content + keyValue, charset), charset); } return base64(MD5(content, charset), charset); } /** * 向指定 URL 发送POST方法的请求 * @param url 发送请求的 URL * @param params 请求的参数集合 * @return 远程资源的响应结果 */ @SuppressWarnings("unused") private String sendPost(String url, Map 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); // 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-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.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.printStackTrace(); } //使用finally块来关闭输出流、输入流 finally{ try{ if(out!=null){ out.close(); } if(in!=null){ in.close(); } } catch(IOException ex){ ex.printStackTrace(); } } return result.toString(); }} 上述就是小编为大家分享的如何用快递鸟物流单号查询api接口集成了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
快递
查询
UTF-8
接口
物流
方式
信息
内容
编码
电商
需求
输入
输出
单号
业务
公司
卖家
参数
平台
方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全与执法专业培养人才
重庆定制软件开发哪家好
数据库可变长字符型变量
姚威网络安全
计算机网络安全维护图片
互联网科技公司免税政策
路由器的服务器主机名怎么看
2010数据库创建表
公安网络安全检查大概几天
网络与信息和软件开发哪个好
有关于网络安全的诗歌大极拳
香港恒生互联网科技指数简介
移动通信网络技术有限公司
数字连接网络安全伙伴关系
德勤 网络安全法
查找数据表中重复的数据库
台山网络安全厂家
网络技术中专实训考核
相控阵软件开发
哪里的软件开发学校好
软件开发工程师深圳月薪
皖西学院网络安全与信息化
浙丽保服务器失败
电子图书数据库检索途径有啥
可以自学网络安全吗
服务器惠普DL388参数
数据库工程师备战方法
网络技术能力明显不足
安丘软件开发公司
网络安全大队月工作总结