Skip to content

Summary API 接口文档

说明

本文档是由PV提供给外部开发商查询用户游玩过程中产生的下注、盈利等动作的接口文档,下文所涉及的接口均使用 POST 请求, 需带上ts、sign、mch_id以及data。

1. 金额参数

接口交互中涉及到的金额参数都以厘为单位,数据类型为int64。

1元 = 1000厘
1分 = 10厘

2. 时间

接口中所有涉及的时间均为UTC时间, 时间筛选规则为左闭右开: time_start <= query_time < time_end。

3. 全局请求接口格式

请求方式:POST 请求结构:

json
{
    "ts": 1742452087,   # int类型
    "sign": "5b53eb607246fbfc94d16b7806ec7613",
    "mch_id": 101,  # int类型
    "data": {}
}

请求参数说明:

参数说明类型是否必填备注
ts10位时间戳int
sign签名str固定32位
mch_id商户idint
data接口参数dict

4. 全局接口返回格式

所有正常返回的status_code均为200,请按照body里的code字段处理异常。

json
{
    "code": 200,
    "msg": "",
    "data": {...} | [...]
 }

返回字段说明:

参数说明类型是否必填备注
code错误编码int
msg错误提示str
data具体接口返回dict | list根据不同接口返回字典或列表

5. 全局错误码

错误码错误信息说明
200成功
400参数错误
500内部错误

接口签名(sign)算法

注: data字典转换为一个紧凑的 JSON 格式字符串(去掉空格),键值对之间使用逗号分隔,键和值之间使用冒号分隔,并且键会按照字母顺序排序(ASCII码顺序)。而后再加上ts和key(商户key,由我方提供)计算md5值。

Python

python
import hashlib
import json


def compute_md5(data: str, ts_str: str, key: str) -> str:
    m = hashlib.md5()
    m.update(data.encode("utf-8"))
    m.update(ts_str.encode("utf-8"))
    m.update(key.encode("utf-8"))
    return m.hexdigest()


if __name__ == "__main__":
    # 商户key
    key = "xxxxxxxxxxxxxxx"
    # 请求参数
    request_json = {
        "ts": 1742452087,   # int类型
        "mch_id": 101,  # int类型
        "data": {                 # data为空也需要计算 data_str = "{}"
            "game_id": 1011,
            "draw_id": "1011-12312-1232131"
        }
    }
    # 排序后转换为字符串
    data_str = json.dumps(
        {k: v for k, v in request_json['data'].items()},
        separators=(",", ":"),
        sort_keys=True)
    # 计算sign
    sign = compute_md5(data_str, str(request_json['ts']), key)

具体接口文档

注:以下接口文档只涉及接口本身的字段(data),不包含需全局传入的ts、sign、mch_id

1. 所有游戏汇总接口

1.1 所有游戏列表 /api/all/list

Method: POST

URI: /api/all/list

Description: 通过接口返回给OP相关GameList信息以及图标资源url,方便OP查询游戏更新情况。

Request Body:

Content-Type: application/json

json
"data": {}

Response Body:

Content-Type: application/json

json
{
    "code": 200,
    "msg": "",
    "data": [
        {
            "game_id": 1006,
            "game_name": "Elves",
            "game_type": "Slots",
            "resource_url": "https://www.google.com",
            "resource_with_name_url": "https://www.google.com"
        },
        {
            "game_id": 1007,
            "game_name": "777-fruit",
            "game_type": "Slots",
            "resource_url": "https://www.google.com",
            "resource_with_name_url": "https://www.google.com"
        }
        ]
 }

返回字段说明

字段名称说明类型备注
game_id游戏idint
game_name游戏名称str
game_type游戏类型strSlots、Multiplayer(百人)、Crypto(区块链)、Table(对战)、Fish(捕鱼)
resource_url游戏资源地址str
resource_with_name_url游戏资源地址(带名称)str

1.2 所有游戏阶段汇总 /api/all/stage/summary

Method: POST

URI: /api/all/stage/summary

Description: 用于获取所有游戏阶段汇总。

Request Body:

Content-Type: application/json

json
    "data": {
        "time_start": 1742365687,
        "time_end": 1742452087
    }

请求参数说明

参数说明类型是否必填备注
time_start开始时间,10位时间戳int时间范围上限60天
time_end结束时间,10位时间戳int时间范围上限60天

