前端对接仓库配货 / 打包

推荐箱型 / 设箱校验

打包小程序设箱确认弹窗、货架列表合规筛选与角标、包裹详情设箱不符标识;运营后台打包配置预估可装重量

端
打包小程序 / 运营后台
后端服务
supplier / admin
更新
2026-08-07
接口数
7

Markdown 原文(给 AI 用):https://doc.xfun.fun/box-suggest-api.md

包裹单生成时后端会写入系统推荐箱型。打包小程序需要新增三处交互:设箱不符时的确认弹窗、打包完成货架列表的合规筛选与角标、包裹详情的"设箱不符"标识;运营后台需要在打包配置页维护"预估可装花材重量"。本页覆盖全部接口变更与字段口径。

供应商端 · 打包小程序 + 运营后台

服务:supplier-api(小程序) / bulky-admin(运营后台) 全部 POST · JSON Body 更新:2026-08-07

核心概念:boxMatchStatus

所有包裹对象新增的匹配状态字段,前端展示只认它

每个包裹可能带有推荐箱型(suggestPackId / suggestPackInfo)。打包员设箱后,实际箱型与推荐箱型的比对结果由后端算好放在 boxMatchStatus,前端 不要自行比对 id:

boxMatchStatus含义展示说明
0无推荐什么都不展示历史包裹、中通普通包裹、未设箱的包裹都是 0,界面与现状一致。特殊花材附加面单有推荐(蝴蝶兰/红掌/大花蕙兰→蝴蝶兰箱,蓝色妖姬→蓝妖箱),仅当配置里没有对应箱型时才为 0
1设箱合规正常态,无强调实际箱型 = 推荐箱型;筛选 chips 里的「设箱合规」对应此态
2设箱不符红色标识实际箱型 ≠ 推荐箱型(小程序为确认强制使用;PDA 扫码不拦截直接落库)。详情打红标,货架卡片打「不符」角标

设箱确认弹窗流程

打包完成 / 改箱时,箱型与推荐不符会被后端拦下,需要二次确认

正常调用打包完成接口

扫箱型码后按现有逻辑调 /package/pack/finish(或 scan / change),参数不变,forceFlag 不传或传 0。

后端返回 code = 6001 时弹确认框

新错误码 6001(箱型与推荐不符)。用 code 判断,不要匹配 msg 文案。msg 已带推荐箱型名,可直接作为弹窗正文。其余错误码照旧当普通失败 toast。

弹窗示意:正文直接渲染后端 msg,例如「该箱型与系统推荐箱型(110*60*60)不符,请确认合理性并强制使用」,按钮为【否】【确认使用】。

按用户选择分支处理

说明

注意: 中通冷链禁用大箱的报错仍是普通错误码 1(msg「中通冷链不允许50*50以上的箱子」),不能通过 forceFlag 绕过,不要对它弹确认框。

接口变更:打包完成 ×3

三个接口入参与错误码变更完全一致

POST/package/pack/finish打包师傅 · 拍照设箱

同规则适用:/package/pack/finish/change(打包完成后改箱)。扫码枪 /package/pack/finish/scan(PDA)除外:PDA 无弹窗交互,设箱不符 不拦截、不返回 6001,直接完成并由后端留痕,PDA 前端无需任何改造。

入参新增 新增

字段类型必填说明
forceFlagint可选默认 0。用户在确认弹窗点「确认使用」后重调时传 1,其余参数保持与首次调用一致

新增错误码 6001

失败响应示例(触发确认弹窗)

json
{
  "code": 6001,
  "msg": "该箱型与系统推荐箱型(110*60*60)不符,请确认合理性并强制使用",
  "data": null
}

确认后重调请求示例(仅多一个 forceFlag)

json
{
  "codeContent": "88231",
  "packId": 14,
  "packName": "110*50*50箱",
  "url": "https://…/finish.jpg",
  "shelfPackage": 1,
"forceFlag": 1
}

接口变更:货架列表筛选

打包师傅首页「打包完成」tab 的 chips 筛选与卡片角标

POST/package/shelf/page打包师傅 · 货架分页

入参新增 新增

字段类型必填说明
boxMatchFilterint可选不传 / 0 = 全部;1 = 仅设箱合规;2 = 仅设箱不符。chips 仅在 status=1(打包完成)tab 下展示,切 tab 或取消选中时不传

