丰桥 - 一站式对接服务平台, 打通客户与顺丰系统之间的信息流, 实现物流供应链一体化.

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

顺丰通过丰桥提供了一些开放接口, 不过丰桥提供的 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 推送订单的揽收状态

注: 2个推送接口需要自行开发对接.

单元测试

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次以后, 才能申请正式调用.
  • 保管好自己的秘钥信息.

顺丰丰桥软件开发工具包 (.NET)的更多相关文章

  1. 什么是软件开发工具包(SDK)

    开发一个软件,需要经过编辑.编译.调试.运行几个过程. 编辑:使用编程语言编写程序代码的过程. 编译:如上一节所讲,就是将编写的程序进行翻译. 调试:程序不可能一次性编写成功,编写过程中难免会出现语法 ...

  2. 术语-软件-软件开发:SDK(软件开发工具包)

    ylbtech-术语-软件-软件开发:SDK(软件开发工具包) 软件开发工具包(缩写:SDK.外语全称:Software Development Kit)一般都是一些软件工程师为特定的软件包.软件框架 ...

  3. .net core 2.2 部署CentOS7(4)CentOS7下载并安装.NET SDK(软件开发工具包)

    目录: .net core 2.2 部署CentOS7(1)安装虚拟机 .net core 2.2 部署CentOS7(2)给虚拟机安装CentOS7 .net core 2.2 部署CentOS7( ...

  4. macOS 下安装SDKMAN 软件开发工具包管理器

    SDKMAN 软件开发工具包管理器的安装非常简单,只需要打开终端,执行: $ curl -s "https://get.sdkman.io" | bash 就OK了,输出类似如下: ...

  5. SDKMAN 软件开发工具包管理器

    SDKMAN 是用来在类Unix 系统中管理多个版本的开发环境的工具.提供命令行接口来安装.切换.删除.列出候选版本. SDKMAN!是在大多数基于Unix的系统上管理多个软件开发套件的并行版本的工具 ...

  6. 自己动手做AI:Google AIY开发工具包解析

    2018年国际消费性电子展(CES)上,最明显的一个趋势是Amazon与Google的语音技术进驻战,如AmazonAlexa进驻到Acer笔电内,Google Assist进驻到KIA汽车内,其他如 ...

  7. C#入门到精通系列课程——第1章软件开发及C#简介

    ◆本章内容 (1)了解软件 (2)软件开发相关概念 (3)认识.NET Framework (4)C#语言 (5)Visual Studio 2017 ◆本章简述 软件在现代人们的日常生活中随处可见, ...

  8. APP定制开发:APP软件开发的语言和开发环境

    APP软件开发是移动互联网开发公司常开发的一种手机应用系统,对于刚刚进入APP软件开发领域的新手来说,选择什么编程语言和需要什么开发环境来开发APP软件是常遇到的问题.下面亿合科技小编来为大家分享下: ...

  9. SNMP的工作原理&软件开发

    SNMP(Simple Network Management Protocol,简单网络管理协议)首先是由IETF的研究小组为了解决Internet上的路由器管理问题而提出的.SNMP的设计原则是简单 ...

随机推荐

  1. 在对文件进行随机读写,RandomAccessFile类,如何提高其效率

    花1K内存实现高效I/O的RandomAccessFile类 JAVA的文件随机存取类(RandomAccessFile)的I/O效率较低.通过分析其中原因,提出解决方案.逐步展示如何创建具备缓存读写 ...

  2. <STL源码剖析> 6.3.6 power

    计算power的算法说明 http://www.sxt.cn/u/324/blog/2112 翻译自  http://videlalvaro.github.io/2014/03/the-power-a ...

  3. SpringBoot2.0--- 多数据源配置

      在开发的过程中我们可能都会遇到对接公司其他系统等需求,对于外部的系统可以采用接口对接的方式,对于一个公司开发的两个系统,并且知道相关数据库结构的情况下,就可以考虑使用多数据源来解决这个问题.Spr ...

  4. 原 在windows上创建文件名以“.”开头的文件

    在实际项目开发中,我们会经常遇到以”.”开头的配置文件.例如我们如果需要通过配置文件给npm更换源就需要更改.npmrc文件,然而还有很多友友还不清楚如何创建一个类似的文件,今天就和大家分享下这个小技 ...

  5. H3C DHCP服务器显示及维护

  6. java 静态导入(1.5特性,好处是不用写类名)

    import语句可以导入一个类或某个包中的所有类 import static语句导入一个类中的某个静态方法或所有静态方法 语法举例: import static java.lang.Math.sin; ...

  7. http header详解,HTTP头、请求头、响应头、实体头

    Content-Language,Content-Length,Content-Type,Content-Encoding,mime分析 Accept 指定客户端能够接收的内容类型 Accept:te ...

  8. iview+vue查询分页实现

    本文为实战坑记录 子组件(共用的搜索组件) <template> <div> <h2>{{pdbTitle}}</h2> <Form ref=&q ...

  9. jQuery 工具类函数-检测对象是否为空

    在jQuery中,可以调用名为$.isEmptyObject的工具函数,检测一个对象的内容是否为空,如果为空,则该函数返回true,否则,返回false值,调用格式如下: $.isEmptyObjec ...

  10. Linux 内核存取配置空间

    在驱动已探测到设备后, 它常常需要读或写 3 个地址空间: 内存, 端口, 和配置. 特别 地, 存取配置空间对驱动是至关重要的, 因为这是唯一的找到设备被映射到内存和 I/O 空间的位置的方法. 因 ...