Response Body:

Content-Type: application/json

json
{
    "code": 200,
    "msg": "",
    "data": {
        "day_list": [
            {
                "date": "2025-03-20",
                "bet_count": 102,
                "bet_amount": 38388400,
                "gain_amount": -19038400,
                "company_gain_amount": 19038400
            },
            {
                "date": "2025-03-19",
                "bet_count": 278,
                "bet_amount": 255164400,
                "gain_amount": -36218400,
                "company_gain_amount": 36218400
            }
        ],
        "summary": {
            "bet_count": 380,
            "bet_amount": 293552800,
            "gain_amount": -55256800,
            "company_gain_amount": 55256800
        }
    }
}

返回字段说明

字段名称说明类型备注
day_list按日期分割列表list
date日期str
bet_count当日所有玩家总下注次数int
bet_amount当日所有玩家总投注金额int
gain_amount当日所有玩家总赢钱金额int
company_gain_amount当日公司盈亏int
summary阶段汇总dictdict
bet_count阶段所有玩家总下注次数int
bet_amount阶段所有玩家总投注金额int
gain_amount阶段所有玩家总赢钱金额int
company_gain_amount阶段公司盈亏int

1.3 所有游戏投注投注历史记录 /api/all/history

Method: POST

URI: /api/all/history

Description: 用于【OP商户】查询各种类型游戏的投注历史数据

Request Body:

Content-Type: application/json

json
    "data": {  
        "time_start": 1744790000,
        "time_end": 1744990439,
        "page_size": 2000,
        "page": 1,
        "game_ids": [2000, 3015]
    }

请求参数说明

参数说明类型是否必填备注
time_start开始时间,10位时间戳int开始时间与结束时间不可跨天查询, 开始与结束时间跨度不能超过1小时
time_end结束时间,10位时间戳int开始时间与结束时间不可跨天查询, 开始与结束时间跨度不能超过1小时
page_size分页大小int默认1000条,上限2000条
page页码int默认1
game_ids游戏ID列表list[int][]或不传字段返回所有游戏

Response Body:

Content-Type: application/json

json
{
    "code": 200,
    "msg": "",
    "data": {
        "items": [
            {
                "event_id": "8234c460-481e-11f0-a82e-12cf39a4209e",
                "draw_id": "1062-0-311-1744790148-0",
                "game_id": 1062,
                "user_id": 102115212044,
                "op_id": "",
                "bet_amount": 100000,
                "gain_amount": -100000,
                "credit_before_bet": 120589196,
                "credit": 120489196,
                "start_at": 1744790148,
                "end_at": 1744790148
            },
            {
                "event_id": "8290ab4a-481e-11f0-a82e-12cf39a4209e",
                "draw_id": "1062-0-311-1744790151-0",
                "game_id": 1062,
                "user_id": 102115212044,
                "op_id": "",
                "bet_amount": 100000,
                "gain_amount": -100000,
                "credit_before_bet": 120489196,
                "credit": 120389196,
                "start_at": 1744790151,
                "end_at": 1744790151
            }
        ],
        "total": 115,
        "page": 20,
        "page_size": 3
    }
}

返回字段说明

字段名称说明类型备注
items记录列表list
event_id事件idstr
draw_id牌局idstr
game_id游戏idint
user_id用户idint
op_idOP用户idstr
bet_amount下注金额int
gain_amount输赢金额int
credit_before_bet游戏前余额int
credit游戏后余额int
start_at牌局开始时间,10位时间戳int
end_at牌局结束时间,10位时间戳int
total总条数int
page页码int
page_size分页大小int

1.4 红利汇总 /api/all/bonus/summary

Method: POST

URI: /api/all/bonus/summary

Description: 用于【OP商户】查询红利汇总数据

Request Body:

Content-Type: application/json

json
    "data": {
        "mch_id": 114,
        "user_id": 102115212044,
        "op_id": "21312312",
        "game_ids": [1033, 1062],
        "create_type_list": [1, 2, 3],
        "state_list": [1, 2, 3, 4, 5],
        "time_start": 1744790000,
        "time_end": 1744990439
    }

请求参数说明

