Files
shaguabijia-app-server/docs/api/ad-feed-reward.md
T
ouzhou 0bddce516f feat(ad): eCPM 单位统一为分 + 新增看广告金币审计接口 (#32)
- eCPM 口径修正:getEcpm 原值是分/千次,新增 parse_ecpm_fen;parse_ecpm_yuan
  改为 ÷100 转元,因子1 阈值按元判档(100/200/400),收益换算用元
- test-grant 用客户端按 ad_session_id 上报的真实 eCPM 发奖(取不到/≤0 兜底 200)
- 新增 GET /admin/api/ad-coin-audit 只读复算对账(router/repo/schema),复用发奖公式
- 同步更新 docs/api、docs/database 的分/元口径

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: OuYingJun1024 <1034284404@qq.com>
Reviewed-on: #32
Co-authored-by: ouzhou <ouzhou@wonderable.ai>
Co-committed-by: ouzhou <ouzhou@wonderable.ai>
2026-06-10 15:53:52 +08:00

1.6 KiB
Raw Blame History

POST /api/v1/ad/feed-reward — 信息流广告完成后结算金币

点位 2:比价等待 / 领券信息流广告。每展示满 10 秒累计一份奖励,视频完成后一次性入账。

鉴权

需要 Bearer token。

请求体

字段 类型 必填 说明
client_event_id string 客户端生成的幂等事件 id,8-64 字符
ad_session_id string|null 客户端生成的一次信息流广告会话 id,用于对账/排查
ecpm string 本条信息流广告 eCPM(穿山甲 getEcpm 原值),按“分/千次展示”处理(非元)
duration_seconds int 实际展示/播放秒数
adn string|null 实际投放 ADN
slot_id string|null 实际展示代码位

响应

字段 类型 说明
granted bool 本次是否入账;达上限时为 false
status string granted / capped
coin int 本次发放金币
unit_count int 按 10 秒折算出的奖励份数
daily_limit int 每日信息流展示次数上限,默认 500

计算口径

  • 奖励份数:duration_seconds // 10
  • 单份奖励:eCPM / 1000 × 因子1(eCPM 档) × 因子2(当天累计份序号) × 10000,四舍五入为整数金币。
  • eCPM 档:0-100=0.1101-200=0.3201-400=0.4>400=0.6
  • LT 档:第 1 份 2.0,第 2 份 1.5,第 3 份 1.3,第 4-10 份 1.1,第 11 份及以后 1.0

数据写入

  • ad_feed_reward_record 新增一行。
  • 入账时 coin_account 增加余额。
  • 入账时 coin_transaction 写入 biz_type=feed_ad_reward