顺丰,四通一达,京东,百世,天天,德邦快递目前提供了两种对接方式:
- 一种是开发者自助对接,需要注册账户后,申请成为开发者,再根据要求对接,整个流程较为繁琐;
- 还有一种方式就是通过第三方快递单号查询API接口服务商对接(例如快递100API)
如果对接公司数量超过3家,对接起来会比直接对接顺丰,四通一达,京东,百世,天天,德邦快递简单。
物流轨迹查询-使用的物流单号和快递单号即可实现查询物流信息。 对接在电商网站、SaaS系统或ERP系统上之后,使用者只需要输入快递单号就可以查询物流,不需要物流编码。整个流程是通过快递100API的两个接口实现的,一个是快递物流查询接口,一个是智能单号识别的接口,其中智能单号识别接口是免费使用的。
快递100API的java-demo 集成了实时查询、订阅推送、智能判断、云打印相关、电子面单相关、短信、商家寄件等接口。
此篇java-demo内容包括:物流轨迹接口+快递信息地图轨迹接口+快递状态更新订阅接口+智能识别接口方便开发者实现:运营前端下单寄件后自动回传物流单号且无需人工判断物流单号所属公司——>物流状态如有变化则自动更新到客户端和后台系统——>可视化展示物流运输路径或只展示文字信息。
语言:java
顺丰,四通一达,京东,百世,天天,德邦快递快递单号接口通过快递100API接口对接简单方便,顺丰,四通一达,京东,百世,天天,德邦快递快递查询接口API和电子面单接口可以通过快递100API对接,通过顺丰,四通一达,京东,百世,天天,德邦快递单号和手机号后四位查询轨迹信息,如果是通过快递100API下单获得的顺丰,四通一达,京东,百世,天天,德邦快递单号,可通过单号直接查询,具体查看快递100API接口技术文档查看接口说明。
物流轨迹接口demo:
Add Config
使用sdk的可以先配置account.properties,账号信息可以登录快递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");
物流轨迹接口-java-demo
/**
* 物流轨迹接口
*/
@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));
}
/**
* 快递信息地图轨迹接口
*/
快递信息地图轨迹接口-java-demo
/**
* 快递信息地图轨迹接口
*/
@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);
}
快递状态更新订阅接口-java-demo
/**
* 快递状态更新订阅接口
*/
@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));
}
智能识别接口-java-demo
/**
* 智能识别接口(正式用户可以使用)
*/
@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));
}
官方技术支持:https://api.kuaidi100.com/document/5eb9f5b686b0df41883139f4.html