因为你要申请生产账号,就要先测试3次调用成功的记录,否则无法申请生产环境账号,这个一定要注意
先申请需要用的api接口,否则不能使用
下订单接口开发文档:http://qiao.sf-express.com/pages/developDoc/index.html?level2=897588
订单结果查询接口:http://qiao.sf-express.com/pages/developDoc/index.html?level2=116422
直接上代码,大家要多看文档,这个代码公司在用,放心使用。main调试方法都给你们了,哈哈。
里面有一段代码是由于一些原因导致下订单没有收到返回结果,这时候再次点击下订单接口,导致下订单重复,这时候可以调用结果查询接口。
代码里的三个参数是从下图得到的
@Value("${sf.call.url}")
private String sfCallUrl;
@Value("${sf.client.code}")
private String sfClientCode;
@Value("${sf.check.word}")
private String sfCheckWord;
这时候还需要顺丰加密相关代码,CallExpressServiceTools类,里面有些包涉及公司代码,大家可以用自己公司的包
VerifyCodeUtil类,里面有些包涉及公司代码,大家可以用自己公司的包
路由推送接口:http://qiao.sf-express.com/pages/developDoc/index.html?level2=116422
回调业务逻辑处理,我们的逻辑是存到一张表里,具体业务大家看自己公司业务
下面三个类是回调入参,一定要按照我这样写。因为入参他们是多个 。和开发文档有一定出入
/**
* @author
* @date
* @description 顺丰枫桥路由推送入参
*/
@Data
public class SfBodyParam implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 增值服务信息
*/
private List<WaybillRouteParam> WaybillRoute;
}
/**
* @author
* @date
* @description 顺丰枫桥路由推送入参
*/
@Data
public class SfRoutePushParam implements Serializable {
private static final long serialVersionUID = 1L;
private SfBodyParam body;
}
这个和自己公司业务有关实体入参
/**
* @author
* @date
* @description 这个类和自己公司业务有关
*/
@Data
public class WaybillRouteParam implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 路由节点信息编号,每一个id代表一条不同的路由节点信息
*/
private Long id;
/**
* 顺丰运单号
*/
private String mailno;
/**
* 客户订单号
*/
private String orderid;
/**
* 路由节点产生的时间,格式:YYYY-MM-DD HH24:MM:SS,示例:2012-7-30 09:30:00。
*/
private Date acceptTime;
/**
* 路由节点发生的城市
*/
private String acceptAddress;
/**
* 路由节点具体描述
*/
private String remark;
/**
* 路由节点操作码
*/
private String opCode;
/**
* 异常描述
*/
private String reasonName;
/**
* 异常编码
*/
private String reasonCode;
大家不要忘记配置路由推送接口,首先点击接口配置选项
接着第2步按照我的配置就可以了
postman 测试
到这里大家应该调试成功了,如果按照我这个说明,对接顺丰丰桥接口半天就够了。而且不出错。
大家多使用沙箱和在线测试工具。
最后祝大家顺利调通,完成任务。申请线上环境就可以发布生产了。