高级会员接口(会员/积分/优惠券/奖品)
高级会员的 API 能力分两个方向:平台在玩家中奖/消耗积分时回调你的接口(积分/优惠券/奖品,你来实现);你也可以调用平台接口(加抽奖次数、名单管理、查询配置)。签名体系见第三方CRM对接。
基础域名:https://open-api.24haowan.com。除特别说明外均为 POST,Content-Type 支持 form 或 JSON,响应为 {code, msg/data},code: 0 表示成功。
一、你实现、平台调用(发奖回调)
平台 POST JSON 到你配置的 URL;body 含业务参数 + appid + sign(签名方案 D,毫秒 timestamp)。空值/0 值参数不会出现在 body 中(也不参与签名)。
1. 积分查询
- 时机:玩家进入活动/抽奖前查余额。
- 入参:
u_id(玩家在你系统的标识)、req_type(getPoint/getPointPlay)、managerUid(所属场地/门店编码,多场地时)、timestamp、appid、sign。 - 返回:
{code:0, result:{integral: 余额, free_times: 免费次数, discount_point: 折扣}}。
2. 积分扣减(消耗积分抽奖)
- 入参:
num(扣多少)、reqType、game_id、game_name、u_id、sequence_id(幂等键)、managerUid、timestamp、appid、sign。 - 返回:成功
{code:0, result:{}};余额不足{code:8100, msg:"积分不足"}(msg 原样弹给玩家,可自定义话术)。
3. 积分增加(中积分奖)
- 入参:同上(
sequence_id= 平台中奖记录号,务必幂等去重)。 - 返回:
{code:0, msg:"ok"}。
4. 优惠券发放(中优惠券奖)
- 入参:
coupon_id(你系统的券模板号,配奖品时填入)、u_id、game_id、sequence_id、timestamp、appid、sign。 - 返回:
{code:0}。失败或结构错误会进入平台人工确认队列(不会自动重试成功态)。
5. 第三方奖品发放(中实物/自有奖品)
- 入参:
gift_id(你系统的奖品号)、u_id、game_id、sequence_id、timestamp、appid、sign。 - 返回:
{code:0}。发奖调用时间点可在奖品配置中选择(如"玩家填完收货地址后")。
硬性约定:响应必须含数字 code 字段;缺失按结构错误(积分类直接判失败,券/奖品转人工)。仅 HTTP 2xx 的响应体会被解析。平台侧超时 10 秒。
二、平台提供、你调用
鉴权分两族:签名族(方案 A:全参数排序拼值 + 密钥 md5,见 CRM 对接页算例)与 JWT 族(Bearer token,开通时发放/换取)。
加抽奖/游玩次数 addChance(签名族)
POST /open/games/addChance
{ game_id, appid, u_id, type: "play"|"lottery", num, sequence_id, timestamp, sign }
- 成功
{code:0, msg:"发放成功"};重复的sequence_id返回{code:1}(已处理过,幂等)。 - 活动已结束返回
-2003 GAME_OUT_DATE—— 活动结束后请停止调度。
查询活动应用凭据(渠道凭据鉴权)
GET /open/gameBox/getWebUserByGameId?game_id=
→ {code:0, msg:{game_id, app_id, app_secret}}
JWT 的构造与使用
JWT 族接口以 Bearer 方式携带 token:payload 为 {iat, exp, appid},HS256 签名(密钥按开通形态使用平台密钥或应用密钥——具体密钥形态 KB 不含,开通时向平台/客服索取);请求需带 X-Requested-With: XMLHttpRequest 头。详细构造与验证工具见开放文档站 /docs/ 的 embed/auth 篇。
名单与配置族(JWT 鉴权)
| 接口 | 用途 |
|---|---|
POST /open/gameReward/getLotteryNum |
查玩家剩余抽奖次数 |
POST /open/gameReward/getPrizeConfigToGame |
查活动奖品配置 |
POST /open/gameReward/addListToGift |
奖品级白/黑/指定中奖名单 |
POST /open/gameReward/addWhiteListToGame / addBlackListToGame |
活动级名单 |
POST /open/gameReward/gameList |
按场地(plaza_code)查活动列表 |
JWT 族错误码:-9 TOKEN 错误、-8 权限错误、-1 系统错误。
玩家身份怎么对应?
| 标识 | 含义 | 出现在哪 |
|---|---|---|
u_id / uid |
玩家在你方系统的唯一标识(嵌入登录时由你注入) | 玩家进入签名、发奖回调、addChance |
openid |
玩家在商家公众号下的微信身份 | 中奖名单导出、公众号相关能力 |
| 平台内部 user_id | 平台自己的玩家主键 | 平台内部,不对外承诺 |
对接后同一玩家的 u_id 与 openid 在平台内部关联;对外接口一律以 u_id 为准。
限流说明 ⚠️
会员档位表中的 100/1000/5000 人每秒是"活动玩家并发"承诺,不是开放接口的 QPS 限额——两者不可混用。开放接口未公开 QPS 限额,以联调与商务约定为准;请在调用侧做好节流与退避。
错误码汇总(open-api 签名族)
| code | 含义 |
|---|---|
| 0 | 成功 |
| 1 | 重复请求(幂等命中) |
| 7001 | 签名错误 |
| 7100 | JWT/凭据错误 |
| -2001 | 用户不存在 |
| -2002 | 活动不存在 |
| -2003 | 活动已过期 |
| 9000/9001/9002 | 积分查询/增加/扣减异常 |
| 8000/8001/8002 | 权限类错误 |