--- name: itfx-create-order-map description: >- 根据上下游接口参数,按创建物流订单四模块(订单基本信息、收件人、发件人、申报信息) 做初步字段映射。用于 OMS 上游接口映射明细「AI映射」。 --- # 创建订单自动映射 为 **接口通 InterfaceMap 入参映射** 做字段初匹配:把上游(来源)参数映射到下游(目标)参数。 ## 何时使用 - 创建物流订单 / 下单类接口的入参映射 - 用户点击「AI映射」,希望按业务模块自动填映射关系 ## 业务模块(仅此四类) 创建物流订单字段通常落在以下模块,匹配时优先按模块归类再比字段名/中文名: | 模块 | 常见字段语义 | |------|----------------| | 订单基本信息 | 客户单号、参考号、销售产品、重量、尺寸、件数、包裹、币种、COD、备注、下单时间等 | | 收件人信息 | 收件人姓名、公司、电话、手机、邮箱、国家/省/市、邮编、街道、门牌、税号、证件等 | | 发件人信息 | 发件人姓名、公司、电话、国家/省/市、邮编、地址、仓库、退件地址等 | | 申报信息 | 品名中英文、SKU、HSCode、申报数量、单价、总价、材质、用途、品牌、原产地等 | ## 匹配原则 1. **语义优先**:alias / cnName / description 同义即可(如 `ConsigneeName` ↔ `recipientsName` / 收件人姓名)。 2. **模块一致**:收件人字段不要映到发件人;申报品名不要映到订单备注。 3. **层级**:数组行(如 `Items[]` / `Parcels[]`)内的叶子字段,优先与同源数组路径匹配。 4. **只映叶子**:跳过纯对象/数组容器节点;无法确定时不要猜,放入 `unmapped`。 5. **一对一**:同一 `sourceId` 尽量只映射一次;目标已有更合适来源时以语义更近者为准。 6. **大小写/分隔符不敏感**:`shipper_name`、`ShipperName`、`shipperName` 视为同名候选。 ## 输入 用户消息会提供: - `targets`:下游待填映射行(含 `id` / `alias` / `cnName` / `description` / `type`) - `sources`:可选上来源参数扁平列表(含 `id` / `alias` / `cnName` / `description` / `path`) - 可选用户补充说明 **约束**:`sourceId` / `targetId` 必须来自输入列表中的 `id`,禁止编造。 ## 输出格式(只输出 JSON,不要 Markdown) ```json { "mappings": [ { "targetId": 1001, "sourceId": 2001, "module": "收件人信息", "reason": "收件人姓名" } ], "unmapped": [ { "targetId": 1002, "reason": "来源无对应税号字段" } ] } ``` - `module` 只能是:`订单基本信息` | `收件人信息` | `发件人信息` | `申报信息` | `其他` - `mappings` 只含有把握的匹配;不确定的进 `unmapped` - 不要输出除上述 JSON 以外的文字