Appearance
执行抽奖接口
概述
执行抽奖接口用于在用户发起抽奖时,完成积分扣减并返回中奖结果。
- 调用方:小程序前端
- 请求方式:
POST - 请求路径:
/lottery/draw - 请求头要求:
Authorization、X-Idempotency-Key
接口用途
扣减用户积分,并返回本次抽奖的中奖结果与最新积分。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| activityId | string | 否 | 活动 ID,首期单活动场景下可选 |
返回参数
| 参数 | 类型 | 说明 |
|---|---|---|
| recordId | string | 抽奖记录 ID |
| prize | object | 中奖奖品 |
| currentPoints | int | 抽奖后积分 |
prize 对象示例
| 参数 | 类型 | 说明 |
|---|---|---|
| prizeId | string | 奖品 ID |
| prizeName | string | 奖品名称 |
成功示例
{"code":"0","message":"ok","data":{"recordId":"lr_1","prize":{"prizeId":"p1","prizeName":"20积分"},"currentPoints":130}}
失败示例
错误码
| 错误码 | 说明 |
|---|---|
| A0001 | 通用请求异常 |
| B1003 | 当前积分不足,请先获取更多积分 |
| A0004 | 幂等或重复请求相关异常 |
约束与规则
幂等要求
- 要求幂等
- 同一
X-Idempotency-Key只允许产生一次结果
前后端同步规则
接口调用成功后,前端需要同步更新:
- 用户积分
- 中奖结果页
- 消息未读数
缓存策略
- 不缓存
一致性要求
- 强一致
实施要点
- 前端调用时必须传递
Authorization与X-Idempotency-Key。 - 服务端需保证积分扣减与抽奖结果返回的原子性/一致性。
- 对重复请求应基于幂等键返回同一结果,避免重复扣减积分。
- 成功响应后,前端应立即刷新积分与抽奖相关展示状态。
