2. 打开游戏
代理通过两步操作可以打开任何平台的游戏,分别是从GM-Ag获取游戏令牌(token)、生成并打开游戏链接。
打开游戏流程
步骤1,玩家点击代理网站的游戏;
步骤2,代理调用获取玩家令牌API,获取玩家的游戏令牌(token);
步骤3,代理获得游戏令牌,使用令牌及其他参数生成游戏打开链接;
步骤4,代理发送游戏链接;
步骤5,玩家获得游戏内容。
路径 & 参数
1. 获取玩家令牌
URl: https://{{gmag_api_url
}}/player/getToken?hash={{xxx}}。
方式:POST。
目的:用户获取打开游戏的令牌。
详细内容请参见 获取打开游戏令牌 。
2. 生成游戏链接(直接进入游戏)
URI: https://{{gmag_game_launch_url
}}/launcher。
方式:GET。
目的:代理使用从GM-Ag获得的游戏令牌和下列参数,生成指定游戏的链接,发送链接以获取游戏内容。
请求
参数名 | 类型 | 必选 | 参数说明 |
---|---|---|---|
gameCode | String(32) | 是 | 代表游戏的编码。 |
token | String(256) | 是 | 使用 /player/getToken 获得的令牌。 |
platform | String(16) | 是 | 打开游戏的设备平台 (web, mobile, download) 。 |
language | String(8) | 是 | 游戏屏幕显示语言。语言编码请参见转账钱包语言编码UNDEFINED 。 |
tableAlias | String(32) | 否 | 用于真人游戏,指定游戏打开的桌牌号码,而不是只进入大厅。 |
playerId | String(24) | 是 | 玩家的唯一标识。 |
brandId | Int | 是 | 代理的唯一标识。 |
mode | Int | 否 | 指定玩家打开方式:真钱、免费试玩。默认为真钱。(0 = 免费试玩, 1 = 真钱) |
backUrl | String(1024) | 否 | 打开游戏失败时,重定向的大厅链接。 |
cashierUrl | String(1024) | 否 | 代理网站的玩家存款页面。 |
currency | String(4) | 是 | 新增参数(12/12/2023) |
响应
1. 成功的响应
当请求中的参数全部正确时,游戏内容被发送给玩家。
2. 失败的响应
如果参数错误或系统错误,游戏被重定向到代理指定的‘backUrl’网址。同时,错误码(error)和错误信息(message)将附在重定向URL的末尾,用以说明错误原因。
例如, 当请求中的 ‘backUrl’ 为:
https://www.operator-back-url.com,
失败响应的重定向链接为:
https://www.operator-back-url.com?error={{code}}&message={{error_message}}。
请求例子
https://{{gmag_game_launch_url}}/launcher?gameCode=bfb&token=xxxx&platform=web&
language=en&playerId=1234&brandId=101&mode=0&backUrl=backUrl&cashierUrl=cashierUrl
3. 获取进入游戏链接
URI: https://{{gmag_game_launch_url
}}/launcher/getUrl
方式: POST.
目的: 获取进入游戏的链接地址
请求
请求使用的 content type 为 application/json
参数名 | 类型 | 必选 | 参数说明 |
---|---|---|---|
gameCode | String(32) | 是 | 代表游戏的编码。 |
token | String(255) | 是 | 启动游戏的令牌,用于验证玩家的身份是否合法。 |
platform | String(16) | 是 | 打开游戏的设备平台 (web, mobile, download) 。 |
language | String(8) | 是 | 游戏屏幕显示语言。 |
tableAlias | String(32) | 否 | 用于真人游戏,指定游戏打开的桌牌号码,而不是只进入大厅。 |
playerId | String(20) | 是 | 玩家的唯一标识。 |
brandId | Int | 是 | 代理的唯一标识。 |
mode | Int | 否 | 指定玩家打开方式:真钱、免费试玩。默认为真钱。0 = 免费试玩, 1 = 真钱, 2 = 游客(适用于体育类平台,ibc, betby) |
backUrl | String(1024) | 否 | 打开游戏失败时,重定向的大厅链接。(在发送之前需要对URL进行转译) |
cashierUrl | String(1024) | 否 | 代理网站的玩家存款页面。(在发送之前需要对URL进行转译) |
currency | String(4) | 是 | 新增参数(12/12/2023) |
hash | String(34) | 否 | 新增参数(12/03/2025) 该属性用于防止玩家手动更改游戏代码进入游戏. hash 生成规则MD5(brandId+playerId+gameCode+SecretKey) 如果hash 不匹配则返回 禁止切换游戏 错误提示 |
响应
响应使用的 content type 为 text/plain;charset=UTF-8.
成功的响应
返回进入游戏的链接文本
失败的响应
如果 backUrl 参数不为空那么返回到该地址否则使用默认地址 并加入error 和 message 参数.
请求例子
{
"gameCode":"lobby",
"token":"4MDljZWZiNTdhMWM2M3edcSJ90192",
"platform":"web",
"language":"en",
"playerId":"1003233",
"brandId":"100",
"mode":"1",
"backUrl":"http://google.com"
}
响应例子
//success
https://sg-server.ggravityportal.com/GameLauncher/Loader.aspx?GameCategory=Slots&GameName=Samurai&Token=stst173015908254861110274786&PortalName=goldenmatrix&ReturnUrl=https://bof.gmgoldmtn.com&Lang=en
//error
http%3A%2F%2Fgoogle.com?error=P_19&message=Player info not matched 'PlayerId: qs7kDbeJ != 1003'