java顺丰运费接口_对接顺丰丰桥踩坑汇总(写给自己)

顺丰丰桥使用流程

登录注册丰桥

https://qiao.sf-express.com/index.html

申请一条龙

开发者信息

按提示搞就行了,然后会有个测试月卡,如果正式环境需要申请正式月卡

申请接口

根据自身情况申请需要的接口

其他的按流程做就行了

在java代码使用

在老版本里只能用xml的方式,在新版本可以使用json和xml两种方式,这里使用的是json方式

引入官方提供的java-demo,代码如下:

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.EspServiceCode;

import com.sf.csim.express.service.HttpClientUtil;

public class TestCallExpressNewAPIService {

//丰桥新沙箱测试顾客编码 Yg4Zf06w_sxZs3A5D

//校验码 3Xdk1jqeG1Xod9nUXus8Op7DNOkchTnw

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 {

EspServiceCode testService = EspServiceCode.EXP_RECE_CREATE_ORDER; //下订单

//EspServiceCode testService = EspServiceCode.EXP_RECE_SEARCH_ORDER_RESP; //查订单

// EspServiceCode testService = EspServiceCode.EXP_RECE_UPDATE_ORDER;//订单取消

//EspServiceCode testService = EspServiceCode.EXP_RECE_FILTER_ORDER_BSP;//订单筛选

// EspServiceCode testService = EspServiceCode.EXP_RECE_SEARCH_ROUTES;//查路由

//EspServiceCode testService = EspServiceCode.EXP_RECE_GET_SUB_MAILNO;//子单号

//EspServiceCode testService = EspServiceCode.EXP_RECE_QUERY_SFWAYBILL;//查运费

CallExpressServiceTools client=CallExpressServiceTools.getInstance();

// set common header

Map params = new HashMap();

String timeStamp = String.valueOf(System.currentTimeMillis());

String msgData =client.packageMsgData(testService);

params.put("partnerID", CLIENT_CODE); // 顾客编码 ,对应丰桥上获取的clientCode

params.put("requestID", UUID.randomUUID().toString().replace("-", ""));

params.put("serviceCode",testService.getCode());// 接口服务码

params.put("timestamp", timeStamp);

params.put("msgData", msgData);

params.put("msgDigest", client.getMsgDigest(msgData,timeStamp,CHECK_WORD));

// System.out.println(params.get("requestID"));

long startTime = System.currentTimeMillis();

System.out.println("====调用请求:" + params.get("msgData"));

String result = HttpClientUtil.post(CALL_URL_BOX, params);

System.out.println("====调用丰桥的接口服务代码:" + String.valueOf(testService.getCode()) + " 接口耗时:"+ String.valueOf(System.currentTimeMillis()-startTime)+"====");

System.out.println("===调用地址 ==="+CALL_URL_BOX);

System.out.println("===顾客编码 ==="+CLIENT_CODE);

System.out.println("===返回结果:" +result);

}

}

我们需要的是:

按要求将顾客编码,校验码改成自己的。

从接口提供的示例报文复制成 msgData的数据

当请求成功时,在丰桥那边---->我的沙盒里会有这条请求成功的消息

踩坑汇总

导入pom坐标时无法导入

丰桥官方提供jar包

登入丰桥----文档中心----API-SDK使用说明

调用接口时,参数出错

顺丰的接口有两种方式传递,1.json。2.xml。个人觉得顺丰的传参太麻烦,推荐使用:

官方提供的demo

下载官方的jar解压----java-demo----TestCallExpressNewAPIService.java

本文地址:https://blog.csdn.net/weixin_45349257/article/details/107361326

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java接入丰桥并实现下单查询功能可以通过以下步骤完成: 首先,需要引入丰桥SDK依赖,可以通过在项目的pom.xml文件中添加以下代码引入丰桥SDK: ```xml <dependency> <groupId>com.sf</groupId> <artifactId>sf-express-api-sdk</artifactId> <version>1.0.0</version> </dependency> ``` 然后,在代码中调用丰桥SDK提供的接口来实现下单和查询功能。下单功能可以通过调用`com.sf.api.client.SfExpressServiceClient`类的`createOrder`方法来创建订单,传入相应的参数,如发货人信息、收货人信息、包裹详情等。示例代码如下: ```java SfExpressServiceClient client = new SfExpressServiceClient(); CreateOrderRequest request = new CreateOrderRequest(); request.setShipperName("发货人姓名"); request.setShipperMobile("发货人手机号码"); // 更多发货人信息设置 request.setConsigneeName("收货人姓名"); request.setConsigneeMobile("收货人手机号码"); // 更多收货人信息设置 CreateOrderResponse response = client.createOrder(request); ``` 查询功能可以通过调用`com.sf.api.client.SfExpressServiceClient`类的`queryOrder`方法来查询订单状态,传入相应的参数,如订单号、客户订单号等。示例代码如下: ```java SfExpressServiceClient client = new SfExpressServiceClient(); QueryOrderRequest request = new QueryOrderRequest(); request.setOrderId("订单号"); // 更多查询参数设置 QueryOrderResponse response = client.queryOrder(request); ``` 以上就是使用Java接入丰桥并实现下单查询功能的简要步骤。需要注意的是,具体的参数设置和接口调用方式可能会有所不同,可以参考丰桥提供的官方文档进行具体实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值