跳转到内容
返回官网

消息通知(打单发货结果)|WebSocket / HTTP 推送

核心场景 蜂巢打单发货结果回调通知,便于第三方业务系统同步订单与物流单号。

在蜂巢打单中完成「发货」操作后,蜂巢消息服务会把发货结果(成功或失败)推送给开发者。第三方系统可据此更新自有系统中的订单状态,并在失败时按失败原因继续处理。

接收消息前,请先开通对应消息权限。

推送方式

支持以下两种推送方式,按业务需要二选一(也可咨询客服协助配置):

推送方式 说明 配置方式
WebSocket 开发者客户端长连接接收消息,实时性好,适合已有 WebSocket 接入能力的系统 使用 AppId + Token 连接消息服务,详见 订单消息通知 / WebSocket 接入
HTTP 蜂巢主动向您提供的 HTTPS 回调地址 POST 推送消息 请将回调 URL 提供给蜂巢客服,由客服在后台为您的开发者账号完成配置与启用

HTTP 推送说明

  1. 请提供可公网访问的 HTTPS 回调地址给客服。
  2. 客服配置并启用后,发货结果将以 HTTP POST(JSON)推送到该地址。
  3. 您的接口在成功接收并处理后,请返回:
{"code":0,"message":"success"}

若返回非 0 或超时/网络失败,蜂巢会按重试策略再次推送。

消息列表

消息 topic 说明
fc_print_trade_print_finish 蜂巢打单电子面单打印完成,并执行了发货操作后触发

发货可能成功,也可能失败。无论成功或失败,都会推送本消息;失败时 data.message 中包含失败原因,可按关键字匹配后做后续处理。

消息详情:蜂巢打单电子面单打印完成

  • topic:fc_print_trade_print_finish
  • 产生条件:在蜂巢打单系统中点击发货完成时产生

一、成功示例(WebSocket)

{
"uuid": "CNK+ChAAGAAgAA==",
"code": 0,
"msg": "success",
"topic": "fc_print_trade_print_finish",
"data": "{\"logistics_code\":\"SF\",\"logistics_name\":\"顺丰快递\",\"logistics_no\":\"SF3270428903757\",\"message\":\"成功\",\"op\":9,\"orders\":[{\"order_id\":\"DO202511071126162748211\",\"qty\":12}],\"out_trade_no\":\"DO20251107112616274821\",\"seller_nick\":\"全渠道店铺\",\"status\":1,\"tid\":\"DO20251107112616274821\"}"
}

data 字段为 JSON 字符串,解析后结构示意如下:

{
"logistics_code": "SF",
"logistics_name": "顺丰快递",
"logistics_no": "SF3270428903757",
"message": "成功",
"op": 9,
"orders": [
{
"order_id": "DO202511071126162748211",
"qty": 12
}
],
"out_trade_no": "DO20251107112616274821",
"seller_nick": "全渠道店铺",
"status": 1,
"tid": "DO20251107112616274821"
}

二、失败示例(WebSocket)

{
"uuid": "CNK+ChAAGAAgAA==",
"code": 0,
"msg": "success",
"topic": "fc_print_trade_print_finish",
"data": "{\"logistics_code\":\"ZJS\",\"logistics_name\":\"宅急送\",\"logistics_no\":\"ZJS000383452882\",\"message\":\"订单[3912560886642498520]发货失败,订单状态为[已收货],不是待发货状态。\",\"op\":6,\"seller_nick\":\"b2b-1624961198\",\"status\":0,\"tid\":\"3912560886642498520\",\"orders\":[{\"order_id\":\"DO202511071126162748211\",\"qty\":12}]}"
}

三、HTTP 推送示例

HTTP 推送的业务字段与 WebSocket 一致;外层通常还会带 sign 等签名字段,示例如下:

{
"uuid": "",
"code": 0,
"sign": "32E6A1F31E67DF9F2CE37101AA072B80",
"topic": "fc_print_trade_print_finish",
"msg": "success",
"data": "{\"logistics_code\":\"SF\",\"logistics_name\":\"顺丰快递\",\"logistics_no\":\"SF3270428903757\",\"message\":\"成功\",\"op\":9,\"orders\":[{\"order_id\":\"DO202511071126162748211\",\"qty\":12}],\"out_trade_no\":\"DO20251107112616274821\",\"seller_nick\":\"全渠道店铺\",\"status\":1,\"tid\":\"DO20251107112616274821\"}"
}

data 参数说明

参数名 类型 说明
op int 电商平台编码:1 淘宝,2 拼多多,3 抖店 OMS,5 京东,6 1688,8 快手
logistics_code String 快递公司代码
logistics_name String 快递公司名称
logistics_no String 物流单号;多个单号(如子母单)用英文逗号分隔,第一个为母单号
out_trade_no String 导入订单时传入的自有系统订单号,原样返回
seller_nick String 电商平台商家账号
tid String 电商平台订单号(导入时的 trade_no);若拆单,会在原单号后追加 -x
orders 集合 商品明细列表
orders.order_id String 子订单明细标识(导入时的 order_id),原样返回
orders.qty int 商品明细数量
status int 调用电商平台发货是否成功:0 失败,1 成功
message String 发货失败时的失败原因;成功时一般为「成功」

常见失败原因(message)

data.message 可能有多种文案,常见例如:

  1. 该物流公司揽收或派送范围不支持
  2. 订单[3912560886642498520]发货失败,订单状态为[已收货],不是待发货状态
  3. 当前订单[291066544547]不符合用户行为[1]规则,详情请看文档 https://joyspace.jd.com/pages/oCLTiHpIQphOqPV4crgK
  4. 业务服务错误,订单已退款

如需精确定位,建议按失败原因中的关键字匹配后处理。