怎么用java调用快递接口查询和寄件等功能java-demo

本文档介绍了如何使用Java调用快递100的API,包括物流查询、订阅推送、电子面单处理等。提供java-demo,支持maven和gradle集成,并给出接入前准备和配置步骤,同时解答了关于sign处理、回调接口、base64图片处理等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

快递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));
    }

    /**
     * 电子面单图片接口
     */
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值