# 营销线索接口

---

## 每日分配号码 {#allocate}

为当前登录玩家分配当日的营销线索号码（明文手机号）。**接口幂等**：同一玩家在同一自然日（按商户时区）内多次调用，只补齐差额，不会重复分配已获得的号码。需登录。

**URL:** `POST` /marketing_lead/allocate

**输入:** 无

**输出:**

字段 | 类型 | 说明
---|---|---
items | list&lt;object&gt; | 当日已分配给当前玩家的号码列表，元素结构见下表

**元素字段:**

字段 | 类型 | 说明
---|---|---
phone | string | 明文手机号
is_registered | bool | 该号码是否已注册为当前商户玩家；每次请求实时刷新

**业务规则:**

- **每日配额**：每位玩家每天固定分配 `20` 个号码；接口调用时若当日已分配数量不足 20，则补齐差额，已分配的号码保持不变
- **今日互斥**：已被今天分配给其它玩家的号码，不会再分配给你
- **历史去重**：你历史上任意一天曾拿到过的号码，之后永远不会再分配给你
- **候选池条件**：号码必须未被注册为当前商户玩家，且今天尚未被分配过
- **实时注册状态**：返回前会重查线索表，`is_registered` 反映查询时点的最新状态（例如你昨天拿到某号码，今天该号码被别人拿去注册了，本次返回时会置 `true`）
- **池不足**：当可分配号码不足 20 时，接口不报错，返回实际可分配数量（可能为 0）；后续调用会随号码池补充自动补齐

**业务错误:**

message | 触发条件
---|---
请先登录 | 未携带有效 JWT 或 token 无效

**请求示例:**

```bash
curl -X POST 'https://<your-domain>/api/game/marketing_lead/allocate' \
  -H 'Authorization: Bearer <jwt>'
```

**响应示例:**

```json
{
  "items": [
    { "phone": "13800001111", "is_registered": false },
    { "phone": "13800002222", "is_registered": true }
  ]
}
```