出参 records[] 新增 新增

字段类型说明
boxMismatchFlagint0 / 1。为 1 时货架卡片右上角展示红色「不符」角标。该货架下任一包裹设箱不符即为 1
说明

筛选「仅设箱不符」且当日没有任何不符货架时,接口正常返回空列表(total=0),按空态展示即可。

接口变更:详情与列表的包裹字段

包裹对象(WmsExpressPackageInfoVo)统一新增三个字段

POST/package/shelf/detail货架打包详情

同字段出现于:/package/info(扫码包裹信息)、/package/page、/package/list(已废弃)。凡返回包裹对象的地方都带。

包裹对象新增字段 新增

字段类型说明
suggestPackIdint推荐箱型配置 id,0 = 无推荐
suggestPackInfostring推荐箱型名称,如 110*60*60箱;无推荐时为空串
boxMatchStatusint0 无推荐 / 1 设箱合规 / 2 设箱不符,见核心概念

响应片段示例

json
{
  "id": 88231,
  "packageId": 14,
  "packageInfo": "110*50*50箱",
"suggestPackId": 17,
"suggestPackInfo": "110*60*60箱",
"boxMatchStatus": 2,  // 展示红色「设箱不符」标签
  "expressStatus": 10
}

接口变更:运营后台(bulky-admin)

打包配置维护预估花材容量 + 发货单列表展示推荐箱型

POST/system/add/packConfig仓库管理 · 打包配置 · 新增/编辑

入参新增 新增

字段类型必填说明
flowerWeightdecimal必填预估可装花材重量(kg),范围 0~1000,最多 2 位小数。0 表示不参与推荐箱型(专用箱如蝴蝶兰箱、蓝妖箱就配 0)。不传后端报「预估可装花材重量不能为空」
说明

必须与后端同步上线: 字段为必填,旧版配置页不传该字段时,新增/编辑都会保存失败。

POST/system/packConfigList仓库管理 · 打包配置 · 列表

出参新增 新增

字段类型说明
flowerWeightdecimal预估可装花材重量(kg)。上线时存量配置会统一清零,由运营逐个补录

配置页展示建议

POST/order/wmsExpressPackage/list打单页 · 物流面单列表

出参 records[] 新增 新增

字段类型说明
suggestPackIdint推荐箱型配置 id,0 = 无推荐
suggestPackInfostring推荐箱型名称
suggestPackFlowerWeightdecimal推荐箱型的预估可装花材重量(kg);无推荐或该箱型未配置容量时为 null

/order/wmsExpressPackage/listByIds 同样返回这三个字段。实际箱型仍看 packageId / packageInfo(设箱后才有值)。

POST/order/sendOrder/list发货单 · 分页列表/导出

出参 records[] 新增 新增

字段类型说明
suggestPackListarray按序对应每个 普通面单的推荐箱型,元素为 {packId, packName}。中通或未配置箱型容量时为空数组

响应片段示例

json
{
  "sendNo": "SD20260807001",
  "allTotalWeight": 180.00,
  "expressPackageNum": 3,
"suggestPackList": [
{ "packId": 17, "packName": "110*60*60箱" },
{ "packId": 17, "packName": "110*60*60箱" },
{ "packId": 3, "packName": "小件90*20" }
]
}
说明

expressPackageNum 口径变化: 普通物流现在等于推荐箱型个数(不再固定按 60kg 拆);中通仍按 45kg 拆、航邦 50kg 特殊拆分已取消;所有箱型都未配置容量时回退 60kg 拆分。特殊花材的附加面单不在 suggestPackList 里,件数口径不变。

UI 落点

对照产品图的三个展示位

① 货架列表 · 筛选 chips

设箱合规 设箱不符

仅「打包完成」tab 下展示,单选可取消。选中「设箱不符」传 boxMatchFilter=2,合规传 1,取消不传。

② 货架卡片 · 角标

12-197 卡片右上角 不符

boxMismatchFlag=1 时展示红色角标,任意 tab 下有数据就展示,不依赖筛选是否开启。

③ 打包详情 · 包裹标签

包裹类型:110*50*50箱 设箱不符

boxMatchStatus=2 时在「包裹类型」旁展示红标;为 1 时不额外展示;为 0 时保持现状。

联调注意

容易踩的坑集中在这里