参数说明类型是否必填备注
mch_id商户idint本商户或下级商户
user_id用户idint
op_idOP用户idstr
game_ids游戏ID列表list[int][]或不传字段返回所有游戏
create_type_list创建类型列表 [1:API创建 | 2:后台创建 | 3:官方创建]list[int][]或不传字段返回所有创建方式
state_list红利状态列表 [1:启用中 | 2:打码中 | 3:已完成 | 4:已取消 | 5:已过期 ]list[int][]或不传字段返回所有状态
time_start创建开始时间,10位时间戳int时间范围上限60天
time_end创建结束时间,10位时间戳int时间范围上限60天

Response Body:

Content-Type: application/json

json
{
    "code": 200,
    "msg": "",
    "data": {
        "release_count": 71,
        "used_count": 45,
        "release_bonus": 24109360.0,
        "converted_cash": 1205500.0,
        "bet_amount": 21055500,
        "win_amount": -8534000
    }
}

返回字段说明

字段名称说明类型备注
release_count查询条件内累计发放的bg次数int
used_count查询条件内累计已使用的bg次数int
release_bonus已使用的bg累计发放的bonus总额float
converted_cash已成功转换为现金的bonus总额float
bet_amount所有处于打码期间的下注总额int
win_amount所有处于打码期间的获奖总额int

2. Games游戏接口

2.1 玩家历史牌局记录 /api/games/user/history

Method: POST

URI: /api/games/user/history

Description: 返回玩家Games类型游戏历史牌局记录。

Request Body:

Content-Type: application/json

json
    "data": {
        "user_id": 101106411105,
        "op_id": "1234",
        "time_start": 1741588087,
        "time_end": 1742452087,
        "limit": 10
    }

请求参数说明

参数说明类型是否必填备注
user_id用户idintuser_id和op_id必传其一
op_idOP用户idstruser_id和op_id必传其一
time_start开始时间,10位时间戳int时间范围上限60天
time_end结束时间,10位时间戳int时间范围上限60天
limit分页大小int默认50条,上限500条

Response Body:

Content-Type: application/json

json
{
    "code": 200,
    "msg": "",
    "data": [
        {
            "event_id": "3fe51802-481b-11f0-a315-72635f25a731",
            "draw_id": "34063215",
            "game_id": 2011,
            "bet_amount": 600000,
            "gain_amount": 2550000,
            "credit_before_bet": 7764606460,
            "credit": 7767156460,
            "start_at": 1742284371,
            "end_at": 1742284389,
            "bet_areas": [
                78,
                144
            ],
            "win_areas": [
                107,
                125
            ],
            "game_result": 25,
            "award_odds": null
        }
    ]
}

返回字段说明

字段名称说明类型备注
event_id事件idstr
draw_id牌局idstr
game_id游戏idint
bet_amount下注金额int
gain_amount输赢金额int
credit_before_bet游戏前余额int
credit游戏后余额int
start_at牌局开始时间,10位时间戳int
end_at牌局结束时间,10位时间戳int
bet_areas下注行为list百人&休闲
win_areas中奖区域listSicbo, 轮盘, Zoo, AndarBahar等
game_result开奖结果int百人
award_odds跳伞倍数floatCrashI&CrashII

2.2 游戏历史牌局记录 /api/games/game/history

Method: POST

URI: /api/games/game/history

Description: 返回Games类型游戏历史牌局记录。

Request Body:

Content-Type: application/json

json
    "data": {
        "game_id": 3011,
        "time_start": 1741588087,
        "time_end": 1742452087,
        "limit": 10
    }

请求参数说明

参数说明类型是否必填备注
game_id游戏idint
time_start开始时间,10位时间戳int时间范围上限60天
time_end结束时间,10位时间戳int时间范围上限60天
limit数据条目上限int默认50条,上限500条

Response Body:

Content-Type: application/json

json
{
    "code": 200,
    "msg": "",
    "data": [
        {
            "event_id": "167ff845-481b-11f0-a315-72635f25a731",
            "draw_id": "34063215",
            "game_id": 2011,
            "user_id": 101115163288,
            "op_id": "1234",
            "bet_amount": 600000,
            "gain_amount": 2550000,
            "start_at": 1742284371,
            "end_at": 1742284389,
            "bet_areas": [
                78,
                144
            ],
            "win_areas": [
                107,
                125
            ],
            "game_result": 25,
            "award_odds": null
        }
    ]
}

返回字段说明

