# java-demo **Repository Path**: kuaidi100-api/java-demo ## Basic Information - **Project Name**: java-demo - **Description**: 本Java快递查询接口目录提供:快递单号查询API接口、快递电子面单接口、寄快递接口、同城配送接口、快递地图跟踪接口等Java demo。如需帮助,请点击下方官网链接,官网技术人员会免费帮助您接入接口。快递100API开放平台与国内外3000+快递公司合作提供快递单号查询API接口,快递电子面单接口,寄快递接口,快递地图跟踪接口等电商运营必备的物流快递工具。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 57 - **Forks**: 28 - **Created**: 2020-08-05 - **Last Updated**: 2025-07-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

java-demo Project

## Introduce java-demo 是由[快递100](https://api.kuaidi100.com/home)官方提供的java sdk,方便调试使用。 java-demo 集成了实时查询、订阅推送、智能判断、云打印相关、电子面单相关、短信、商家寄件等接口。 ## Features - 提供了快递100接口请求参数实体类、返回实体类。 - 提供测试类调试。 - 支持maven、gradle引入 ## Getting started java-demo使用和测试可参考[java-demo-test](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java)。 ``` # git clone https://github.com/kuaidi100-api/java-demo.git ``` #### Add Config 使用sdk的可以先配置[account.properties](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/main/resources/account.properties),账号信息可以登录快递100获取https://poll.kuaidi100.com/manager/page/myinfo/enterprise (注意不要泄露快递100的账号密码以及授权key等敏感信息,以防被他人盗用!!!) #### Gradle ```css dependencies { implementation 'com.github.kuaidi100-api:sdk:1.0.18' } ``` #### Maven ```xml com.github.kuaidi100-api sdk 1.0.18 ``` ### Use Junit Test 以下是各个接口的测试示例,完整代码可在GitHub仓库中查看: - [实时快递查询接口](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L54) - [快递查询地图轨迹](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L75) - [订阅接口](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L102) - [智能识别接口(正式用户可以使用)](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L125) - [电子面单下单接口(V2)](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L140) - [运单附件查询接口](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L184) - [订单拦截接口](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L211) - [地址解析接口](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L249) - [国际地址解析接口](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L275) - [云打印复打(V2)](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L298) - [自定义打印(V2)](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L323) - [电子面单取消(V2)](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L352) - [快递预估时效](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L385) - [电子面单图片接口(v1版本示例,后续不维护新功能,建议使用v2)](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L412) - [电子面单HTML接口(v1版本示例,后续不维护新功能,建议使用v2)](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L444) - [电子面单打印接口(v1版本示例,后续不维护新功能,建议使用v2)](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L483) - [云打印自定义(v1版本示例,后续不维护新功能,建议使用v2)](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L520) - [附件打印接口](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L544) - [复打(v1版本示例,建议使用v2)](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L568) - [第三方平台账号授权](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L590) - [快递100短信发送接口](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L613) - [发货单接口](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L693) - [快递面单OCR识别接口](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L722) - [快递可用性查询](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L744) - [商家寄件 - 相关接口](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BOrderOfficialTest.java) - [同城寄件-预下单](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L777) - [同城寄件-下单](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L831) - [同城寄件-预取消](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L887) - [同城寄件-取消](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L915) - [同城寄件-加小费](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L943) - [C端寄件](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/COrderTest.java) - [价格查询接口](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/test/java/BaseServiceTest.java#L971) ## FAQ ### 问题1.快递100api接口里sign该如何处理? 快递100加密方式统一为MD5后转大写,可以参考[签名](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/main/java/com/kuaidi100/sdk/utils/SignUtils.java) ```java org.apache.commons.codec.digest.DigestUtils.md5Hex(msg).toUpperCase(); ``` ### 问题2.使用了快递100订阅接口后,该如何处理回调接口? 可以参考推送[订阅回调](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/main/java/com/kuaidi100/sdk/api/Subscribe.java#L56) ```java public SubscribeResp callBackUrl(HttpServletRequest request){ String param = request.getParameter("param"); String sign = request.getParameter("sign"); //建议记录一下这个回调的内容,方便出问题后双方排查问题 log.debug("快递100订阅推送回调结果|{}|{}",param,sign); //订阅时传的salt,没有可以忽略 String salt = ""; String ourSign = SignUtils.sign(param + salt); SubscribeResp subscribeResp = new SubscribeResp(); subscribeResp.setResult(Boolean.TRUE); subscribeResp.setReturnCode("200"); subscribeResp.setMessage("成功"); //加密如果相等,属于快递100推送;否则可以忽略掉当前请求 if (ourSign.equals(sign)){ //TODO 业务处理 return subscribeResp; } return null; } ``` ### 问题3.使用电子面单图片接口,该如何处理返回的base64图片? 返回的是一个字符串json数组,多个子单时会有多个。 添加前缀“`data:image/png;base64,`”,把“`\\\\n`”替换成“”;可以参考[处理返回的base64字符串](https://gitee.com/kuaidi100-api/java-demo/blob/master/src/main/java/com/kuaidi100/sdk/api/PrintImg.java#L47) ```java public List getBase64Img(String imgBase64){ List stringList= new Gson().fromJson(imgBase64, new TypeToken>() {}.getType()); List base64Img = new ArrayList(); if (stringList != null && stringList.size()>0){ for (String s : stringList) { s = "data:image/png;base64,"+s.replace("\\\\n",""); base64Img.add(s); } } return base64Img; } ``` ## Tips 如需获取账号信息(如 key、customer、secret),或免费试用100单,请访问[API开放平台](https://api.kuaidi100.com/register/diff/)进行注册