b23335d5fb
docs: reorganize api docs into categorized subdirectories and fill missing docs - Categorize 77 existing api docs into 16 business-domain subdirectories (auth/ad/wallet/coupon/compare/savings/signin/tasks/invite/user/ device/platform/intent/meituan/other) plus admin/ and internal/ - Split admin/ into 7 sub-resource subdirectories (auth/users/wallet/ withdraws/feedbacks/admins/ad) with 4 single-file docs at root - Create 21 new docs covering 28 previously undocumented endpoints: ad/watch-report, wallet/transfer-auth (3 endpoints), coupon/session+ stats+completed-today+prompt (7), invite/me+invitees+bind+landing-track, user/onboarding (2), platform/flags+ad-config+app-version, intent/step+precoupon/step, analytics/events, order/report, report/submit+records, feedback/config+records, trace/finalize - Add mock request/response JSON examples to all new docs - Create docs/README.md with full category index for LLM navigation - Update docs/api/README.md: fix all links, add new endpoint rows, replace "no doc" markers with actual links - Fix back-navigation links (./README.md -> ../README.md or ../../README.md) in all moved files @
1.7 KiB
1.7 KiB
POST /api/v1/coupon/step — 一键领券任务步进(透传到 pricebot)
所属:Coupon 组(前缀
/api/v1/coupon) | 鉴权:Bearer access_token(客户端契约;Server 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。
⚠️ 客户端契约 vs Server 实现:Android 客户端通过 AuthInterceptor 已自动带 Authorization: Bearer <access_token> 头(契约层 OK);Server MVP 阶段暂未启用强校验——coupon.py 没接 Depends(get_current_user),只读 device_id 透传给 pricebot 区分设备,后端拿不到 user_id → 领券行为暂时绑不到登录用户(采集不到用户级画像)。待补强校验 + device_id↔user_id 绑定,详见 待办与技术债.md P1。
相关配置:
PRICEBOT_BASE_URL(默认http://localhost:8000)PRICEBOT_REQUEST_TIMEOUT_SEC(默认 30s,因领券单帧最多 wait 6s)