字段名称说明类型备注
event_id事件idstr
draw_id牌局idstr
game_id游戏idint
user_id用户idint
op_idOP用户idstr
bet_amount下注金额int
gain_amount输赢金额int
start_at牌局开始时间,10位时间戳int
end_at牌局结束时间,10位时间戳int
bet_areas下注行为list百人&休闲
win_areas中奖区域listSicbo, 轮盘, Zoo, AndarBahar等
game_result开奖结果int
award_odds跳伞倍数floatCrashI&CrashII

2.3 玩家阶段汇总 /api/games/user/stage/summary

Method: POST

URI: /api/games/user/stage/summary

Description: 返回玩家Games类型游戏阶段汇总数据。

Request Body:

Content-Type: application/json

json
    "data": {
        "user_id": 101115163288,
        "op_id": "1234",
        "time_start": 1741588087,
        "time_end": 1742452087
    }

请求参数说明

参数说明类型是否必填备注
user_id用户idintuser_id和op_id必传其一
op_idOP用户idstruser_id和op_id必传其一
time_start开始时间,10位时间戳int时间范围上限60天
time_end结束时间,10位时间戳int时间范围上限60天

Response Body:

Content-Type: application/json

json
{
    "code": 200,
    "msg": "",
    "data": {
        "bet_amount": 266200000,
        "gain_amount": -259940000,
        "credit_before_game": 7764606460,
        "credit": 7503186460
    }
}

返回字段说明

字段名称说明类型备注
bet_amount阶段总下注金额int
gain_amount阶段输赢金额int
credit_before_game游戏前余额int
credit游戏后余额int

2.4 游戏阶段汇总 /api/games/game/stage/summary

Method: POST

URI: /api/games/game/stage/summary

Description: 返回Games类型游戏阶段汇总数据。

Request Body:

Content-Type: application/json

json
    "data": {
        "game_id": 2011,
        "time_start": 1741588087,
        "time_end": 1742452087
        }

请求参数说明

参数说明类型是否必填备注
game_id游戏idint
time_start开始时间,10位时间戳int时间范围上限60天
time_end结束时间,10位时间戳int时间范围上限60天

Response Body:

Content-Type: application/json

json
{
    "code": 200,
    "msg": "",
    "data": {
        "bet_amount": 330400880,
        "gain_amount": -31202080,
        "user_count": 16,
        "bet_count": 451,
        "win_user_count": 8,
        "lose_user_count": 8
    }
}

返回字段说明

字段名称说明类型备注
bet_amount阶段下注金额int
gain_amount阶段输赢金额int
user_count阶段下注人数int
bet_count阶段下注次数int
win_user_count阶段赢人数int
lose_user_count阶段输人数int

3. Slots游戏接口

3.1 玩家历史牌局记录 /api/slots/user/history

Method: POST

URI: /api/slots/user/history

Description: 返回玩家Slots类型游戏历史牌局记录。

Request Body:

Content-Type: application/json

json
    "data": {
        "user_id": 101106411105,
        "op_id": "1234",
        "time_start": 1741588087,
        "time_end": 1742452087,
        "limit": 10
    }

请求参数说明

参数说明类型是否必填备注
user_id用户idintuser_id和op_id必传其一
op_idOP用户idstruser_id和op_id必传其一
time_start开始时间,10位时间戳int时间范围上限60天
time_end结束时间,10位时间戳int时间范围上限60天
limit数据条目上限int默认50条,上限500条

Response Body:

Content-Type: application/json

json
{
    "code": 200,
    "msg": "",
    "data": [
        {
            "event_id": "9529eb15-481c-11f0-a82e-12cf39a4209e",
            "draw_id": "1056-0-989-1742205595-0",
            "user_id": 101106411105,
            "op_id": "1234",
            "currency": "$",
            "game_id": 1056,
            "feature": 0,
            "extra_business": {
                "award_type": 0,
                "base_amount": 12000,
                "free_amount": 0,
                "bonus_amount": 0,
                "jackpot_amount": 0,
                "extra_spins": 0
            },
            "bet_amount": 100000,
            "gain_amount": -100000,
            "credit_before_bet": 7767687460,
            "credit": 7767587460,
            "start_at": 1742205595,
            "end_at": 1742205596,
            "is_buy": false
        }
      ]
 }

返回字段说明

