前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >顺丰快递接口免费接入java-demo【快递100API】

顺丰快递接口免费接入java-demo【快递100API】

原创
作者头像
快递100API
修改2021-08-10 14:29:52
2K1
修改2021-08-10 14:29:52
举报

顺丰目前提供了两种对接方式:

  1. 一种是开发者自助对接,需要注册丰桥账户后,申请成为开发者,再根据顺丰要求对接,整个流程较为繁琐;
  2. 还有一种方式就是通过第三方快递单号查询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

代码语言:txt
复制
dependencies {
	implementation 'com.github.kuaidi100-api:sdk:1.0.4'
}

Maven

代码语言:txt
复制
	<dependency>
            <groupId>com.github.kuaidi100-api</groupId>
            <artifactId>sdk</artifactId>
            <version>1.0.4</version>
        </dependency>

Use Junit Test

代码语言:txt
复制
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

代码语言:txt
复制
      /**
    * 物流轨迹接口
     */
  @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

代码语言:txt
复制
       /**
     * 快递信息地图轨迹接口
     */
     
   @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

代码语言:txt
复制
        /**
     * 快递状态更新订阅接口
     */
    
    @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

代码语言:javascript
复制
 /**
     * 智能识别接口(正式用户可以使用)
     */
    @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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 物流轨迹接口demo:
    • Add Config
      • Gradle
        • Maven
        • Use Junit Test
        相关产品与服务
        智能识别
        腾讯云智能识别(Intelligent Identification,II)基于腾讯各实验室最新研究成果,为您提供视频内容的全方位识别,支持识别视频内的人物、语音、文字以及帧标签,对视频进行多维度结构化分析。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档