Files
shaguabijia-app-server/docs/integrations/meituan.md
T
OuYingJun1024 3d1e8969e6 docs: 新建 docs/integrations 集成层文档 + api 文档变薄
- 新增 docs/integrations/(README + jiguang/sms/meituan/pangle/wxpay 各一篇):
  记录各 SDK 集成的签名/验签/加解密/协议细节与踩坑(对齐 app/integrations 分层)
- docs/api 接口文档变薄: 受影响接口头部加「集成实现」链接,把验签/RSA/CPS 签名
  等重逻辑描述移到集成文档;ad-pangle-callback 验签段精简为指针
- docs/api/README 补架构说明(api 薄 / 重逻辑在 integrations)
- 后端技术实现.md 目录树补全(福利/钱包/签到/省钱/发奖端点 + crud/integrations 现状),
  pangle/wxpay 标注移入 integrations
- ad_reward_golive_checklist 路径同步 core→integrations

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 20:45:12 +08:00

1.8 KiB
Raw Blame History

美团联盟 CPS 开放接口(meituan

文件:app/integrations/meituan.py | 关联接口:meituan-coupons · meituan-feed · meituan-referral-link | ← 集成索引

作用

调美团联盟 CPS 开放接口:查券(列表/搜索)+ 换推广链。

函数 / 异常

函数 说明
query_coupon(...) 券查询/搜索 → /cps_open/common/api/v1/query_coupon
get_referral_link(...) 换推广链 → /cps_open/common/api/v1/get_referral_link
异常 MeituanCpsError HTTP 错误 / 业务 code != 0api 层翻成 502

签名机制(关键)

类阿里云网关 S-Ca 头,但 stringToSign 只有 4 段

METHOD\n + Content-MD5\n + Headers(按 key 升序 "k:v\n") + Url

没有 Accept / Content-Type / Date 行(加了就签名失败)。签名 = HMAC-SHA256(stringToSign, AppSecret) 的 base64。参与签名的头:S-Ca-Timestamp,S-Ca-App(在 S-Ca-Signature-Headers 里声明)。

入参换算 / 坑

  • 经纬度 × 1_000_000 取整传给美团。
  • 榜单字段是 listTopiId(美团接口的拼写,少个 c,别"纠正"成 listTopicId)。
  • searchText 时走搜索、sort_field 默认 6(离我最近);否则按 listTopiId 出榜单。
  • 换链 sid 不传则用 MT_CPS_DEFAULT_SIDlinkTypeList 默认 [1,3]

配置

配置项 说明
MT_CPS_APP_KEY / MT_CPS_APP_SECRET CPS 网关 AppKey / AppSecret
MT_CPS_HOST 网关 host
MT_CPS_DEFAULT_SID 默认推广位 sid(渠道)
MT_CPS_TIMEOUT_SEC 请求超时

备注

美团接口当前无鉴权,且换链的 sid 允许客户端传值覆盖默认渠道——见对应 api 文档「备注」。