跳到主要内容

会员登陆

说明

如果会员(user_id)不存在,本接口会先自动注册该会员,再执行登录。

接口路径​

  • POST
  • /api/member/login

请求参数​

参数名称类型必填是否参与签名说明
agent_id商户 IDstring必填参与签名商户 ID
user_id商户侧用户 IDstring必填参与签名商户侧用户ID, 字符串长度最小3,最大64, 只支持英文、数字以及_
token用户会话 tokenstring必填参与签名token 由商户侧随机生成,字符串长度必须大于 8、小于 32
platform平台string必填参与签名ios/android/h5/web
language语言string必填参与签名语言
currency币种string必填参与签名币种
timestamp当前时间戳int64必填参与签名传调用接口时的时间戳(单位毫秒,有效期十分钟)
game_code进入位置string选填参与签名登录后直接进入的位置(指定游戏/台桌/随机台桌等),不传进入游戏大厅,取值见下方 game_code 取值说明
callback回调地址string选填参与签名从房间返回时调用的 url
limits限红组dict选填不参与签名限红定制,dict 格式,key 为<币种>_<游戏 ID>;真人游戏 value 为逗号分隔的有序限红组 ID,小游戏 value 为一个档位编码,详见下方说明
sign签名string必填不参与签名签名算法详见接口说明
custom_language语言包方案string选填不参与签名用于自定义 Bet-Play 语言包,custom_language=en-US>en-play
mobile_scale_enable移动端缩放开关string选填不参与签名控制移动端页面是否启用缩放适配,传 "true" 或 "false";传值时会透传到返回的游戏 url 上(&mobile_scale_enable=),不传或传其他值时游戏 url 不带该参数,由游戏端默认值决定

game_code 取值说明​

game_code 决定玩家登录后直接进入的位置。不传或传空字符串时进入游戏大厅。

想让玩家进入game_code 格式示例
游戏大厅(默认)不传 / 空字符串—
某个游戏的台桌列表页<gameId>101(百家乐台桌列表)
指定台桌<tableId> 或 <gameId>-<tableId>DYfsRc 或 101-DYfsRc
指定台桌(直播模式)live-<gameId>-<tableId>live-101-DYfsRc
某个游戏的随机台桌rand-<gameId>rand-101(随机一张百家乐台桌)
热门台桌中随机一张rand-hotrand-hot
推荐台桌中随机一张rand-recommendrand-recommend
多桌投注总入口multibetmultibet
某个游戏的多桌投注multibet-<gameId>multibet-101
AI 游戏发现页discoverdiscover

参数从哪里获取

目标不可用时进入哪里

登录接口不会因为 game_code 不可用而报错,会按下表兜底:

场景实际进入
指定台桌未对本商户开放游戏大厅
指定台桌在商户后台配置了「台桌跳转」按跳转配置进入(随机台桌或配置列表中的台桌)
rand-<gameId>:本商户未开通该游戏该游戏的台桌列表页
rand-<gameId>:已开通,但当前没有可用台桌游戏大厅
rand-hot / rand-recommend:当前没有可用的热门/推荐台桌本商户已开通游戏中随机一张台桌;仍没有则进入游戏大厅
discover:本商户未开启 AI 游戏入口、PC 端打开,或当前没有可展示的 AI 游戏游戏大厅
不符合以上任何格式游戏大厅
备注
  • 格式中的 rand、live、multibet、discover 及 hot、recommend 请使用小写。
  • game_code 参与签名,按实际传入的原值参与;不传或传空字符串时不参与签名。

示例:直接进入 AI 游戏发现页

请求中传 "game_code": "discover",其余参数与普通登录相同(game_code 按 discover 参与签名),返回的 url 中会带上 &game_code=discover,玩家打开后直接进入 AI 游戏发现页:

{
"agent_id": "agent001",
"user_id": "uid001",
"token": "tokena8c2aaef3880162a",
"platform": "h5",
"language": "en-US",
"currency": "VND2",
"timestamp": 1734417873301,
"game_code": "discover",
"callback": "https://h5-uat.aig1234.com/home",
"sign": "<按签名规则计算>"
}
提示

limits 参数用法:

  • key 统一为<币种>_<游戏 ID>,例如USD_101。
  • 真人游戏(百家乐/龙虎/轮盘等):value 为逗号分隔的有序限红组 ID,例如"USD_101": "210001,210002"。
  • 小游戏:value 为一个档位编码,档位由商户在后台「小游戏限制管理」中创建,例如"USD_20401": "site_a"(区分大小写);传default表示回到默认档。档位不存在或已停用时登录失败(700270)。
  • 指定的限红组/档位有效期 24 小时,再次登录时传值会覆盖并重新计时;本次未传的游戏保留上次登录的指定,24 小时后失效、回到商户默认配置。建议每次登录都传完整的limits。
  • 已下的注单按下注时生效的限红结算,之后修改或删除档位、指定过期都不影响已下注的单。
提示
  • custom_language参数用法,custom_language=A>B,C>D 表示原A语言包替换成B语言包,原本的C语言包替换成D语言包,以逗号分割表示替换多个 。

响应参数​

参数名称类型说明
code响应码int错误码
message响应信息string错误信息
data响应数据dict响应数据详情
--url游戏大厅 URLstring登陆接口成功之后,商户侧 app 跳转到这个 url 地址进入游戏大厅
--token用户会话 tokenstring用户会话 token

请求范例​

curl --location 'https://staging.aig1234.com/api/member/login' \
--header 'Content-Type: application/json' \
--data '{
"agent_id": "agent001",
"user_id": "uid001",
"token": "tokena8c2aaef3880162a",
"platform": "h5",
"language": "en-US",
"currency": "VND2",
"timestamp": 1734417873301,
"game_code": "101-DYfsRc",
"callback": "https://h5-uat.aig1234.com/home",
"limits": {
"USD_101": "21**01,21**02,21**03",
"USD_20401": "site_a"
},
"sign": "7776e923ffee88bbd5293fa8ad4a9919"
}'

响应范例​

{
"code": 200,
"message": "success",
"data": {
"url": "https://h5-uat.aig1234.com/home?agent_id=agent001&uid=uid001&token=tokena8c2aaef3880162a&language=en-US&platform=h5&currency=VND2&game_code=101-DYfsRc&callback=https://h5-uat.aig1234.com/home",
"token": "tokena8c2aaef3880162a"
}
}

错误码​

200 成功
408000 请求参数错误
408003 白名单限制
408004 API频率限制
600100 签名不合法
600101 参数不合法
700101 商户不存在
700103 会员不存在
700106 登陆失败
700108 该会员禁止登陆
700208 币种不在商户选择的币种列表内
700270 限红组错误(含小游戏档位编码不存在或已停用)