乐趣区

关于api:全国快递API接口文档接入技术问题FAQ接口源码复用

快递 100API 接口常见问题解答。此内容为技术对接 FAQ,为您解决对接快递 100API 接口过程中遇到的问题。如果本篇内容没有笼罩到您的问题,请拜访官方网站分割技术人员和经营人员帮您 1 对 1 解决。

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

快递 100 加密形式对立为 MD5 后转大写,能够参考签名

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

问题 2. 应用了快递 100 订阅接口后,该如何解决回调接口?

能够参考推送订阅回调

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 字符串

public List<String> getBase64Img(String imgBase64){List<String> stringList= new Gson().fromJson(imgBase64,
                                 new TypeToken<List<String>>() {}.getType());
        List<String> base64Img = new ArrayList<String>();
        if (stringList != null && stringList.size()>0){for (String s : stringList) {s = "data:image/png;base64,"+s.replace("\\\\n","");
                base64Img.add(s);
            }
        }
        return base64Img;
    }

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

第一步:依据对应接口新增对应的申请参数类,继承 CloudBaseReq, 相似快递寄件接口勾销寄件申请参数类

public class COrderCancelReq extends CloudBaseReq{
    /**
     * 工作 ID
     */
    private String taskId;
    /**
     * 订单 ID
     */
    private String orderId;
    /**
     * 勾销起因,例:临时不寄件了
     */
    private String cancelMsg;
}

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

public void testCOrderCancel() throws Exception {COrderCancelReq cOrderCancelReq = new COrderCancelReq();
    cOrderCancelReq.setTaskId("B19BB4C6F33BE9E735A63D4142557751");
    cOrderCancelReq.setOrderId("11115207");
    cOrderCancelReq.setCancelMsg("测试单");
    cOrderCancelReq.setSecret_key(secret_key);
    cOrderCancelReq.setSecret_code(CloudApiCodeConstant.ORDER_CANCEL);
    cOrderCancelReq.setSecret_sign(SignUtils.cloudSign(secret_key,secret_secret));

    IBaseClient cloudBase = new CloudBase();
    System.out.println(cloudBase.execute(cOrderCancelReq));
}

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

[外链图片转存失败, 源站可能有防盗链机制, 倡议将图片保留下来间接上传 (img-ayX4yIBl-1628578971336)(https://ask.qcloudimg.com/htt…]

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

退出移动版