落地私聊空运询价与TMS报价回填,按后台模板出单。
查到价后把币种、单位、数量、单价、备注写入报价单,避免销售只看到光秃秃的金额。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -38,10 +38,11 @@
|
||||
|
||||
查价必填(激活业务线之后):
|
||||
|
||||
- **海运**:起运港、目的港、品名、货量、整柜或拼柜、箱型箱量
|
||||
- **海运**:起运港、目的港、品名、货量、整柜或拼柜、箱型箱量、报价日期
|
||||
箱型箱量是一个原始业务字段;结构化 `containerItems` 只由 DeepSeek B 投影。
|
||||
- **空运**:起运地、目的地、品名、件数、毛重、体积、包装类型
|
||||
- **陆运**按二级类型:国内拼车/整车、跨境集拼/整车、中港(见合同 JSON)
|
||||
- **空运**:起运地、目的地、品名、件数、重量、体积、包装类型、报价日期
|
||||
- **陆运**按二级类型:国内拼车/整车、跨境集拼/整车、中港(见合同 JSON),各类型均含报价日期
|
||||
- **报价日期**:三线查价都要,用来查 TMS 当天/指定日的价;销售没说则系统默认为当天(上海时区),不补问;销售说了用原话,不得用当天盖掉。
|
||||
|
||||
协同阶段另有协同必填(贸易条款、HS、含电含磁等),点「协同」必须用 **不可变销售原话** 重跑模型 B,不得用卡片口令覆盖。
|
||||
|
||||
@@ -51,13 +52,11 @@
|
||||
|
||||
| 分类 | 含义 |
|
||||
|---|---|
|
||||
| 有价 | 业务码成功且有报价 |
|
||||
| `TMS_NO_QUOTE_1002` | 无价 |
|
||||
| `TMS_NO_QUOTE_1003` / 合同不匹配 | 业务缺项或投影失败 |
|
||||
| 字典/协议投影失败 | Java 投影失败,不是「没价格」 |
|
||||
| 有价 | 业务码成功且有报价,返回报价 |
|
||||
| `TMS_NO_QUOTE_1002` | 暂无报价(含 TMS 未匹配、TMS 仍缺项) |
|
||||
| 技术失败 | HTTP/超时/熔断 |
|
||||
|
||||
字典:精确匹配 `source_code`/`source_name`,禁止模糊、正则、别名推断。域:空运机场、包装、陆运地址/车型/运输类型、海运箱型、币种参考。
|
||||
查价前只校验询价必填是否已齐。销售原文非空即采集(包装写散货就记散货),本地不做包装白名单、不对销售再拦。卡片按用户说的展示,再去查 TMS。
|
||||
|
||||
## 报价文件
|
||||
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
1. 企微私聊:文字、图片、Excel/PDF 三种询价入口。
|
||||
2. 海运 / 空运 / 陆运(含陆运二级类型)按唯一字段合同补问:完整输入不误补、不漏字段。
|
||||
3. 随时新开询价并保存旧工单;可激活历史工单从精确断点继续;不重放已提交副作用。
|
||||
4. TMS:有价、无价 1002、业务缺项 1003、字典/协议失败、技术异常,分支互不混淆。
|
||||
4. TMS:询价必填齐了就查价;有价返回报价,没有返回暂无报价;技术异常单独分支。不做本地字典对应判断。
|
||||
5. 需要协同时建群或复用空运固定群;群文字与群附件都能形成正确报价版本。
|
||||
6. 采用、调价、Excel/PDF、对象存储、附件登记、企微发送、流程唤醒共用同一 quoteVersion。
|
||||
7. 正式报价后:成交、未成交、协商中;未成交原因、协商调价、终止、超时不串路由。
|
||||
|
||||
@@ -108,7 +108,7 @@ NormalizedInbound
|
||||
## 出站
|
||||
|
||||
- 主账:登录或 Token,所有写操作要幂等键(message_id / request_id / quoteVersion)。
|
||||
- 企微:只通过 outbox;失败重试;过期出站丢弃不计业务成功。询价与正式同一 Agent `1000010`;运维 `1000014`,测试告警正文加 `[test]`。
|
||||
- 企微:只通过 outbox;失败重试;过期出站丢弃不计业务成功。询价与正式同一 Agent `1000010`;运维 `1000014`,测试**告警**正文加 `[test]`,销售询价确认不加 `[test]`、不加「询价卡片」标题。建单确认按空运询价必填 8 项:起运地、目的地、品名、件数、重量、体积、包装类型、报价日期(另加工程单号、运输方式),末行「工单已创建,正在查询TMS报价。」销售侧标签不得写成毛重、重量(KG)、体积(CBM)。缺项补问先回显已识别,再列待补充并给示例(重量如 100KGS、体积如 2CBM、包装如托盘),待补充行不加圆点;报价日期销售说了写入已识别,没说默认当天,不进待补充。起运地/目的地说了地名即采集完成,不得因对不上三字码再补问。每次出询价确认都新开一单再查 TMS,相同需求不复用旧工单号。包装等字段销售说什么就记什么,禁止白名单把散货等原文挡回去再补问。
|
||||
- 对象存储:S3 兼容;生成文件后登记主账附件再发企微。
|
||||
|
||||
## 测试
|
||||
|
||||
+5
-5
@@ -36,7 +36,7 @@
|
||||
|
||||
## API 能力(与智能体、后台对齐)
|
||||
|
||||
- 工单:创建、校验、查询、聚合视图、六态 transition、异常 handle/retry。
|
||||
- 工单:创建、校验、查询、聚合视图、六态 transition、异常 handle/retry。智能体每次出询价确认都新开一单,相同需求不复用未关闭工单。
|
||||
- TMS:query、template-fields、detail、health、字典 sync。lock/release 接口可留,**与现网共用 TMS 密钥期间默认关闭出站**。
|
||||
- 报价决策:采用、调价、成本/售价基线(空运与海陆规则不同,与合同语义对齐)。
|
||||
- 模板、识别任务、生成任务的查询接口(任务执行可在智能体,主账存结果指针)。
|
||||
@@ -58,11 +58,11 @@
|
||||
|
||||
路径默认:`/quote/v2/query`、`/quote/v2/detail`、`/quote/template-fields`、`/air/cabin/lock`、`/air/cabin/release`、`/auth/token`。地址与 Client 三件套、字典 Token **直接用 `03` 现网值**,不要另要一套 TMS。智能体仍只打**新主账**,不直连 TMS、不打现网 Java 8080。
|
||||
|
||||
## 字典投影
|
||||
## 查价(不做字典对应)
|
||||
|
||||
- EXACT_ONLY,禁止模糊。
|
||||
- 空运包装缺省可投影 `packageType=1`(全部),并保留 raw。
|
||||
- 失败要返回智能体能区分的 `source=TMS_DICTIONARY_PROJECTION` 与明确错误码,不要装成「无报价」。
|
||||
- 询价必填齐了就出站查 TMS,本地不把「珠海」对成机场码、不因对不上而拒绝查价。
|
||||
- 有价返回报价;TMS 无匹配或未出价格则「暂无报价」。
|
||||
- 技术失败(超时/熔断/未配置)单独分类,禁止 fixture 假价。
|
||||
|
||||
## 不要
|
||||
|
||||
|
||||
+10
-10
@@ -13,21 +13,21 @@
|
||||
|
||||
## 查询请求
|
||||
|
||||
主账把智能体已确认字段 + 字典投影结果映射为 TMS V2 body。投影规则以 `tms-dictionary-projection-v2.json` 为准(该文件放在新仓库):
|
||||
主账按 TMS V2 `/quote/v2/query` 把空运查价参数带全再出站。智能体必须参数齐全才建单、才出询价卡片。
|
||||
|
||||
- AIR:origin/destination → 机场代码;packaging → packageType
|
||||
- LAND:地址、车型、运输类型
|
||||
- SEA:港口、箱型等
|
||||
- 匹配 EXACT_ONLY;多值歧义返回 AMBIGUOUS,不得 last-write-wins
|
||||
空运出站必带:`requestId`(UUID)、`workOrderNo`(WOYYYYMMDDNNNN)、`transportMode=AIR`、`quoteDate`(yyyy-MM-dd)、`segments[0]` 的 origin/originCode/destination/destinationCode/cargoName、`quantity`(整数)、`weightKg`/`volumeCbm`(大于 0 的数字)、`packageType`。缺一项:补问,不出卡片,不出站。
|
||||
|
||||
- 销售未说报价日期则填当天,不补问该字段
|
||||
- 口语单位在出站前去掉;机场名能对应三字码则带上,销售已写三字码则原样带
|
||||
- 空运 `packageType` 必须是 TMS 字典码:1=全部(现网航线常无价)、2=托盘/散货/卡板、3=纸箱/木箱。销售卡片仍写原文;禁止把托盘编成 1
|
||||
|
||||
## 响应
|
||||
|
||||
规范化 envelope:`code`、`tmsData`、`tmsRequestId`。映射到智能体分类:
|
||||
规范化 envelope:`code`、`tmsData`、`tmsRequestId`。销售侧只分两路业务结果:
|
||||
|
||||
- code 1 且有价 → 有价
|
||||
- 1002 → 无价
|
||||
- 1003 或投影失败 → 用户/合同缺项,**不是**无价
|
||||
- HTTP 5xx/超时/熔断 → 技术失败
|
||||
- code 1 且有价 → 返回报价
|
||||
- 1002 / 无 quoteFound / TMS 说缺项 → **暂无报价**
|
||||
- HTTP 5xx/超时/熔断 → 技术失败(不是「暂无报价」)
|
||||
|
||||
锁舱/释放:**与现网共用同一套 TMS Client 时,新系统默认关闭**(API 返回未开放,企微/后台不展示)。只做 query / detail / template-fields / 字典同步。切流接管前再打开 lock/release,避免两套应用抢舱。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user