一次性接入顺丰,京东,申通,圆通,中通,韵达,天天,百世,德邦快递接口技术问题FAQ

快递100API接口常见问题解答。此内容为技术对接FAQ,为您解决对接快递100API接口过程中遇到的问题。如果本篇内容没有覆盖到您的问题,请访问官方网站联系技术人员和运营人员帮您1对1处理

问题1.快递100api接口里sign该如何处理?

快递100加密方式统一为MD5后转大写,可以参考签名

  1. org.apache.commons.codec.digest.DigestUtils.md5Hex(msg).toUpperCase();

问题2.使用了快递100订阅接口后,该如何处理回调接口?

可以参考推送订阅回调

  1. public SubscribeResp callBackUrl(HttpServletRequest request){
  2. String param = request.getParameter("param");
  3. String sign = request.getParameter("sign");
  4. //建议记录一下这个回调的内容,方便出问题后双方排查问题
  5. log.debug("快递100订阅推送回调结果|{}|{}",param,sign);
  6. //订阅时传的salt,没有可以忽略
  7. String salt = "";
  8. String ourSign = SignUtils.sign(param + salt);
  9. SubscribeResp subscribeResp = new SubscribeResp();
  10. subscribeResp.setResult(Boolean.TRUE);
  11. subscribeResp.setReturnCode("200");
  12. subscribeResp.setMessage("成功");
  13. //加密如果相等,属于快递100推送;否则可以忽略掉当前请求
  14. if (ourSign.equals(sign)){
  15. //TODO 业务处理
  16. return subscribeResp;
  17. }
  18. return null;
  19. }

问题3.使用电子面单图片接口,该如何处理返回的base64图片?

返回的是一个字符串json数组,多个子单时会有多个。

添加前缀“data:image/png;base64,”,把“\n”替换成“”;可以参考处理返回的base64字符串

  1. public List<String> getBase64Img(String imgBase64){
  2. List<String> stringList= new Gson().fromJson(imgBase64,
  3. new TypeToken<List<String>>() {}.getType());
  4. List<String> base64Img = new ArrayList<String>();
  5. if (stringList != null && stringList.size()>0){
  6. for (String s : stringList) {
  7. s = "data:image/png;base64,"+s.replace("\\\\n","");
  8. base64Img.add(s);
  9. }
  10. }
  11. return base64Img;
  12. }

问题4.云平台其他接口该如何对接?

第一步:根据对应接口新增对应的请求参数类,继承CloudBaseReq,类似快递寄件接口取消寄件请求参数类

  1. public class COrderCancelReq extends CloudBaseReq{
  2. /**
  3. * 任务ID
  4. */
  5. private String taskId;
  6. /**
  7. * 订单ID
  8. */
  9. private String orderId;
  10. /**
  11. * 取消原因,例:暂时不寄件了
  12. */
  13. private String cancelMsg;
  14. }

第二步:调用时只需要更换成第一步新建的实体

  1. public void testCOrderCancel() throws Exception {
  2. COrderCancelReq cOrderCancelReq = new COrderCancelReq();
  3. cOrderCancelReq.setTaskId("B19BB4C6F33BE9E735A63D4142557751");
  4. cOrderCancelReq.setOrderId("11115207");
  5. cOrderCancelReq.setCancelMsg("测试单");
  6. cOrderCancelReq.setSecret_key(secret_key);
  7. cOrderCancelReq.setSecret_code(CloudApiCodeConstant.ORDER_CANCEL);
  8. cOrderCancelReq.setSecret_sign(SignUtils.cloudSign(secret_key,secret_secret));
  9. IBaseClient cloudBase = new CloudBase();
  10. System.out.println(cloudBase.execute(cOrderCancelReq));
  11. }

tips:key、secret、code等账号信息获取,云平台->买家中心-我的接口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ayX4yIBl-1628578971336)(https://ask.qcloudimg.com/http-save/yehe-8628627/9f80b29d201e296801df8344291b44ee.png)]

在线技术支持:https://api.kuaidi100.com/