4ee6de2548
- CpsActivityUpdate schema + repo update_activity(部分更新,非 None 覆盖) - router 按「合并后最终值」校验平台必填项(同新建口径),写审计 cps.activity.update - 可改名/平台/对应字段/落地页图/备注/状态 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.7 KiB
1.7 KiB
POST /api/v1/intent/recognize — 外卖比价 Phase 1 意图识别(透传到 pricebot)
所属:Compare 组(前缀
/api/v1,外卖比价) | 鉴权:无(MVP 阶段不鉴权) | ← 返回 API 索引
入参
任意 JSON body,不做 schema 校验,原样透传给上游。后端仅从中读 device_id、trace_id、step 用于日志。
客户端实际传源平台购物车页的无障碍树采集结果(pricebot 协议里的 screens:cart_page_1 / cart_page_2)。
出参
pricebot-backend 的响应原样返回(JSON object)。典型含 result(店名)、calibration(含 source_platform_id / items / price),客户端在 step=0 把它透传进 /price/step。
错误码
400body 不是合法 JSON502pricebot 上游不可达(网络错误)或返回 5xx
说明
把请求体原样转发到 PRICEBOT_BASE_URL 的 /api/intent/recognize(去掉 /v1,async httpx)。一次比价只调一次。真正的识别逻辑(剪枝 + 索引 + LLM)在 pricebot-backend(另一个 repo,GoalEngine),本接口只是"透传壳"。
外卖比价由客户端无障碍引擎在源平台(淘宝闪购 / 美团 / 京东外卖)购物车页点悬浮球触发 → 调本接口拿 query + calibration → 进入 /price/step 循环。
⚠️ MVP 阶段不鉴权(同 coupon/step):device_id 透传给 pricebot 区分设备,后端拿不到 user_id → 行为暂绑不到登录用户。待补 JWT,见 待办与技术债.md P1。
相关配置:
PRICEBOT_BASE_URL(默认http://localhost:8000)PRICEBOT_COMPARE_TIMEOUT_SEC(默认 60s,意图识别是大上下文 LLM,比领券的 30s 长)