36f646597d
应用本次会话开始时 stash 的两份文档 WIP(主题一致:领券去鉴权后的文档同步): - docs/api/coupon-step.md: 鉴权 Bearer → 无(MVP);入参说明加 device_id;说明段去 "鉴权壳"措辞,加"前端已接通"链路 + MVP 不鉴权数据债说明(指向 P1)。 - docs/后端技术实现.md: 行 18 表格 / section 6 段 / 已知问题表三处 stash pop 已干净 apply;一句话总结(行 20)"鉴权 + 透传壳"→"透传壳"对齐;api/v1/ 文件树 冲突 — 采纳同事 8 行 router 清单(wallet/signin/tasks/savings/ad 新加),给 coupon.py 行末尾加"MVP 不鉴权",并补 compare.py 一行(本分支刚加的外卖比价 透传,同事 commit 那时还没有,补上保持文档跟代码一致)。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.5 KiB
1.5 KiB
POST /api/v1/coupon/step — 一键领券任务步进(透传到 pricebot)
所属:Coupon 组(前缀
/api/v1/coupon) | 鉴权:无(MVP 阶段不鉴权) | ← 返回 API 索引
入参
任意 JSON body,不做 schema 校验,原样透传给上游。后端仅从中读 device_id、trace_id、step 用于日志。
出参
pricebot-backend 的响应原样返回(JSON object)。
错误码
400body 不是合法 JSON502pricebot 上游不可达(网络错误)或返回 5xx
说明
把请求体原样转发到 PRICEBOT_BASE_URL 的 /api/coupon/step(async httpx)。真正的领券逻辑在 pricebot-backend(另一个 repo,GoalEngine + 事件驱动),本接口只是"透传壳"。
是产品"一键领券"的接入点,前端已接通:首页「去领取」→ CouponPromptDialog 确认 → 权限检查 → 无障碍引擎 PriceBotService.startCouponClaim() → 循环调本接口,后端逐张券下发 launch/wait/done。
⚠️ MVP 阶段不鉴权(已去掉 CurrentUser 依赖):device_id 透传给 pricebot 区分设备,但后端拿不到 user_id → 领券行为暂时绑不到登录用户(采集不到用户级画像)。待补 JWT 鉴权 + device_id↔user_id 绑定,详见 待办与技术债.md P1。
相关配置:
PRICEBOT_BASE_URL(默认http://localhost:8000)PRICEBOT_REQUEST_TIMEOUT_SEC(默认 30s,因领券单帧最多 wait 6s)