快递100快递物流查询、寄件等功能java-demo
快递100API内支持很多的快递功能,能够满足大家的需求,我们还可以自定义选择快递接口,支持多家快递公司,顺丰、京东、EMS、邮政、百世、圆通、韵达、申通等等,让快递查询更快捷。下面的java-demo 是由快递100官方提供的java sdk,方便调试使用。集成了实时查询、订阅推送、智能判断、云打印相关、电子面单相关、短信、商家寄件等接口。
功能描述
-
提供了快递100接口请求参数实体类、返回实体类。
-
提供测试类调试。
-
支持maven、gradle引入
接入前准备
-
java-demo使用和测试可参考java-demo-test
-
git clone https://github.com/kuaidi100-api/java-demo.git
-
对接物流跟踪接口,你需要开发订阅接口(将单号和快递公司编码订阅给快递100。有订阅接口的.net,php和java版本demo,你可以参考下。还有自己开发一个推送接口(接收快递100推送的物流轨迹),开发完后登录快递100沙箱后台调试推送接口,调试成功后可在沙箱后台自助配置推送接口。
-
https://api.kuaidi100.com/register/enterprise 密钥获取页
Add Config
使用sdk的可以先配置account.properties,账号信息可以登录快递100获取。能返回多种格式的、完整的查询结果,具备众多参数供调用。这种接口需到快递100指定的页面进行申请,通过申请后才能使用。https://poll.kuaidi100.com/manager/page/myinfo/enterprise (注意不要泄露快递100的账号密码以及授权key等敏感信息,以防被他人盗用!!!)
Gradle
dependencies {
implementation 'com.github.kuaidi100-api:sdk:1.0.4'
}
Maven
<dependency>
<groupId>com.github.kuaidi100-api</groupId>
<artifactId>sdk</artifactId>
<version>1.0.4</version>
</dependency>
Use Junit Test
public class BaseServiceTest {
private String key = PropertiesReader.get("key");
private String customer = PropertiesReader.get("customer");
private String secret = PropertiesReader.get("secret");
private String siid = PropertiesReader.get("siid");
private String userid = PropertiesReader.get("userid");
private String tid = PropertiesReader.get("tid");
private String secret_key = PropertiesReader.get("secret_key");
private String secret_secret = PropertiesReader.get("secret_secret");
/**
* 查询物流轨迹
*/
@Test
public void testQueryTrack() throws Exception{
QueryTrackReq queryTrackReq = new QueryTrackReq();
QueryTrackParam queryTrackParam = new QueryTrackParam();
queryTrackParam.setCom(CompanyConstant.YT);
queryTrackParam.setNum("YT9383342193097");
queryTrackParam.setPhone("17725390266");
String param = new Gson().toJson(queryTrackParam);
queryTrackReq.setParam(param);
queryTrackReq.setCustomer(customer);
queryTrackReq.setSign(SignUtils.querySign(param ,key,customer));
IBaseClient baseClient = new QueryTrack();
System.out.println(baseClient.execute(queryTrackReq));
}
/**
* 快递信息地图轨迹
*/
@Test
public void testQueryMapView() throws Exception{
QueryTrackReq queryTrackReq = new QueryTrackReq();
QueryTrackParam queryTrackParam = new QueryTrackParam();
queryTrackParam.setCom(CompanyConstant.YD);
queryTrackParam.setNum("4311159956248");
queryTrackParam.setPhone("17725390266");
queryTrackParam.setFrom("河北保定市");
queryTrackParam.setTo("湖南岳阳市");
queryTrackParam.setResultv2("2");
String param = new Gson().toJson(queryTrackParam);
queryTrackReq.setParam(param);
queryTrackReq.setCustomer(customer);
queryTrackReq.setSign(SignUtils.querySign(param ,key,customer));
IBaseClient baseClient = new QueryTrackMap();
HttpResult result = baseClient.execute(queryTrackReq);
QueryTrackMapResp queryTrackMapResp = new Gson().fromJson(result.getBody(),QueryTrackMapResp.class);
System.out.println(queryTrackMapResp);
}
/**
* 订阅
*/
@Test
public void testSubscribe() throws Exception{
SubscribeParameters subscribeParameters = new SubscribeParameters();
subscribeParameters.setCallbackurl("http://www.baidu.com");
subscribeParameters.setPhone("17725390266");
SubscribeParam subscribeParam = new SubscribeParam();
subscribeParam.setParameters(subscribeParameters);
subscribeParam.setCompany(CompanyConstant.ST);
subscribeParam.setNumber("773039762404825");
subscribeParam.setKey(key);
SubscribeReq subscribeReq = new SubscribeReq();
subscribeReq.setSchema(ApiInfoConstant.SUBSCRIBE_SCHEMA);
subscribeReq.setParam(new Gson().toJson(subscribeParam));
IBaseClient subscribe = new Subscribe();
System.out.println(subscribe.execute(subscribeReq));
}
/**
* 智能识别接口(正式用户可以使用)
*/
@Test
public void testAutoNum() throws Exception{
AutoNumReq autoNumReq = new AutoNumReq();
autoNumReq.setKey(key);
autoNumReq.setNum("773039762404825");
IBaseClient baseClient = new AutoNum();
System.out.println(baseClient.execute(autoNumReq));
}
/**
* 电子面单图片接口
*/