丰桥地址
下载到项目中后放到lib文件夹下,引入:
sf.sdk sf 1.0 system ${project.basedir}/src/main/resources/lib/SF-CSIM-EXPRESS-SDK-V1.6.jar
需要从丰桥获取的参数:
@Value("${sf.clientCode}") private String clientCode; //商户号 @Value("${sf.checkword}") private String checkword; //验证码 @Value("${sf.custid}") private String custid; //月付id 我这里使用的是寄付月结
顺丰使用xml做数据交互,这里贴一些简单的转换工具类
具体的字段含义查看顺丰的文档
快速下单转换xml方法:
public static String getOrderServiceRequestXml(Mapparams) { StringBuilder strBuilder = new StringBuilder(); strBuilder.append(" "); strBuilder.append("" + params.get("clientCode") + ""); strBuilder.append(""); strBuilder.append(" "); return strBuilder.toString(); }"); strBuilder.append(" "); strBuilder.append(""); strBuilder.append(""); strBuilder.append("
订单查询接口是在下单后没有返回运单号时主动查询运单号使用的,这里我一开始理解为查询物流信息的接口了 ̄□ ̄||
/** * 获取顺丰订单结果查询接口xml * * @param params * @return */ public static String getOrderSearchServiceRequestXml(Mapparams) { String orderNo = params.get("orderNo"); StringBuilder strBuilder = new StringBuilder(); strBuilder.append(" "); strBuilder.append("" + params.get("clientCode") + ""); strBuilder.append(""); strBuilder.append(" "); return strBuilder.toString(); }"); strBuilder.append(""); strBuilder.append("
除了下单接口参数略多一下,其他接口大致相同
查询物流信息接口
/** * 获取顺丰路由查询接口xml * * @param params * @return */ public static String getRouteServiceRequestXml(Mapparams) { StringBuilder strBuilder = new StringBuilder(); strBuilder.append(" "); strBuilder.append("" + params.get("clientCode") + ""); strBuilder.append(""); strBuilder.append(" "); return strBuilder.toString(); }"); strBuilder.append(" "); strBuilder.append(""); strBuilder.append("
取消订单接口
/** * 取消订单 * * @param params * @return */ public static String getConfirmRequestXml(Mapparams) { StringBuilder strBuilder = new StringBuilder(); strBuilder.append(" "); strBuilder.append("").append(params.get("clientCode")).append(""); strBuilder.append(""); strBuilder.append(" "); return strBuilder.toString(); }").append(" "); strBuilder.append(" "); strBuilder.append(""); strBuilder.append("
传入参数得到拼接好的xml数据后开始请求顺丰:
public String callSf(String xmlStr) { CallExpressServiceTools client = CallExpressServiceTools.getInstance(); log.info("开始调用顺丰接口下单,请求报文:{}", xmlStr); String respXml = client.callSfExpressServiceByCSIM(null, xmlStr, clientCode, checkword); log.info("请求完成,返回报文:{}", respXml); return respXml; }
得到报文后在进行解析即可
总体来说使用顺丰新的sdk接入还是非常方便的。
记录下代码,方面下次使用。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/76784.html
摘要:快递查询接口是使用的物流单号即可实现查询物流信息。目前快递查询接口有两种实现方式,一种是主动查询,一种是订阅接口推送数据。另外,快递鸟还有在途监控电子面单等其他的接口方案,可以根据公司需求来选择。 快递查询API接口是使用的物流单号即可实现查询物流信息。主要应用在电商商城、ERP系统商、WMS系统商、快递柜、银行等企业。多家快递物流公司接口统一接入,建议对接接口提供商,一次性可以接入多...
摘要:快递鸟目前已经入驻了顺丰第三方软件服务平台,对接起来非常方便。如顺丰物流单号应选择快递公司编码接口来源快递鸟返回的物流跟踪信息按照发生的时间升序排列。 showImg(https://segmentfault.com/img/bVbwklp?w=1005&h=351); 顺丰快递对物流信息的管控较为严格,官网上也加上了由腾讯云提供的滑动验证码进行保护,如果需要大批量查询顺丰的物流信息,...
摘要:什么是代理模式代理模式,类似于明星的经纪人,想要拜访明星,需要先通过经纪人的沟通。不同于装饰器,那种动态加载一个对象,可以说在代理模式当中,代理是早已既定的。又称单一功能原则,面向对象五个基本原则之一。 什么是代理模式 代理模式,类似于明星的经纪人,想要拜访明星,需要先通过经纪人的沟通。而在JS当中,如果想访问一个类,需要通过另一个类来间接访问 。不同于装饰器,那种动态加载一个对象,可...
六月精阳,人们的火气难免旺了些,连全球知名品牌也失去了风度,不再温良恭俭让,把过去私下里的暗战摆在台面上互怼。6月23日,全球零售霸主美国沃尔玛私下要求合作厂商,包括技术供应商、电商和批发商,停止使用亚马逊云计算服务(Amazon Web System,AWS);而亚马逊发言人则在6月27日公开谴责称,沃尔玛是在用自己采购的权限控制供应商,这完全是霸凌(Bully)行为。无独有偶,上月初,中国也有...
阅读 3379·2023-04-26 02:41
阅读 2414·2023-04-26 00:14
阅读 2748·2021-08-11 10:22
阅读 1251·2019-12-27 11:38
阅读 3539·2019-08-29 18:34
阅读 2325·2019-08-29 12:13
阅读 2914·2019-08-26 18:26
阅读 1791·2019-08-26 16:49