第9章 商家采购门户场景(面向下游商户)
下游商户不是用后台,而是用「商家采购门户」自助选购、下单、查单。本章讲商户侧怎么用,以及商户下单后运营侧怎么接。
商户与后台操作员是同一套账号体系,区别在角色:商户账号登录后只看到「商家采购」相关菜单(选购商品 / 商品详情 / 购物车 / 销售单查看)。
商户从登录到下单的完整流程:
st=>start: 商户登录
a=>operation: 选购商品(搜索/分类/品牌墙/筛选库存)
b=>operation: 加入挑选清单(浮窗批量调数量)
c=>operation: 确认加入购物车
d=>condition: 有自定义价格权限?
e1=>operation: 可设临时价(点价格编辑)
e2=>operation: 按默认售价
f=>operation: 购物车结算(核对数量/地址/联系人)
g=>end: 生成销售订单 → 运营侧接单
st->a->b->c->d
d(yes)->e1->f->g
d(no)->e2->f
9.1 商户账号登录与浏览选购
- 商户用分配的账号登录 https://dash.wholety.com ,进入门户界面。
- 顶部导航(所有门户页共用):
- 品牌名 / 返回选购;搜索框直接搜商品;
- 商家切换下拉(一个账号可见多个商户时选择订货商家);收货地址在购物车的结算弹窗选择;
- 购物车、订单(我的销售单)、登出;
- 有价格权限的运营账号还会看到清除临时价入口(见 9.2.1)。
- 选购商品页的筛选与浏览:
- 左侧「仅显示有库存」开关——只看能立刻发货的;
- 热门聚焦筛选:Best sell / Trending / New / Restock;
- 分类树多选筛选;品牌墙点品牌进该品牌商品,「返回品牌墙」回来;
- 商品卡片上可切换规格(SKU)、点「仓库详情」看各仓库存分布、数量 −/+ 后「加入挑选」。
- 右下角挑选清单浮窗:集中调整各商品数量、删除误选项,最后「确认加入购物车」一次性入车。
商品卡片和挑选清单按 SKU 库存单位接受两位小数,例如 0.25 箱、1.75 箱。数量最少 0.01,受当前可见库存上限限制;不足一箱的有货规格可直接选择剩余数量。重复加入同一规格会累计选购数量,确认入车前再核对清单。

