背景:
不久前,自己对接调用实现了中通快递api的功能,发现如果换了其它类似于圆通、百世、申通、顺丰快递的话就需要再重新对接,岂不是会浪费太多的时间,物流这个接口对接是一个难题,要么需要逐一连接多家快递公司进行发货每对接一个快递公司就要开发十余个接口,开发工作量繁琐复杂。
所以选个第三方提供的快递API是最为合理的,下面给出快递鸟的api接口的设计实现。
《即时查询》的接口:
源码:https://github.com/lzy2626/LogisticsInfoTest
RequestData和DataSign 都是签名后的数据。其他三个都是固定写法。
快递鸟
快递鸟api实现物流即时查询
1.首先要有一个快递鸟账号,根据对方的要求,完善用户申请。
2.根据自己的需求,开通服务
3.进入“我的API接口”,根据“接口”中的开发文档了解设计需求,下载官方demo,编辑为适合自己的代码。
【即时查询】代码实现
1.修改官方的demo代码,我在此分离出了一个快递类,提高适用性
2.引入类文件,实例化并进行测试
示例:
package com.zs.app;
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.security.MessageDigest;
import java.util.HashMap;
import java.util.Map;
/**
*
* 快递鸟物流轨迹即时查询接口
*
* @技术QQ群: 456320272
* @see: http://www.kdniao.com/YundanChaxunAPI.aspx
* @copyright: 深圳市快金数据技术服务有限公司
*
* DEMO中的电商ID与私钥仅限测试使用,正式环境请单独注册账号
* 单日超过500单查询量,建议接入我方物流轨迹订阅推送接口
*
* ID和Key请到官网申请:http://www.kdniao.com/ServiceApply.aspx
*/
public class KdniaoTrackQueryAPI {
//DEMO
public static void main(String[] args) {
KdniaoTrackQueryAPI api = new KdniaoTrackQueryAPI();
try {
String result = api.getOrderTracesByJson("ANE", "210001633605");
System.out.print(result);
} catch (Exception e) {
e.printStackTrace();
}
}
//电商ID
private String EBusinessID="1330422";
//电商加密私钥,快递鸟提供,注意保管,不要泄漏
private String AppKey="7611818b-6279-4398-8747-df2ca39e86b4";
//请