顺丰开放平台对接信息.md 4.39 KB

顺丰开放平台对接信息

配置位置

顺丰相关配置位于 抖音物流子项目 中:

douyin/DouyinLogistics.API/appsettings.json → "Sf" 节

配置结构(SfConfig)

配置项 说明 代码属性 当前值(占位符)
CustomerCode 顺丰客户编码(即 partnerID) SfConfig.CustomerCode your_customer_code
CheckWord 顺丰校验码(用于签名) SfConfig.CheckWord your_check_word
MonthlyAccount 顺丰月结账号 SfConfig.MonthlyAccount your_monthly_account
ApiBaseUrl API 基础地址 SfConfig.ApiBaseUrl https://sf-api.sf-express.com

注意:所有本地配置文件中的顺丰凭证均为占位符,实际生产凭证配置在服务器运行环境中(未提交到 Git)。

appsettings.json 配置示例

{
  "Sf": {
    "CustomerCode": "实际客户编码",
    "CheckWord": "实际校验码",
    "ApiBaseUrl": "https://sf-api.sf-express.com",
    "MonthlyAccount": "实际月结账号"
  }
}

相关代码文件

文件 说明
douyin/DouyinLogistics.API/Models/SfConfig.cs 顺丰配置模型类
douyin/DouyinLogistics.API/Services/SfService.cs 顺丰 API 调用服务
douyin/DouyinLogistics.API/Models/SfWaybillResponse.cs 顺丰运单响应模型
douyin/DouyinLogistics.API/Controllers/OrdersController.cs 订单控制器(调用顺丰创建运单)
douyin/DouyinLogistics.API/Services/OrderService.cs 订单服务(调用 SfService)

已对接的顺丰 API

1. 创建运单(已实现)

  • 服务代码EXP_RECE_CREATE_ORDER
  • API 地址POST {ApiBaseUrl}/sf-express-service/sfexpressService
  • 签名方式SHA256( Base64(msgData) + timestamp + CheckWord ) → Base64
  • 请求格式
{
  "partnerID": "CustomerCode",
  "requestID": "UUID",
  "serviceCode": "EXP_RECE_CREATE_ORDER",
  "timestamp": "毫秒时间戳",
  "msgData": "Base64编码的请求JSON",
  "msgDigest": "签名"
}
  • 响应示例(来自数据库 api_order_dispath.sfSendBody):
{
  "success": true,
  "errorCode": "S0000",
  "msgData": {
    "orderId": "648498145050693",
    "originCode": "025",
    "waybillNoInfoList": [
      { "waybillType": 1, "waybillNo": "SF7444495309022" }
    ],
    "routeLabelInfo": [...]
  }
}

2. 路由查询(未实现,待对接)

  • 服务代码EXP_RECE_SEARCH_ROUTES
  • 用途:通过快递单号查询物流轨迹
  • 需要的信息:拦截时间、拦截状态、退回单号

3. 拦截件查询(未实现,待对接)

  • 服务代码:待确认(可能是 EXP_RECE_SEARCH_INTERCEPT 或通过路由查询获取)
  • 用途:查询拦截状态和退回单号

数据库相关表

api_order_dispath(ncc_wutong 库)

存储订单发货记录和顺丰 API 响应。

字段 类型 说明
id varchar 主键
manOrderId varchar 主订单
orderId varchar 单个订单 ID
addTime datetime 发货时间
status int 状态
billNo varchar 快递单号(如 SF7444495309022)
sfSendBody text 顺丰下单 API 完整响应 JSON
sfMdBody text 顺丰面单数据
batchId varchar 批量订单 ID

wt_kdljjl(ncc_wutong 库)

快递拦截记录表(目前数据为空,无 API 自动同步)。

字段 类型 说明
F_Id 主键 主键
F_Thd 退货单 退货单号
F_Ddh 订单号 原始订单号
F_Kdgs 快递公司 如"顺丰"
F_Ljsj datetime 拦截时间
F_Ljzt 拦截状态 拦截状态
F_Ddzt 订单状态 订单状态
F_Bgzt 包裹状态 包裹状态
F_Shzt 审核状态 审核状态

缺少字段:退回单号(需新增)

发货人信息

{
  "Name": "PongGame",
  "Phone": "18014801756",
  "Address": "浦洲路39号沿海创中心A301",
  "Province": "江苏省",
  "City": "南京市",
  "District": "浦口区"
}

待办事项

  • [ ] 获取生产环境的实际 CustomerCode、CheckWord、MonthlyAccount 并补充到本文档
  • [ ] 对接顺丰路由查询接口(EXP_RECE_SEARCH_ROUTES),获取物流轨迹
  • [ ] 对接顺丰拦截查询,获取拦截时间、拦截状态
  • [ ] 在 wt_kdljjl 表中新增"退回单号"字段
  • [ ] 实现通过快递单号自动查询并填充拦截信息