目录
1、注册开放平台
进入顺丰开放平台注册认证->新增应用
2、关联对应的api信息
需要的接口有两个,一个路由注册接口,一个是路由推送接口,第三方下单或者顺丰下单的,需要注册路由信息上传到顺丰开放平台,然后顺丰会自动触发推送,推送物流信息到我们开发的服务地址
- 接口文档地址 路由注册顺丰科技开放平台是为用户提供顺丰各类服务快速对接的平台,平台通过打通客户与顺丰系统之间的信息流,帮助客户实现整体物流供应链一体化,提升作业效率以及应用体验,实现顺丰与客户的双赢。 平台提供API对接和第三方工具对接等多种服务对接方式,适合不同研发能力的用户快速接入。同时也为ISV合作伙伴提供应用工具及场景API服务发布及注册。
https://qiao.sf-express.com/Api/ApiDetails?level3=395&interName=%E8%B7%AF%E7%94%B1%E6%B3%A8%E5%86%8C%E6%8E%A5%E5%8F%A3-EXP_RECE_REGISTER_ROUTE 路由推送顺丰科技开放平台是为用户提供顺丰各类服务快速对接的平台,平台通过打通客户与顺丰系统之间的信息流,帮助客户实现整体物流供应链一体化,提升作业效率以及应用体验,实现顺丰与客户的双赢。 平台提供API对接和第三方工具对接等多种服务对接方式,适合不同研发能力的用户快速接入。同时也为ISV合作伙伴提供应用工具及场景API服务发布及注册。
https://qiao.sf-express.com/Api/ApiDetails?level3=404&interName=%E8%B7%AF%E7%94%B1%E6%8E%A8%E9%80%81%E6%8E%A5%E5%8F%A3-RoutePushService
3、下载Java的SDK
如何引用jar包教程
4、集成SDK开发相关接口
集成jar包到springboot的项目中,这里不赘述,使用代码示例
package com.sf.csim.express.test;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import com.sf.csim.express.service.CallExpressServiceTools;
import com.sf.csim.express.service.HttpClientUtil;
import com.sf.csim.express.service.IServiceCodeStandard;
import com.sf.csim.express.service.code.ExpressServiceCodeEnum;
public class TestCallExpressNewAPIService {
private static final String CLIENT_CODE = ""; //此处替换为您在丰桥平台获取的顾客编码
private static final String CHECK_WORD = "";//此处替换为您在丰桥平台获取的校验码
//沙箱环境的地址
private static final String CALL_URL_BOX = "https://sfapi-sbox.sf-express.com/std/service";
//生产环境的地址
private static final String CALL_URL_PROD = "https://sfapi.sf-express.com/std/service";
public static void main(String[] args) throws UnsupportedEncodingException {
/**ExpressServiceCodeEnum 对应速运类-快递APIs
POSTServiceCodeEnum 对应速运类-驿站APIs
YJTServiceCodeEnum 对应解决方案-医寄通APIs
EPSServiceCodeEnum 对应解决方案-快递管家APIs
详情见code目录下枚举类,客户可自行修改引用的该类
**/
IServiceCodeStandard standardService = ExpressServiceCodeEnum.EXP_RECE_CREATE_ORDER; //下订单
// IServiceCodeStandard standardService = ExpressServiceCodeEnum.EXP_RECE_SEARCH_ORDER_RESP; //查订单
// IServiceCodeStandard standardService = ExpressServiceCodeEnum.EXP_RECE_UPDATE_ORDER;//订单取消
// IServiceCodeStandard standardService = ExpressServiceCodeEnum.EXP_RECE_FILTER_ORDER_BSP;//订单筛选
// IServiceCodeStandard standardService = ExpressServiceCodeEnum.EXP_RECE_SEARCH_ROUTES;//查路由
// IServiceCodeStandard standardService = ExpressServiceCodeEnum.EXP_RECE_GET_SUB_MAILNO;//子单号
// IServiceCodeStandard standardService = ExpressServiceCodeEnum.EXP_RECE_QUERY_SFWAYBILL;//查运费
// IServiceCodeStandard standardService = ExpressServiceCodeEnum.EXP_RECE_REGISTER_ROUTE;//注册路由
// IServiceCodeStandard standardService =
CallExpressServiceTools tools=CallExpressServiceTools.getInstance();
// set common header
Map<String, String> params = new HashMap<String, String>();
String timeStamp = String.valueOf(System.currentTimeMillis());
String msgData =tools.packageMsgData(standardService);
params.put("partnerID", CLIENT_CODE); // 顾客编码
params.put("requestID", UUID.randomUUID().toString().replace("-", ""));
params.put("serviceCode",standardService.getCode());// 接口服务码
params.put("timestamp", timeStamp);
params.put("msgData", msgData);
params.put("msgDigest", tools.getMsgDigest(msgData,timeStamp,CHECK_WORD));
String result = HttpClientUtil.post(CALL_URL_BOX, params);
System.out.println("===调用地址 ==="+CALL_URL_BOX);
System.out.println("===顾客编码 ==="+CLIENT_CODE);
System.out.println("===返回结果:" +result);
}
}