营销线索接口
每日分配号码
为当前登录玩家分配当日的营销线索号码(明文手机号)。接口幂等:同一玩家在同一自然日(按商户时区)内多次调用,只补齐差额,不会重复分配已获得的号码。需登录。
URL: POST /marketing_lead/allocate
输入: 无
输出:
| 字段 | 类型 | 说明 |
|---|---|---|
| items | list<object> | 当日已分配给当前玩家的号码列表,元素结构见下表 |
元素字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| phone | string | 明文手机号 |
| is_registered | bool | 该号码是否已注册为当前商户玩家;每次请求实时刷新 |
业务规则:
- 每日配额:每位玩家每天固定分配
20个号码;接口调用时若当日已分配数量不足 20,则补齐差额,已分配的号码保持不变 - 今日互斥:已被今天分配给其它玩家的号码,不会再分配给你
- 历史去重:你历史上任意一天曾拿到过的号码,之后永远不会再分配给你
- 候选池条件:号码必须未被注册为当前商户玩家,且今天尚未被分配过
- 实时注册状态:返回前会重查线索表,
is_registered反映查询时点的最新状态(例如你昨天拿到某号码,今天该号码被别人拿去注册了,本次返回时会置true) - 池不足:当可分配号码不足 20 时,接口不报错,返回实际可分配数量(可能为 0);后续调用会随号码池补充自动补齐
业务错误:
| message | 触发条件 |
|---|---|
| 请先登录 | 未携带有效 JWT 或 token 无效 |
请求示例:
curl -X POST 'https://<your-domain>/api/game/marketing_lead/allocate' \
-H 'Authorization: Bearer <jwt>'
响应示例:
{
"items": [
{ "phone": "13800001111", "is_registered": false },
{ "phone": "13800002222", "is_registered": true }
]
}