a753843804
把 main 的实时 feed 换成离线库版本 + status 降级兜底: - rec 智能推荐:改走离线库 meituan_coupon 筛佣金≥3%(SQL 去重+排序+分页),不再实时撞限流 - distance 距离最近:改实时搜索翻页(sortField=6),按用户真实位置由近及远排 - top_sales 销量最高:改 SQL DISTINCT ON 分页,修原全表拉取+全量解析的翻页卡顿 - 四路加 status(ok/empty/degraded):空库/上游失败均返 200 不再 5xx;/coupons 502 软化为降级 - FeedResponse/CouponListResponse 加 status 字段(默认 ok,向后兼容) 注意:替换 main #18 的实时 feed 实现,需 review 行为变更;依赖的离线库由 ETL 灌(见 meituan-etl PR) --------- Co-authored-by: chenshuobo <1119780489@qq.com> Reviewed-on: #40
1.8 KiB
1.8 KiB
POST /api/v1/meituan/coupons — 券列表 / 搜索
所属:美团 CPS 组(前缀
/api/v1/meituan,全部无鉴权) | 鉴权:无 | ← 返回 API 索引集成实现:见 integrations/meituan(CPS S-Ca 签名、入参换算坑)。
入参
| 字段 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
longitude |
float | ✅ | — | 经度 |
latitude |
float | ✅ | — | 纬度 |
platform |
int | ❌ | 1 | 1=外卖/到家, 2=到店 |
biz_line |
int | ❌ | null | 到店子类:1到餐 2到综 3酒店 4门票 |
list_topic_id |
int | ❌ | 3 | 榜单:1精选 2今日必推 3爆款筛选 5限时筛选 |
keyword |
string | ❌ | null | 搜索词(填了则忽略 list_topic_id,走搜索) |
sort_field |
int | ❌ | null | 1价格 2销量 6离我最近(搜索时默认 6) |
search_id |
string | ❌ | null | 翻页 token,首页不填 |
page |
int | ❌ | 1 | ≥1 |
page_size |
int | ❌ | 20 | 1–20 |
出参
响应 200:{ items: CouponCard[], has_next: bool, search_id: string|null, status: "ok"|"empty"|"degraded" }。CouponCard 结构见 API 索引;status 语义见 feed 接口。
错误码
无业务级错误码:未配凭证 / 美团调用失败都返 200 + 空 items + status=degraded(2026-06-10 起不再抛 502,避免前端弹报错 toast)。
说明
- 当前 Android 客户端未调用此接口(搜索功能尚未实现),仅后端实现完整
- 统一软降级(2026-06-10):未配
MT_CPS_APP_KEY/SECRET、或已配但调美团失败,都返空 +status=degraded(此前后者抛 502);成功但无结果 →status=empty。前端按status显示「服务繁忙」/「暂无」,不再弹错误