> 文章列表 > 接入丰桥,下单到打印面单到配送开发流程

接入丰桥,下单到打印面单到配送开发流程

接入丰桥,下单到打印面单到配送开发流程

顺丰开放平台地址:顺丰开放平台

一、了解官网 

        1.1、开发文档

开发接口之前可以先查看熟悉文档,尤其是API文档仔细阅读。进入之后是如下图,根据自己需要开发的接口,先查看文档,然后根据文档要求来请求并处理响应。

         1.2、服务接口

 点击开发者对接,进入之后,点击开发者对接,再点击新建应用,根据要求填写信息。

 创建成功之后,会在下面展示你创建的应用。

 关联API,创建的时候可以关联API,创建之后也可以在查看API里面进行关联。

点击查看API进入

 然后点击关联API

 关联你想要的API

关联之后才可以联调测试上线!

二、 SDK使用

2.1、查看官网SDK

点击控制台,找到开发规范点进去。

 找到 API-SDK使用说明

 官网的是拿java举例是哟SDK的,这里我们也是用跟java做集成的SDK

点击SDK工具,然后选择JAVA的 ,点击下载最新版就可以了(也可以查看版本下载其他的版本)

下载之后是一个zip压缩包,解压之后,我们需要下面标红的这三个部分。

code:是一些枚举类,可以不用,因为SF-CSIM-EXPRESS-SDK-V2.1.7.jar里面包含了。

java-demo:是测试类,这个我们需要将他拷贝到我们的项目里,然后封装成一个工具类。

json:这里面是请求API接口的一些请求参数示例,这个可要可不要。

lib:这个是需要的其他依赖包。

readme.txt:无关紧要的东西吧。

SF-CSIM-EXPRESS-SDK-V2.1.7.jar:这个是核心包,顺丰封装的jar包。

2.2、集成到项目

        2.2.1、添加依赖(这里我用的是maven管理依赖的方式)

<!--顺丰依赖-->
<dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.9</version>
</dependency>
<dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.2</version>
</dependency>
<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.3.2</version>
</dependency>
<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpcore</artifactId><version>4.3.2</version>
</dependency>
<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.7</version>
</dependency>
<!--顺丰的核心包(本地打包)-->
<dependency><groupId>com.sf.csim.express</groupId><artifactId>SF-CSIM-EXPRESS-SDF</artifactId><version>V2.1.7</version>
</dependency>

注意顺丰的核心包maven官网是不提供的,需要我们自己将下载的SF-CSIM-EXPRESS-SDK-V2.1.7.jar包打到我们maven的本地仓库(这里不过多解释,主要针对集成顺丰)。其他的依赖包maven远程仓库都是可以下砸的。

        2.2.2、配置应用信息

配置应用信息,下一步封装工具类需要。

        2.2.3、封装工具类

package com.casic.cloud.webtrans.utils;import com.sf.csim.express.service.CallExpressServiceTools;
import com.sf.csim.express.service.HttpClientUtil;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;import java.util.HashMap;
import java.util.Map;
import java.util.UUID;/*** 20 ^O^开心快乐!!!** @Description: CallExpressNewAPIServiceUtil类...,调用顺丰API* @Author: Wuxinke* @Date: 2023/3/20**/
@Component
public class CallExpressNewAPIServiceUtil {//此处替换为您在丰桥平台获取的顾客编码@Value("${CLIENT_CODE}")private String CLIENT_CODE;//此处替换为您在丰桥平台获取的校验码@Value("${CHECK_WORD}")private String CHECK_WORD;//沙箱环境的地址 -PRO@Value("${CALL_URL_BOX}")private String CALL_URL_BOX;//生产环境的地址 -PRO@Value("${CALL_URL_PROD}")private String CALL_URL_PROD;/***@Description: 调用顺丰API方法*              msgData:请求报文  serviceCode:接口服务码*@Date: 2023/3/20 17:25**/public String callSFApi(String serviceCode,String msgData) throws Exception {//验证请求参数if(StringUtils.isEmpty(serviceCode) || StringUtils.isEmpty(msgData)){throw new Exception("参数不能为空!");}CallExpressServiceTools tools=CallExpressServiceTools.getInstance();// set common headerMap<String, String> params = new HashMap<String, String>();String timeStamp = String.valueOf(System.currentTimeMillis());params.put("partnerID", CLIENT_CODE);  // 顾客编码 ,对应丰桥上获取的clientCodeparams.put("requestID", UUID.randomUUID().toString().replace("-", ""));//请求唯一号UUIDparams.put("serviceCode",serviceCode);// 接口服务码params.put("timestamp", timeStamp);//调用接口时间戳params.put("msgData", msgData);//报文params.put("msgDigest", tools.getMsgDigest(msgData,timeStamp,CHECK_WORD));//数字签名long startTime = System.currentTimeMillis();System.out.println("====调用实际请求:" + params);String result = HttpClientUtil.post(CALL_URL_BOX, params);System.out.println("====调用丰桥的接口服务代码:" + String.valueOf(serviceCode) + " 接口耗时:"+ String.valueOf(System.currentTimeMillis()-startTime)+"====");System.out.println("===调用地址 ==="+CALL_URL_BOX);System.out.println("===顾客编码 ==="+CLIENT_CODE);System.out.println("===返回结果:" +result);return result;}}

到这一步就算集成成功了,接下来就是去具体的操作某些接口。

三、集成顺丰的常用API

持续更新!