字段名称说明类型备注
event_id事件idstr
draw_id牌局idstr
user_id用户idint
op_idOP用户idstr
currency玩家货币str
game_id游戏idint
feature游戏类型int0-base, 1-free, 2-bonus, 3-jackpot
extra_business额外业务信息dict
extra_business.award_type奖励类型int0-普通,1-freegame,2-bonus
extra_business.base_amount触发局除JP之外的总奖励int
extra_business.free_amountfeature内的总赢奖,排除触发局和JP的奖励int
extra_business.bonus_amountfeature内的总赢奖,排除触发局和JP奖励int
extra_business.jackpot_amount统计单局游戏的所有JP总赢奖(包括std,featurre中的JP)int
extra_business.extra_spins一局游戏中额外出现了多少次免费游戏int
bet_amount下注金额int
gain_amount输赢金额int
credit_before_bet玩家交易前余额int
credit玩家交易后余额int
start_at投注开始时间int
end_at投注结束时间int
is_buy是否为购买免费游戏类型bool

3.2 玩家阶段汇总 /api/slots/user/stage/summary

Method: POST

URI: /api/slots/user/stage/summary

Description: 返回玩家Slots类型游戏阶段汇总数据。

Request Body:

Content-Type: application/json

json
    "data": {
        "user_id": 101115163288,
        "op_id": "1234",
        "time_start": 1741588087,
        "time_end": 1742452087
    }

请求参数说明

参数说明类型是否必填备注
user_id用户idintuser_id和op_id必传其一
op_idOP用户idstruser_id和op_id必传其一
time_start开始时间,10位时间戳int时间范围上限60天
time_end结束时间,10位时间戳int时间范围上限60天

Response Body:

Content-Type: application/json

json
{
    "code": 200,
    "msg": "",
    "data": [
        {
            "user_id": 101106411105,
            "op_id": "1234",
            "game_id": 1056,
            "bet_count": 2,
            "bet_amount": 200000,
            "gain_amount": -200000,
            "currency": "$"
        },
        {
            "user_id": 101106411105,
            "op_id": "1234",
            "game_id": 1019,
            "bet_count": 15,
            "bet_amount": 1350000,
            "gain_amount": -1070000,
            "currency": "$"
        }
    ]
}

返回字段说明

字段名称说明类型备注
user_id用户idint
op_idOP用户idstr
game_id游戏idint
bet_count阶段该游戏投注次数int
bet_amount阶段该游戏总投注额int
gain_amount阶段该游戏总赢钱int
currency玩家货币str

3.3 游戏阶段汇总 /api/slots/game/stage/summary

Method: POST

URI: /api/slots/game/stage/summary

Description: 返回Slots类型游戏阶段汇总数据。

Request Body:

Content-Type: application/json

json
    "data": {
        "time_start": 1741588087,
        "time_end": 1742452087
    }

请求参数说明

参数说明类型是否必填备注
time_start开始时间,10位时间戳int时间范围上限60天
time_end结束时间,10位时间戳int时间范围上限60天

Response Body:

Content-Type: application/json

json
{
    "code": 200,
    "msg": "",
    "data": [
        {
            "game_id": 1041,
            "bet_count": 3,
            "bet_amount": 300000,
            "gain_amount": 825000,
            "company_gain_amount": -825000
        },
        {
            "game_id": 1065,
            "bet_count": 35,
            "bet_amount": 3500000,
            "gain_amount": -770000,
            "company_gain_amount": 770000
        }
    ]
}

返回字段说明

字段名称说明类型备注
game_id游戏idint
bet_count阶段玩家总投注次数int
bet_amount阶段玩家总投注金额int
gain_amount阶段玩家总赢钱int
company_gain_amount阶段公司盈亏int

3.4 游戏详情链接 /api/slots/detail/url

Method: POST

URI: /api/slots/detail/url

Description: 返回Slots类型游戏牌局详情网页url。

Request Body:

Content-Type: application/json

json
    "data": {
        "game_id": 1044,
        "draw_id": "1044-2-685-1742794635-0"
    }

请求参数说明

参数说明类型是否必填备注
game_id游戏idint
draw_id牌局idstr

Response Body:

Content-Type: application/json

json
{
    "code": 200,
    "msg": "",
    "data": {
        "url": "https://www.google.com"
    }
}

返回字段说明

字段名称说明类型备注
url游戏详情网页urlstr

2J Game Inc.