v1.0.0 (2026-08-15 18:56)
离线对账回调 (Offline)
概述
- 接口路径:
/api/v1/callback/offline - 请求方法:
POST - 说明:在 Seamless(无缝模式)下,当玩家退出游戏、网络断开或者经过 30 分钟无操作超时被踢出游戏时,VCT Hub 发起此回调,将最后一次对账数据同步给 Client 侧,以便记录完整的游戏会话退出日志。
请求参数 (Body)
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
action | string | 是 | 动作类型(如 exit_game 或 timeout_exit_game) |
member_id | string | 是 | 玩家用户名 |
currency | string | 是 | 货币代码 (例如 MYR, USD, IDR) |
provider | string | 否 | 游戏厂商编码 (如 ODIN,统一为大写) |
game_id | string | 否 | 游戏会话/局号 ID |
game_name | string | 否 | 游戏名称 |
game_code | string | 否 | 游戏代码 |
game_type | string | 否 | 游戏类型 |
reclaimed_amount | number (float) | 否 | 退出时携带的最终金额 |
sign | string | 是 | 请求签名(签名格式:HexEncode(HMAC-SHA256(member_id + "." + timestamp, apiSecret))) |
timestamp | int64 | 是 | 秒级 Unix 时间戳 |
请求示例
json
{
"action": "timeout_exit_game",
"member_id": "testing888",
"currency": "MYR",
"provider": "ODIN",
"game_id": "e6e848533f244c6baa641dd6fccec168",
"game_name": "爱丽丝梦游仙境",
"game_code": "pq_mengyouxianjing",
"reclaimed_amount": 126.9,
"sign": "28919e47b6fb07968a45048620901df1e610b3e5e6722627154904d8503cfb57",
"timestamp": 1786089845
}响应参数 (Response Body)
| 参数名 | 类型 | 说明 |
|---|---|---|
status | string | 处理状态:固定返回 "success" |
received | integer | 固定返回 1 |
响应示例
json
{
"received": 1,
"status": "success"
}处理逻辑建议
- 验签: 校验 Body 参数中携带的
sign签名。 - 记录日志: 根据接收到的
action(如超时强制踢出的timeout_exit_game),记录玩家此次游戏会话的退出记录,方便客服查询与对账。 - 资金比对 (可选): 可将传入的
reclaimed_amount与玩家当前本地钱包余额进行对账,用于监控异常差值(Diff),但不建议在此接口直接进行自动补款或扣款。