「挑选清单」是购物车前的暂存区——批量选完再一次入车,比逐个加购快。
9.2 商品详情与价格展示规则
- 点商品进入 商品详情:看规格、参考价、库存和图片。明确的零价显示为零;没有报价仍显示未知。
- 数量按 SKU 库存单位接受两位小数,例如 0.25 箱,也可用 −10 / −1 / +1 / +10 步进。最少 0.01,受当前可见库存上限限制。按目录价选购也可以填写普通备注。
- 有「销售订单商品售价及折扣写」权限的账号还可选价格 / 折扣 / 赠送。没有主动选择价格时保留目录价;选择报价后保存自选价。授权运营可为门户当前选择的商户下单,无需将自己的账号绑定到该商户。
- 价格展示规则:
- 按该商户的售价/折扣展示(不同商户可能不同价,见 8.2)。
- 商户看不到采购成本价(那是后台敏感字段)。
详情和表单归属当前主账户、成员、商户和商品。切换这些范围或离开页面会清除旧详情,迟到的读取不会恢复它。读取失败可点「重试」;加购结果无法确认时,先刷新购物车核对内容,再决定是否重试。
同一 SKU 已在购物车时,再次加购会增加数量,保留购物车行已保存的报价、赠品和备注。需要修改这些已存值时,请在购物车编辑该行,核对后再结算。
9.2.1 自定义价格(临时价)与清空
有价格权限的账号(如运营代下单)可对某个商品设置自定义价格,临时覆盖该商户的默认售价(特殊报价、定向促销等场景):
- 在选购列表 / 购物车的商品价格区点击价格,弹出临时价编辑层,可设单品单价 / SKU 价格 / 赠品,点「确定」生效;已设临时价的商品会有标记,点「×」可单独删除。
- 顶部导航点 清除临时价(清空当前自定义价格),一键恢复系统按该商户维度计算的默认售价。
临时报价与选购清单保存在当前浏览器,按主账户、登录成员和商家分别保存;换成员不会沿用前一个人的草稿。本次登录中回到原商家可继续已保存的草稿,返回选购页会重新读取购物车里改过的临时报价;退出登录或清理本地数据会删除浏览器草稿。它们不修改商家的目录默认价,也不会作为其他成员的本地草稿共享。需要撤回特价时用「清除临时价」,单个撤回点价格标记上的「×」。
确认加购后再核对: 加购等待期间再次点击不会重复提交。已确认成功的数量从选购清单扣除,失败或未确认的商品保留;等待期间额外挑选的数量也保留。切换成员、商家或离页后,旧回复不会清空新的清单、关闭新抽屉或改变新操作的等待状态。已经发送的请求仍可能完成,应回到原成员查看购物车。旧格式中没有成员归属的浏览器草稿不会自动沿用,请重新核对商品及报价。
9.3 购物车与提交订单
- 进入购物车,逐行核对:数量 −/+ 调整、移除(需确认)、顶部「清空」整车(需确认)。
- 有价格权限时:行内点价格可再编辑临时价(单品单价 / SKU 价格 / 赠品),改完点行「保存」。
- 空车时有「去选购」快捷入口;底部实时显示合计金额。
- 点「生成销售订单」,在结算弹窗里确认 收货地址 / 联系人 / 联系电话 / 备注,提交。
- 提交后生成一张正式 销售订单(绑定该商户),进入运营侧处理流程。
收货联系人:结算确认的联系人、电话会随订单保存,并在订单详情中展示;以后修改地址簿不会覆盖本单信息。联系人最多100字符,电话最多50字符,可填写国际区号和分机。运营新增送货记录时,默认采用本单地址和联系人;选择其他地址或明确清空时,再填写对应收货人。保存配送信息不会执行出库或登记收款。
金额核对:默认价按当前商户等级从适用通用价与本商户专属价中取最低价,结算时重新确定;已保存的手动报价保留。缺少售价显示为未知并阻止结算,明确的零价可以结算。单价和整行优惠分别保存,不把优惠摊回单价;赠品另列零价行。例如购买 2 件、单价 CAD 2.01、整行优惠 CAD 0.01,应收 CAD 4.01;赠送 0.50 件不改变这个商品净额。
价格权限:修改自选单价、整行优惠或赠品需有「销售订单商品售价及折扣写」(sale_order_price_write)权限。只有浏览权限时可按目录价选购、调整数量和普通备注。接口同样检查权限,角色变更后结算也会复核已存自选价格;遇到权限拒绝时,清除旧覆盖值或请有权限的运营复核。接口只修改数量时保留省略的单价、优惠、备注,显式 null 才清除对应字段。
提交后核对结果:同一已存购物车并发提交只生成一张销售草稿;结算过程中新增的商品留在车里供下一单使用。订单生成、购物车清理和缓存变更一起成功或回滚。若连接中断或结果尚未确认,先打开「销售单查看」并刷新购物车,再决定是否重新提交。门户会引导到查单页并阻止立即重复提交;Agent 也应先读取订单和购物车核对结果。
9.3.1 保存失败、切换商家与结果未确认
| 遇到的情况 | 接下来怎么做 |
|---|---|
| 提交前的报价保存或购物车核对失败 | 页面停止提交订单并保留结算表单。部分行修改可能已经保存,刷新购物车,核对数量和报价后再试。 |
| 正在保存或提交时切换商家、登录成员,或离开购物车 | 旧操作停止后续步骤。迟到的响应不会清空新商家的结算表单或把新会话带到旧订单。已发送的请求仍可能在服务器完成,返回原商家查单核对。 |
| 订单提交后连接中断,结果未确认 | 先到「销售单查看」核对,再刷新购物车。没有收到回复不代表订单未生成,请勿立即重复提交。 |
提交采用点击确认时的行报价、收货地址和备注。报价是逐行保存的,准备阶段失败不代表先前修改已回滚;这一步也不代表已经生成订单。Agent 通过 MCP 操作时同样应区分报价保存失败与订单结果未确认,并先读取现状再决定后续动作。
商户侧的购物车结算 = 后台的一张销售订单草稿,运营需选择仓库库存批次并保存商品以校验和占用库存,再走审批/出库/结算流程(第 8 章)。门户结算本身不代表库存批次已经分配。
9.4 查看自己的销售单与订单状态
- 商户 → 销售单查看,查看当前商家的订单;用底部页码翻页,每页可选20、50或100单。切换商家或登录成员后从第一页重新读取。
- 订单状态随运营侧处理推进:待审批 → 已下单 → 已出库 → 已交货 → 已结算。
- 点订单卡片查看商品、已保存的联系人和备注;结算后的订单链接也可直接打开对应订单。
- 读取列表失败时点「重试」重新读取当前页。等待期间切换商家、成员或离页,返回后读取当前范围;迟到的旧结果不会覆盖新页。
订单状态反映运营处理进度,实际收款由运营核对付款流水。
9.5 商户下单后,运营侧如何接单处理
商户结算购物车后,运营在后台 销售 → 销售订单管理 能看到这张新订单(商户即下单方)。运营侧照常走:
- 审核/审批订单 → 确认下单(冻结库存)。
- 仓库出库发货。
- 销售结算、生成分析。
商户门户只是「下单入口」,订单一旦生成,后续全在后台按标准销售流程跑。运营无需在门户里操作。
本章小结
- 商户与后台同一账号体系,靠角色区分;商户只看到「商家采购」菜单。
- 商户流程:选购 → 商品详情(看售价/税)→ 加购 → 结算 → 生成正式销售订单 → 在「销售单查看」跟踪状态。
- 商户看不到采购成本;价格按本商户维度、税按本地区税率。
- 商户下单即生成后台销售订单,运营按标准流程接单处理。
下一章进入 仓库场景。