随着一个电商项目和顺丰合作, 信息流对接就是我们开发的事了.

顺丰通过丰桥提供了一些开放接口, 不过丰桥提供的 SDK 非常简陋, 对 .NET 的支持就更差了. 于是就有了这个项目 sf-express-sdk-net

主要接口集成:

下订单接口HTTP/POST客户系统向顺丰系统下达订单,为订单分配运单号
下订单(国际件)接口HTTP/POST客户系统向顺丰系统下达订单,为订单分配运单号
订单结果查询接口HTTP/POST用于在未收到返回数据时,查询下订单(含筛选)接口客户订单当前的处理情况
订单取消接口HTTP/POST客户在发货前取消订单
订单筛选接口HTTP/POST客户系统通过此接口向顺丰系统发送主动的筛单请求,用于判断客户的收、派地址是否属于顺丰的收派范围
路由查询接口HTTP/POST客户可通过此接口查询顺丰运单路由,顺丰系统会在响应XML报文返回当时点要求的全部路由节点信息
路由推送接口HTTP/POST当路由信息生产后向客户主动推送要求的顺丰运单路由信息。推送方式为增量推送,对于同一个顺丰运单的同一个路由节点,不重复推送
子单号申请接口HTTP/POST客户在通过下单接口提交订单后,可从此接口获取更多的子运单号
订单状态推送接口HTTP/POST推送订单的揽收状态

单元测试

SDK 中提供了相对完成的单元测试, 完整的调用示例的小伙伴可以源码中找到更多内容...

使用

  • 源码集成 - 有些小伙伴可能需要自行控制和维护依赖内容, 可以克隆一份源码自己修改维护...此项目的 LICENSE 是最宽松的 MIT.
  • NuGet 集成 - 为了方便你我他共同沟通开发维护和使用...笔者这里提供了 NuGet 包 SF.Express.Sdk

集成进来后需要的使用:

using SF.Express.Sdk.Request;
using SF.Express.Sdk.Response;
using System; // 下订单请求
OrderServiceRequest orderServiceRequest = new OrderServiceRequest(); // 下订单响应
OrderServiceResponse orderServiceResponse = new SFExpressClient().Execute(request: orderServiceRequest); // 后续逻辑...

封装过后的 SDK, 调用上还是非常简洁直观的...

注意事项

另外这里还是复述一下:

  • 顺丰丰桥开放平台个人也可以非常简单注册和申请
  • 顺丰丰桥接口为了兼容 WebService 数据组成部分保留了 XML 内容...不过 SDK 的封装已经磨平了这个问题
  • 顺丰丰桥有个比较有意思的点, 测试和正式环境是同一个, 每一个接口都必须在测试调用通过3次以后, 才能申请正式调用.
  • 保管好自己的秘钥信息.
05-07 15:50