# 累计充值活动接口

**cumulative_recharge**

累计充值活动的 `list` / `detail` / `claim` 走通用活动接口（`kind=cumulative_recharge`，详见 [活动接口](400_promotion.md)）。周期从玩家**首次充值**当时起算，按 `cycle_days` 自然滚动。

---

## 活动详情字段 {#detail}

通用接口 `GET /promotion/cumulative_recharge/detail` 的 `data` 字段：

字段 | 类型 | 说明
---|---|---
content | string | 活动说明
cycle_days | number | 周期天数
bet_multiple | number | 打码倍数
current_recharge | number | 本周期累计充值金额
cycle_start_at | number | 本周期开始时间（unix 秒）
cycle_end_at | number | 本周期结束时间（unix 秒）
can_be_collected | bool | 是否存在可领阶梯
claimable_bonus | number | 当前可领的最高阶梯奖金
claimable_tier_index | number | 当前可领最高阶梯下标，无可领时为 `-1`
config | list<Tier\> | 阶梯展示列表

`Tier` 字段：

字段 | 类型 | 说明
---|---|---
amount | string | 阶梯门槛金额（已格式化）
bonus | string | 命中后奖金
level | number | 阶梯序号（从 1 开始）
reached | bool | 累计充值是否达到该阶梯
claimed | bool | 当前周期该阶梯是否已领
claimable | bool | 是否可立即领取（`reached && !claimed`）

未充值的玩家 `current_recharge=0`、`cycle_start_at=0`、`config[*]` 全为初始态。

---

## 状态码

`gamePayload` 返回 `status` 字段：

- `0` 无周期 / 未充值
- `1` 当前周期有未领阶梯
- `2` 当前周期所有阶梯已领完

---

## 领取阶梯奖励 {#claim}

通用接口 `POST /promotion/cumulative_recharge/claim`。

**输入:**

字段 | 类型 | 必填 | 说明
---|---|---|---
tier_index | number | 是 | 要领取的阶梯下标（与 `config[*].level - 1` 对应）

**输出:**

字段 | 类型 | 说明
---|---|---
bonus | number | 入账奖金
tier_index | number | 已领取阶梯下标
cycle_end_at | number | 本周期结束时间（unix 秒）
