1.0.0 • Published 9 months ago

js-test-sdk-4 v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

README

此 API 提供了允许你连接到指定的服务或平台的功能,并执行以下操作

安装方式

若想使用此 API,可以通过以下方式将它集成到你的项目中。内容如下:

模块导入
  • 使用类似以下的方式,在你的 JavaScript 代码中导入并使用 API:
import Ws from "http://127.0.0.1:5501/dist/bundle.js";

用法

  • 一旦你将 API 集成到你的项目中,你就可以使用以下代码来开始使用它:
// 创建实例
const player = new Ws.Player();
const game = new Ws.Game();
const platform = new Ws.Platform();
//其他实例...

// 在文档加载完成后,进行一些全局配置
document.addEventListener("DOMContentLoaded", function () {
  // 将 Ws 暴露到全局作用域中
  window.Ws = Ws;

  // 初始化全局配置
  Ws.globalConfig.init({ platformId: "50"}, 3).then((res) => {

// 等到Ws初始化成功之后才去请求
player.loginWithPassword("639111222333", "888888", "google.com").then((res) => {
    console.log("function login:", res);
            });

      });
});
  • Ws.globalConfig.init({ platformId: "50"}, 3);这段代码中,会有一个init方法接收参数。第一个 {} 内的参数一定/必须包含 platformId, 其值为字符串 "50",花括号外的参数是环境,其值为 3
    现有环境例子:1:正式 2:内部 3:测试 4:开发

Notify 用法

const notify = new Ws.Notify();

//负责监听
notify.on("all", (event) => {
    console.log(`Received ${event.functionName} event:`, event);
  });

notify.on("authenticate", (event) => {
    console.log(`Received ${event.functionName} event:`, event);
  });
  • 每当进行了指定的操作,例如更新了密码系统都会自动推送此类型的接口
  • 如果是使用浏览器,authenticate 推送必须要监听,来确认可否登入的状态信息 (详细说明可参考使用手册)
  • 你可以选择你要监听的信息,根据以下的类型来调整
类型说明
authenticate登陆状态验证
all有新邮件
credit额度有变动
liveGame真人游戏状态
playerInfo玩家相关信息
notifyVoiceCall通话状态
betRanking游戏投注榜
luckyWheelLive抽奖结果
liveConcertFB 抽奖结果
gameInfo游戏信息
playerLogout玩家登出消息

获取 KYC 国籍 && 资金来源

let a = Ws.globalConfig.getKYCCommonInfo() // 用来获取国籍以及资金来源
let b = Ws.globalConfig.getNationality() // 用来获取国籍
let c = Ws.globalConfig.getSourceOfFunds() // 用来获取资金来源

响应内容:

{
    "nationality": [
        "Afghanistan",
        "Albania",
        "Algeria",
        "American Samoa",
        "Andorra",
        "Angola",
        "Anguilla",
        "Antigua & Barbuda",...

    ],
    "sourceOfFunds": [
        "Business",
        "Employment",
        "Inheritance/trust",
        "Investments",
        "Pensions/annuites",
        "Rentals/lease",
        "Others"
    ]
}

API 模块例子

只要接口接应以及回应成功,全部都会回传 status--200

玩家模块

  1. 玩家密码登录
player.loginWithPassword("9xxxxxxxxx", "xxxxxx","https://xxxxxxx")
  • 以上的 player调用的 loginWithPassword 使用了三个参数。第一个参数为电话号码,而第二个参数是密码用于验证用户身份,第三个为网站域名

响应内容:

 data: {
        "address": "pfkwepfkw", //地址
        "bankAccount": "******", //银行帐号
        "bankAccountName": "FSDF,DFS", //银行账户名
        "bankName": "183", //银行名称
        "DOB": "1990-06-23T00:00:00.000Z", //出生日期
        "email": "******", //邮件
        "ftpDomain": "https://fpms-profile.client88.me/fpms-images-profile-cp/images-old/",
        "fullEmail": "test@gmail.com", //邮件
        "gameTypeTag": "",
        "hasPassword": true, //帐号是否设置密码
        "gender": true, // 性别
        "IDStatus": 0, // 用来判断用户资料在哪个阶段 - 默认为0,1-图片匹配, 2-图片不匹配,3-不通过(如果是3就需要重新上传图片),4-等待审批
        "isCompleteInfo": true, // 完善玩家资料
        "isGLife": false, // Glife帐号
        "isLogin": true, // 登入状态
        "isTestPlayer": false, // 测试玩家
        "name": "103347511", // 名称
        "nationality": "Philippines", //国籍
        "nickName": "61", // 昵称
        "password": "$2b$10$ftNHvAkjVv.PD9FeHMZUgOAfhUIP8MTYZciojNSC0XpligKuSQkbO", //密码
        "paymentInfo": [ //GCash 以及 Maya银行配置
            {
                "bankAccount": "******",
                "bankAccountName": "FSDF,DFS",
                "paymentType": "MAYA",
                "paymentChoice": "1"
            },
            {
                "bankAccount": "******",
                "bankAccountName": "FSDF,DFS",
                "paymentType": "GCASH",
                "paymentChoice": "1"
            }
        ],
        "phoneNumber": "639******",
        "phoneType": "Sun Cellular",
        "photoId1": { //KYC上传图片
            "imageName": "103347511id11697212731438.jpeg",
            "type": 1
        },
        "playerAvatar": "av103347511.png", //帐号头像
        "playerCity": "dasasd", // 城市
        "playerId": "103347511", // 玩家ID
        "playerLevel": { //玩家等级
            "name": "LV1", // 等级名称
            "value": 0, // 价值
            "levelUpConfig": [ //升级配置
                {
                    "andConditions": true,
                    "topupLimit": 0,
                    "topupPeriod": "WEEK",
                    "topupTimes": 0,
                    "consumptionSourceProviderId": [],
                    "consumptionLimit": 10,
                    "consumptionPeriod": "WEEK",
                    "bonusRangeConfig": "",
                    "bonusRange": 0,
                    "_id": "5976bd7772a63d000c8747bc"
                }
            ],
            "levelDownConfig": [ //降级配置
                {
                    "andConditions": false,
                    "topupMinimum": 10,
                    "topupPeriod": "DAY",
                    "topupTimes": 0,
                    "consumptionMinimum": 100,
                    "consumptionPeriod": "DAY",
                    "bonusRangeConfig": "",
                    "bonusRange": 0,
                    "_id": "5976bd7772a63d000c8747ba"
                }
            ]
        },
        "playerProvince": "mneofwd", // 省
        "province": "Central and Western",
        "realName": "FSDF,DFS", // 玩家真实名称
        "registrationTime": "2023-10-13T13:02:24.216Z", //注册时间
        "resetPassword": false, // 重置密码
        "sourceOfFunds": "Employment", // 资金来源
        "userCurrentPoint": 0, //玩家积分
        "isInvalidSourceURL": false,
        "allowOtherDeposit": false,
        "allowOtherWithdraw": false
    },
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiMTAzMzQ3NTExIiwicGFzc3dvcmQiOiIkMmIkMTAkZnROSHZBa2pWdi5QRDlGZUhNWlVnT0FmaFVJUDhNVFlaY2lvak5TQzBYcGxpZ0t1U1FrYk8iLCJsYXN0VG9rZW5UaW1lIjoiMjAyNC0wNC0xMVQxMjoyMTo1Ni4zNjFaIiwiaWF0IjoxNzEyODM4MTE2LCJleHAiOjE3MTI4OTU3MTZ9.RFQjRz23dABwaxOZsf4-tvJDf2uZiduGHyGp7OmVIqw" // 代币
}
  1. 玩家注销
player.logout();
  • 这里调用的 logout 是玩家注销登录

响应内容:

data:{status: 200}
  1. 电话号码登陆
player.loginWithOtp('xxxx','https://xxxxxxxx')
  • 以上的 player调用的 loginWithOtp 使用了参数则是 SMS 回传的一次性密码,https://xxxxxxxx则是网站域名

响应内容:

data:{status: 200, //回传内容可以参考player.loginWithPassword}
  1. 获取手机验证码
player.getSMSCode({phoneNumber:'639xxxxxxxxx',purpose:'playerLogin',captcha:''})
  • 这里调用的 getSMSCode 会发送一次性密码到玩家的手机号,以上的 getSMSCode 所需要的参数需要输入在花括号。 这个是花括号可以输入的参数的例子:
Variable参数
phoneNumber手机号 - string (必须提供的参数)
purpose用途 - string (必须提供的参数)
oldPhoneNumber旧手机号 - string
name玩家名称 - string
captcha验证码 - string
useVoiceCode使用语音验证码 - boolean
useEmail使用邮件 - boolean

以下的是 purpose 参数可以使用的功能:

Purpose功能
resetPassword重置密码
inquireAccount找回账号
playerLogin玩家登入
setPhoneNumber初次设置手机号
registration注册
oldPhoneNumber修改电话时的电话验证(旧号码)
newPhoneNumber修改电话时的电话验证(新号码)
updatePassword更新密码
updateBankInfo更新支付信息
updateBankInfoFirst首次设置支付信息
freeTrialReward免费体验金
demoPlayer试玩帐号
Partner_registration代理注册
Partner_oldPhoneNumber代理电话号码(旧)
Partner_newPhoneNumber代理电话号码(新)
Partner_updatePassword代理更新密码
Partner_updateBankInfoFirst代理银行卡(首次)
Partner_updateBankInfo代理银行卡(更换)
setEmail首次绑定邮箱
newEmail更新邮箱

响应内容:

data:{status: 200 }
  1. 获取玩家基本信息
player.get();
  • get 可以让客户端获取玩家的基本信息,包括邮箱,地址,以及玩家等级详细信息

响应内容:

data:{status: 200, //回传内容可以参考player.loginWithPassword}
  1. 获取图形验证码
player.captcha();
  • captcha 会从服务端获取验证码, 验证码以 base64 格式分发给客户端, 客户端接到之后显示出来

响应内容:

data: {status: 200, data: “base64;pngXfasagGFFSD”} //验证码base64字符串
  1. 玩家注册后登录
player.registerWithOtp({smsCode:'2222',domain:'https://xxxxxxx',sourceUrl:'www.google.com',partnerId:'12x',captcha:'xxxx',autoSMSCodeValid:true});
  • 这里需要使用花括号来添加参数,2222电话号码发送的一次性密码, https://xxxxxxxx是网站域名,www.google.com是是访问来源,12x是合伙 Id 可以不填写,xxxx图片验证码可以不填写, true这个 bool 值是自动呼叫 checkSMSCodeValid 接口可以不填写默认为 true(此参数只是用于给开发测试)

响应内容:

data:{status: 200, //回传内容可以参考player.loginWithPassword}
  1. 修改玩家的支付信息
player.updatePaymentInfo('0001','1232-xxxx-xxxx','TTTT','2023');
  • updatePaymentInfo 内使用到的第一个参数是银行名称,第二个是银行账号,第三个是玩家名称,第四个是一次性验证码条件性的不填写

响应内容:

data:  {status: 200}
  1. 修改玩家登录密码
player.updatePassword('Abc123','123Abc','1234');
  • updatePassword 这里使用的参数第一个为旧密码,第二个是新密码,第三个是选填的参数验证码

响应内容:

data: {
    status: 200,
    data: {
        "playerId": "1103366434",
        "playerObjId": "663c62f18400c62f5117fea3",
        "text": "Password successfully changed"
    }
}
  1. 获取 SMS 状态
player.getSmsStatus();

响应内容:

data: {status: 200 }
  1. 设定 SMS 状态
player.setSmsStatus("1030:1");

响应内容:

data: {status: 200,data: true}
  1. 登陆状态验证
player.authenticate("1702192","dajsoaskxcao12,.sakdsaodkdlp10-21...","google.com");
  • authenticate 是用于验证玩家的登入状态,第一个参数为 playerId,第二个参数为 token,这两个的参数都是必填的,玩家登入/注册成功,后台都会返回这两个参数,第三个参数为 clientDomain 可不填写

响应内容:

data:{status: 200, //回传内容可以参考player.loginWithPassword}
  1. 获取玩家站内信
player.getMailList();

响应内容:

data: {status: 200,
data: [
    {
        "_id": "663c63408400c62f5118027d", //邮件唯一码
        "platformId": "612d901dcd001d4becbaea2e",
        "recipientType": "player",
        "recipientId": "663c62f18400c62f5117fea3",
        "title": "edit bank", //邮件标题
        "content": "congratz edit bank success", //邮件内容
        "hasBeenRead": false, //是否被阅读
        "bDelete": false,
        "createTime": "2024-05-09T05:46:40.399Z", //邮件生成时间
        "__v": 0
    }
]
  1. 标记站内信为已读
player.readMail("663c63848400c62f51180348");
  • 663c63848400c62f51180348 是邮件唯一码的参数

响应内容:

data: {status: 200,
data:{
    "_id": "663c63848400c62f51180348",
    "platformId": "612d901dcd001d4becbaea2e",
    "senderType": "System",
    "recipientType": "player",
    "recipientId": {
        "smsSetting": {
            "manualTopup": true,
            "applyBonus": true,
            "cancelBonus": true,
            "applyReward": true,
            "consumptionReturn": true,
            "updatePaymentInfo": true,
            "PlayerConsumptionReturnSuccess": true,
            "ManualTopupSuccess": true,
            "OnlineTopupSuccess": true,
            "AlipayTopupSuccess": true,
            "WechatTopupSuccess": true,
            "MOMOTopupSuccess": true,
            "GCASHTopupSuccess": true,
            "GCASHLimit": true,
            "GLIFETopupSuccess": true,
            "GrabPayTopupSuccess": true,
            "OTCTopupSuccess": true,
            "SecondSmsVerificationCode": true,
            "WithdrawSuccess": true,
            "WithdrawCancel": true,
            "PlayerLimitedOfferRewardSuccess": true,
            "UpdateBankInfoSuccess": true,
            "UpdateGCASHInfoSuccess": true,
            "UpdateGCASHInfoFailed": true,
            "NonVerifiedGCASHAccountFailed": true,
            "InvalidGCASHAccountFailed": true,
            "UpdateMAYAInfoSuccess": true,
            "UpdateMAYAInfoFailed": true,
            "NonVerifiedMAYAAccountFailed": true,
            "InvalidMAYAAccountFailed": true,
            "UpdateMomoInfoSuccess": true,
            "UpdatePhoneInfoSuccess": true,
            "updatePassword": true,
            "PlayerTopUpReturnGroupSuccess": true,
            "PlayerLoseReturnRewardGroupSuccess": true,
            "PlayerConsecutiveRewardGroupSuccess": true,
            "PlayerFestivalRewardGroupSuccess": true,
            "PlayerConsumptionRewardGroupSuccess": true,
            "PlayerFreeTrialRewardGroupSuccess": true,
            "PlayerRegisterIntentionSuccess": true,
            "PlayerPromoCodeRewardSuccess": true,
            "PlayerLevelUpMigrationSuccess": true,
            "PlayerLevelDownMigrationSuccess": true,
            "PlayerLevelUpSuccess": true,
            "PromoCodeSend": true,
            "PlayerRetentionRewardGroupSuccess": true,
            "smsVerificationCode": true,
            "PlayerLevelMaintainSuccess": true,
            "RandomRewardPromoCodeBDepositSuccess": true,
            "RandomRewardPromoCodeBNoDepositSuccess": true,
            "RandomRewardPromoCodeCSuccess": true,
            "PlayerRandomRewardGroupSuccess": true,
            "RandomRewardRewardPointsSuccess": true,
            "RandomRewardRealPrizeSuccess": true,
            "ResetPasswordUrl": true,
            "UpdatePlayerInfoSuccess": true,
            "LiveDrawRewardSuccess": true,
            "GCASHLimitCallback": true,
            "ProviderConsumptionReturn": true
        },
        "permission": {
            "applyBonus": true,
            "transactionReward": true,
            "allTopUp": true,
            "topupOnline": true,
            "topupManual": true,
            "topUpCard": true,
            "topUpMOMO": true,
            "topUpGCASH": true,
            "topUpGLife": true,
            "topUpGrabPay": true,
            "topUpOTC": true,
            "phoneCallFeedback": true,
            "SMSFeedBack": true,
            "alipayTransaction": true,
            "quickpayTransaction": true,
            "banReward": false,
            "rewardPointsTask": true,
            "disableWechatPay": false,
            "forbidPlayerConsumptionReturn": false,
            "allowPromoCode": true,
            "forbidPlayerConsumptionIncentive": false,
            "PlayerTopUpReturn": true,
            "PlayerDoubleTopUpReturn": true,
            "forbidPlayerFromLogin": false,
            "forbidPlayerFromEnteringGame": false,
            "playerConsecutiveConsumptionReward": true,
            "PlayerPacketRainReward": true,
            "PlayerLimitedOfferReward": true,
            "levelChange": true,
            "getSMSCode": true,
            "ExchangeCurrencyBonus": true,
            "forbidEmailFeedBack": false,
            "unsubscribedEmail": false,
            "topupNormal": true,
            "allowOtherDeposit": false,
            "allowOtherWithdraw": false,
            "firstDepositLimit": true
        },
        "viewInfo": {
            "limitedOfferInfo": 1,
            "showInfoState": true
        },
        "qnaWrongCount": {
            "forgotPassword": 0,
            "updatePhoneNumber": 0,
            "editBankCard": 0,
            "editName": 0,
            "verifyInfo": 0
        },
        "photoId1": {
            "imageName": "1103366434id11715233552967.jpeg",
            "type": 1
        },
        "_id": "663c62f18400c62f5117fea3",
        "playerId": "1103366434",
        "name": "1103366434",
        "nickName": "SSSSS4082",
        "email": "",
        "DOB": "2000-02-11T00:00:00.000Z",
        "icon": "",
        "phoneNumber": "639******",
        "isTestPlayer": false,
        "isRealPlayer": true,
        "isTestPlayerConverted": false,
        "isTestPlayerOld": false,
        "lastFeedbackTime": null,
        "feedbackTimes": 0,
        "password": "$2b$10$Eta0ItEPHOyg2R73Ijv3l.0g411E49U8FwR2660epdinR9uDRbdTe",
        "receiveSMS": true,
        "realName": "SS,SSSSS,SS",
        "platform": "612d901dcd001d4becbaea2e",
        "isLogin": false,
        "lastLoginIp": "121.121.17.77",
        "loginIps": [
            "121.121.17.77"
        ],
        "blacklistIp": [],
        "trustLevel": "2",
        "badRecords": [],
        "status": 1,
        "forbidProviders": [],
        "forbidRewardPointsEvent": [],
        "forbidPromoCodeList": [],
        "exp": 0,
        "games": [],
        "domain": "localhost",
        "sourceUrl": "http://localhost:8080",
        "userAgent": [
            {
                "browser": "Mobile Safari",
                "os": "iOS",
                "device": "APP"
            },
            {
                "browser": "Mobile Safari",
                "os": "iOS",
                "device": "iPhone"
            }
        ],
        "country": "Malaysia",
        "province": "Selangor",
        "city": "Puchong Batu Dua Belas",
        "longitude": "",
        "latitude": "",
        "phoneProvince": "",
        "phoneCity": "",
        "phoneType": "Sun Cellular",
        "creditBalance": 0,
        "validCredit": 0,
        "lockedCredit": 0,
        "dailyTopUpSum": 0,
        "dailyTopUpIncentiveAmount": 0,
        "weeklyTopUpSum": 0,
        "pastMonthTopUpSum": 0,
        "topUpSum": 0,
        "topUpTimes": 0,
        "withdrawTimes": 0,
        "dailyWithdrawSum": 0,
        "weeklyWithdrawSum": 0,
        "pastMonthWithdrawSum": 0,
        "withdrawSum": 0,
        "dailyBonusAmountSum": 0,
        "weeklyBonusAmountSum": 0,
        "pastMonthBonusAmountSum": 0,
        "bonusAmountSum": 0,
        "dailyConsumptionSum": 0,
        "weeklyConsumptionSum": 0,
        "pastMonthConsumptionSum": 0,
        "consumptionSum": 0,
        "consumptionTimes": 0,
        "forbidTopUpType": [],
        "forbidRewardEvents": [],
        "forbidPromoCode": false,
        "forbidLevelUpReward": false,
        "forbidLevelMaintainReward": false,
        "bFirstTopUpReward": false,
        "favoriteGames": [],
        "isReferralReward": false,
        "isNewSystem": true,
        "applyingEasterEgg": false,
        "credibilityRemarks": [
            "6603885316013510dd97cc91"
        ],
        "gameProviderPlayed": [],
        "valueScore": 0,
        "registrationInterface": 3,
        "loginTimes": 3,
        "ximaWithdraw": 0,
        "deviceId": "",
        "relTsPhoneList": [],
        "qnaWrongAnswerSum": 0,
        "qnaWrongAnswerExceededCountDate": null,
        "verifyInfoWrongAnswerExceededCountDate": null,
        "hasPassword": true,
        "loginDevice": "2",
        "registrationDevice": "2",
        "registrationOsType": "",
        "isTagByGameTypeSettlement": false,
        "currency": "RMB",
        "resetPassword": false,
        "cstestTransfer": false,
        "isSharedReward": [],
        "registerType": "PHONE",
        "isSecurityDeposit": false,
        "isNickNameUpdated": false,
        "isNewFGPlayerReport": true,
        "isCreatedFromFgUrl": false,
        "isCompleteInfo": true,
        "isCompleteKYC": false,
        "isInvalidSourceURL": false,
        "IDStatus": 0,
        "isGLife": false,
        "lazadaVoucherInvalidRedeemCount": 0,
        "isStressTestPlayer": false,
        "nullField": false,
        "accountStatus": 2,
        "playerType": 1,
        "isStudioFlag": [],
        "isMaya": false,
        "isVivamax": false,
        "inAppPurchaseCount": 0,
        "registrationTime": "2024-05-09T05:45:21.900Z",
        "lastAccessTime": "2024-05-09T05:51:28.097Z",
        "creditWallet": [],
        "similarPlayers": [],
        "__v": 0,
        "bankCardGroup": "6287164332f1ac001af327f7",
        "merchantGroup": "6287164232f1ac001af3260b",
        "playerLevel": "6287164232f1ac001af32706",
        "rewardPointsObjId": "663c62f28400c62f5117feda",
        "lastTokenTime": "2024-05-09T05:51:19.409Z",
        "placeOfBirth": "sss",
        "remark": "First time bound to the bank info",
        "bankAccountName": "SS,SSSSS,SS",
        "natureOfWork": "te",
        "sourceOfFunds": "Inheritance/trust",
        "nationality": "Philippines",
        "address": "s",
        "playerCity": "s",
        "playerProvince": "1",
        "completeInfoDate": "2024-05-09T05:45:53.153Z",
        "bankAccount": "******",
        "bankAccountType": "2",
        "bankName": "177"
    },
    "title": "Update Gcash Info",
    "content": "Update GCASH Info Succeeded",
    "hasBeenRead": true,
    "bDelete": false,
    "createTime": "2024-05-09T05:47:48.656Z",
    "__v": 0
}}
  1. 删除所有站内信
player.deleteAllMail();

响应内容:

data: {status: 200}
  1. 删除站内信
player.deleteMail('658d335d6');
  • 这里的参数为选择删除的邮件唯一码的参数

响应内容:

data: {status: 200,
 data://回传内容可以参考player.readMail}
  1. 获取玩家当天状态
player.getPlayerDayStatus();

响应内容:

data: {status: 200,
data: {topUpAmount: 0, topUpCount: 0, consumptionAmount: 0, payoutAmount: 0}}
  1. 获取玩家本周状态
player.getPlayerWeekStatus();

响应内容:

data: {status: 200,
data: {topUpAmount: 0, topUpCount: 0, consumptionAmount: 0, payoutAmount: 0}}
  1. 获取玩家本月状态
player.getPlayerMonthStatus();

响应内容:

data: {status: 200,
data: {topUpAmount: 0, topUpCount: 0, consumptionAmount: 0, payoutAmount: 0}}
  1. 修改玩家电话
player.updatePhoneNumberWithSMS('1122');
  • updatePhoneNumberWithSMS 需要用参数是一次性密码

响应内容:

data: {status: 200, data: true}
  1. 登入后获取手机验证码
player.sendSMSCodeToPlayer('updatePassword',false);
  • sendSMSCodeToPlayer 这里的第一个参数是验证用途,第二个则为是否使用语音验证码

响应内容:

data: {status: 200, data: true}
  1. 通过验证码验证手机
player.verifyPhoneNumberBySMSCode('2167');
  • verifyPhoneNumberBySMSCode 这里的参数是一次性验证码

响应内容:

data: {status: 200, data: true}
  1. 玩家前端自助判断升级
player.manualPlayerLevelUp();

响应内容:

data: {status: 200,
data: {"message": "恭喜您从  (当前等级) 升级到  (新等级) ,获得 xx元、xx元共x个礼包"}
  1. 玩家当前额度
player.getCreditDetailFE(1);
  • 1 账号类别 1 - PHP,可以不填写默认为 1

响应内容:

data: {status: 200,
 data: {
      gameCreditList: [{  游戏大厅内额度列表
          nickName: 大厅名称
          chName: 大厅中文名称
          validCredit: 额度
          status: 大厅状态,0表示正常,1表示维护中
          providerId: 大厅ID
      }],
      credit: 本地自由额度
      finalAmount: 帐号中的总馀额(含自由本地+锁定本地+游戏馀额)
      walletFreeCredit: EBET钱包内自由额度
      sameLineProviders: {    同一条线路的供应商有哪些
          例子: 序号: ["大厅ID"]
          0: ["47", "55" ],
          1: ["16", "20", "70", "85"],
      },
      lockedCreditList: [{    锁大厅额度列表
          nickName: 大厅组名称
          lockCredit: 本地锁大厅额度
          list: [{    大厅列表
              providerId: 大厅ID
              nickName: 大厅名称
              validCredit: 额度
              status: 大厅状态,0表示正常,1表示维护中
              walletCredit: EBET钱包内额度
          }]
      }]
  }
  1. 登入后获取提款信息
player.getWithdrawalInfo(1);
  • 1 账号类别 1 - PHP,可以不填写默认为 1

响应内容:

data: {status: 200,
data: { freeTimes: 免手续费提款剩余次数
      serviceCharge: 手续费
      currentFreeAmount: 免手续费提款额
      freeAmount: 可提款金额
      ximaWithdraw: 可提款洗码金额
      lockList: [{ 现有锁大厅
          name: 大厅名字
          lockAmount: 锁定额度
          currentLockAmount: 锁定额度余额
      }]}}
  1. 编辑玩家 email
player.updatePlayerEmail('dc12@gmxxx.com','dc34@gmxxx.com');
  • updatePlayerEmail 里面第一个参数是需要更新的邮箱,而第二个是现有的邮箱

响应内容:

data: {status: 200} //第一次绑定

data: {status: 200,data: {
    "_id": "663c6cfc2c5bf0706887f497",
    "mainType": "UpdatePlayer",
    "type": {
        "_id": "6287162c32f1ac001af321bd",
        "expirationDuration": 0,
        "platformId": "612d901dcd001d4becbaea2e",
        "name": "UpdatePlayerEmail",
        "process": "6287162b32f1ac001af320bd",
        "executionType": "executeUpdatePlayerEmail",
        "rejectionType": "rejectUpdatePlayerEmail",
        "__v": 0
    },
    "creator": {
        "type": "player",
        "name": "1103366434",
        "id": "663c62f18400c62f5117fea3"
    },
    "data": {
        "_id": "663c62f18400c62f5117fea3",
        "playerId": "1103366434",
        "platformId": "612d901dcd001d4becbaea2e",
        "playerObjId": "663c62f18400c62f5117fea3",
        "playerName": "1103366434",
        "updateData": {
            "email": "test1@gmail.com"
        },
        "curData": {
            "email": "******"
        },
        "isStressTestPlayer": false,
        "proposalPlayerLevelValue": 0,
        "playerLevelName": "LV1",
        "proposalPlayerLevel": "LV1",
        "realNameBeforeEdit": "SS,SSSSS,SS"
    },
    "priority": "0",
    "entryType": "0",
    "userType": "0",
    "noSteps": true,
    "status": "Approved",
    "processedTimes": 0,
    "inputDevice": 3,
    "device": "2",
    "isSending": false,
    "createTime": "2024-05-09T06:28:12.011Z",
    "expirationTime": "9999-12-31T23:59:59.000Z",
    "settleTime": "2024-05-09T06:28:12.011Z",
    "proposalId": "1003304550",
    "__v": 0
}} //编辑,有填email
  1. 请求回电域名配置
player.callBackToUser('9xxxxxxxxx','2134','1462','0');
  • callBackToUser 内第一个参数是要拨打的电话号码,第二个参数是图片验证码用的随机数字,第三个是图片验证码,第四参数则是线路好不填时为0

响应内容:

data: {"status": 200,"data": true}
  1. 电话号码查找账号
player.inquireAccountByPhoneNumber('1456');
  • inquireAccountByPhoneNumber 内使用的参数是一次性密码

响应内容:

data: {"status": 200,
data: {
          "code": 6309, // 10分钟内有效
          "list": [
              {
                  "name": "dx44224",
                  "phoneNumber": "639xxxxxxxxx",
                  "realName": "",
                  "playerId": "8473",
                  "createTime": "2018-07-26T03:12:36.763Z"
              }
          ]
      }}
  1. 重置玩家密码
player.forgetPassword('4563','abc123');
  • forgetPassword 中使用的第一个参数是一次性验证码,第二个是新的登入密码

响应内容:

data: {status: 200,
  data: {
    playerId:"1103366434",
    playerObjId: "663c62f18400c62f5117fea3",
    text: "密码修改成功"
  }
}
  1. 获取回电域名图片验证
player.getDomainCaptcha();

响应内容:

data: {status: 200,
data: {"randomNumber": 0.06721722742407521, // 确认验证码用
              "b64ImgDataUrl":
              "data:image/jpeg;base64,/9j/4...SZ/9k="  // base 64 图片资料}}
  1. 获取玩家绑定银行卡列表
player.getLinkBankCardList("png");
  • png 图片格式,在返回的内容会包含银行种类的图片,目前只支援 svg 以及 png,可不填写默认为 svg 格式

响应内容:

data: {status: 200,
data: {
      "list": [
    {
        "_id": "65cdeaba41fc8e74bc1847e9",
        "paymentChoice": "1",
        "paymentType": "2",
        "platformObjId": "612d901dcd001d4becbaea2e",
        "playerObjId": "6529460680f4160047cf276a",
        "Maya": {
            "Birthdate": null
        },
        "__v": 0,
        "bankAccount": "091**********123",
        "bankAccountName": "TEST,TEST,TEST",
        "paymentTypeName": "GCash",
        "bankName": "GCash",
        "id": "0001",
        "bankTypeId": "0001",
        "imagePath": "https://cp-images.client88.me/images/cp/images/bank/bank_bg_0001.png"
    },
    {
        "_id": "65cde52e41fc8e74bc17313e",
        "paymentChoice": "1",
        "paymentType": "5",
        "platformObjId": "612d901dcd001d4becbaea2e",
        "playerObjId": "6529460680f4160047cf276a",
        "Maya": {
            "Birthdate": null
        },
        "__v": 0,
        "bankAccount": "091**********123",
        "bankAccountName": "TEST,TEST,TEST",
        "paymentTypeName": "Maya",
        "bankName": "Maya",
        "id": "0004",
        "bankTypeId": "0004",
        "imagePath": "https://cp-images.client88.me/images/cp/images/bank/bank_bg_0004.png"
    },
    {
        "id": "1",
        "isDefault": true,
        "bankName": "China Bank Savings, Inc",
        "bankAccount": "789876**********8432",
        "bankAccountName": "TEST,TEST,TEST",
        "bankAccountProvince": null,
        "bankAccountCity": null,
        "bankAccountDistrict": null,
        "bankAddress": null,
        "bankTypeId": "204",
        "imagePath": "https://cp-images.client88.me/images/cp/images/bank/bank_bg_204.png"
    }
]
    }
  1. 修改生日日期
player.changeBirthday('2000-08-06T01:02:08.957Z');
  • changeBirthday 内的参数是想要更新的日期

响应内容:

data: {status: 200,
  data:{
    "_id": "663c6e9d5ed81ba8c8296e0c",
    "mainType": "UpdatePlayer",
    "type": {
        "_id": "6287162c32f1ac001af32242",
        "expirationDuration": 0,
        "platformId": "612d901dcd001d4becbaea2e",
        "name": "UpdatePlayerInfo",
        "process": "6287162b32f1ac001af320b6",
        "executionType": "executeUpdatePlayerInfo",
        "rejectionType": "rejectUpdatePlayerInfo",
        "__v": 0
    },
    "creator": {
        "type": "player",
        "name": "1103366445",
        "id": "663c6e935ed81ba8c8296ce7"
    },
    "data": {
        "_id": "663c6e935ed81ba8c8296ce7",
        "playerId": "1103366445",
        "platformId": "612d901dcd001d4becbaea2e",
        "playerObjId": "663c6e935ed81ba8c8296ce7",
        "playerName": "1103366445",
        "DOB": "2000-02-04T00:00:00.000Z",
        "remark": "Date of Birth",
        "isIgnoreAudit": true,
        "isStressTestPlayer": false,
        "proposalPlayerLevelValue": 0,
        "playerLevelName": "LV1",
        "proposalPlayerLevel": "LV1",
        "realNameBeforeEdit": ""
    },
    "priority": "0",
    "entryType": "0",
    "userType": "0",
    "noSteps": true,
    "status": "Approved",
    "processedTimes": 0,
    "inputDevice": 3,
    "device": "2",
    "isSending": false,
    "createTime": "2024-05-09T06:35:09.095Z",
    "expirationTime": "9999-12-31T23:59:59.000Z",
    "settleTime": "2024-05-09T06:35:09.095Z",
    "proposalId": "1003304576",
    "__v": 0
  }
}
  1. 设置性别
player.updateGender(true);
  • update 内的参数是 boolean true 男false 女

响应内容:

data: {status: 200, data:true}
  1. 上传头像
player.uploadAvatar("base64 image");
  • 在这里的参数是用户输入的照片

响应内容:

data: {status: 200, data: true}
  1. 更新额外信息
player.updateAdditionalInfo({password:'1234',postcode:'1234',.......});
  • 此接口的请求内容会随着用户点击更新哪些额外信息而改变,以下是有可能会使用到的参数
    address: 玩家地址,IDCardNumber: 身份证号码,postcode: 邮政编号,playerProvince: 省,playerCity: 市,nickName: 呢称, nationality: 国籍,sourceOfFunds: 资金来源,photoId1: 第一身份证,photoId2: 第二身份证,verifyPhoto: 第一身份证, photoId1Type: 第一身份证类型,photoId2Type: 第二身份证类型1,placeOfBirth: 出生地址,natureOfWork: 工作性质, password: 第一次设置密码

响应内容:

data: {status: 200, data: true}
  1. 设置真实姓名
player.setRealName('xxx');
  • 这里面的参数是客户真实名称

响应内容:

data: {status: 200}
  1. 查询重置密码链接
player.checkResetPasswordUrlValidity('xxxxxxxxxx');
  • xxxxxxxxxx这里所需的参数是 token

响应内容:

data: {status: 200}
  1. 查询重置密码链接
player.updatePasswordWithResetPasswordUrl('xxxxxxxxxx','abc123','abc123');
  • xxxxxxxxxx第一个参数是 token,而参数第二个是新的密码,第三个是确认密码

响应内容:

data: {status: 200}
  1. GCash 单月限额
player.getGcashLimit();

响应内容:

data: {status: 200
data: { "gcashLimit": 0,"checkGcashLimit": 0}}
  1. 绑定手机号
player.setPhoneNumber(“639123456789”,”2304”)
  • 这里的参数第一个是手机号,第二个是一次性验证码(需要使用 getSMSCode{purpose:"setPhoneNumber"}来获取)

响应内容:

{status: 200,
data: {number: “639123456789”}}
  1. 获取 KYC 状态
player.getKycStatus()
Status状态
1已完成,可以无阻碍使用此账号
2未完成,需要填写,不填写不让进游戏, 存款和提款
3未完成,需要填写,不填写可以进游戏以及存款,但是提款必须填且必须审核通过
4已提交,等待审核,不能进游戏, 存款和提款
5已提交,等待审核,可以进游戏以及存款,但是提款不能使用,需等待审核
6被拒绝,请重新提交,不能进游戏, 存款和提款
  • 这里的功能可以根据状态来判断玩家是否可以进入存款,提款以及游戏,使用此接口必须要请求 platform.getConfig()之后,登入/注册或者推送信息 playerInfo 才可去请求此功能

响应内容:

{
    "status": 1, //状态
    "isGameBlocked": false, //游戏是否被阻挡
    "isWithdrawalBlocked": false, //提款是否被阻挡
    "isDepositBlocked": false //存款是否被阻挡
}

游戏

  1. 获取游戏配置
game.getGameConfig({deviceType: 0,getJackpot: true, timestamp: "172039481"})
  • getGameConfig 使用花括号添加参数,所需的参数有必填的 deviceType,deviceType:0-全部, 1-Web, 2-H5, 4-APP,而第一个选填参数是 getJackpot,如果填写 true 会去请求最新头奖金额,默认为 false,第二个选填参数为 timestamp 时间戳 可以不填写。

响应内容

data:{
    "games": [
        {
            "device": 1,
            "title": "casino",
            "displayFormat": 3,
            "displayOrder": 1
        },
        {
            "device": 4,
            "title": "popular",
            "displayFormat": 1,
            "displayOrder": 1
        },
        {
            "device": 2,
            "title": "popular",
            "displayFormat": 3,
            "displayOrder": 1,
            "displayTitle": "Popular Games"
        },
        {
            "device": 1,
            "title": "SabaSport",
            "displayFormat": 3,
            "displayOrder": 2
        },
        {
            "device": 2,
            "title": "Popular Slot Games",
            "displayFormat": 3,
            "displayOrder": 2,
            "displayTitle": "Popular Slot Games"
        },
        {
            "device": 4,
            "title": "Popular Slot Games",
            "displayFormat": 3,
            "displayTitle": "Popular Slot Games",
            "displayOrder": 2
        },
        {
            "device": 1,
            "displayFormat": 5,
            "title": "slotgame",
            "displayOrder": 3
        },
        {
            "title": "Live Casino Games-Best Online Casino",
            "device": 4,
            "displayFormat": 1,
            "displayOrder": 3
        },
        {
            "device": 2,
            "title": "Live Casino Games-Best Online Casino",
            "displayFormat": 3,
            "displayOrder": 3,
            "displayTitle": "Live Games"
        },
        {
            "device": 1,
            "title": "liveslot",
            "displayFormat": 3,
            "displayOrder": 4
        },
        {
            "device": 4,
            "title": "Slot Games",
            "displayFormat": 3,
            "displayOrder": 4,
            "displayTitle": "Slot Games"
        },
        {
            "device": 2,
            "title": "Slot Games",
            "displayFormat": 3,
            "displayOrder": 4,
            "displayTitle": "Slot Game"
        },
        {
            "device": 2,
            "title": "Online Slot Machine-Online Casino Games",
            "displayFormat": 3,
            "displayOrder": 5,
            "displayTitle": "Online Slot Machine"
        },
        {
            "device": 4,
            "title": "JILI",
            "displayFormat": 5,
            "displayOrder": 5
        },
        {
            "device": 4,
            "title": "Online Slot Machine-Online Casino Games",
            "displayFormat": 1,
            "displayOrder": 6
        },
        {
            "device": 2,
            "title": "card555",
            "displayFormat": 3,
            "displayOrder": 6,
            "displayTitle": "Card 1234"
        },
        {
            "device": 4,
            "title": "Sports Games-Best Online Casino",
            "displayFormat": 3,
            "displayOrder": 7
        }
    ],
    "configColorGame": {
        "colorGameEffect": false,
        "titleBanner": "cp/colorgamehosting/mingxing_408/408_alyssa/frame.png",
        "newImage": "cp/colorgamehosting/mingxing_408/408_alyssa/thumb.png"
    },
    "jackpot": {
        "DFDCGRANDJackpot": 600000,
        "DRAGONSGOLDJackpot": 200000,
        "DUOFUJackpot": 100000.87,
        "FORTUNETEEJackport": 300000,
        "GFortuneJackpot": 2195973.87,
        "JINJIJackpot": 100000.87,
        "JJBXGOLDJackpot": 500000,
        "YELLOWDRAGONJackpot": 10000,
        "BACCARATJackpot": 1000000
    }
}
  1. 获取主页游戏分组
game.getHomeGame({deviceType: 2,getJackpot: true, timestamp: "172039481"})
  • 可以参考 getGameConfig 的内容

响应内容

data:{
    "games": [
        {
            "device": 2,
            "title": "popular",
            "displayFormat": 3,
            "displayOrder": 1,
            "children": [],
            "name": "Popular Games",
            "displayName": "popular",
            "games": {
                "gameList": [
                    {
                        "index": 1,
                        "game": {
                            "_id": "662247ed87a2282158d87019",
                            "gameId": "GE-750931640",
                            "name": "Slots Live",
                            "code": "jin ji bao xi",
                            "bigShow": "https://cp-images.client88.me/images/callfpms/612d901dcd001d4becbaea2e/osm-jinjibaoxi.jpg",
                            "smallShow": "https://cp-images.client88.me/images/callfpms/612d901dcd001d4becbaea2e/osm-jinjibaoxi.jpg",
                            "visible": false,
                            "canTrial": false,
                            "type": "9999",
                            "description": "Slots Live",
                            "status": 1,
                            "recommendContent": 0,
                            "gameEntryUrl": "https://www.client88.me/inGame?name=Slots%20Live&title=Popular%20Games",
                            "isGameEntry": true,
                            "certificationStatus": false,
                            "gameEntryGameId": "607C030D-CBFF-4A30-8D0B-FE6622FB4313",
                            "gameRecommendedSetting": [],
                            "__v": 0,
                            "isTemporaryMaintenance": true,
                            "providerName": "",
                            "providerEngName": "",
                            "providerRestriction": 1
                        },
                        "_id": "66224d7b6ebb7706a0e132e1"
                    },
                    {
                        "index": 2,
                        "game": {
                            "_id": "654c7e1006d9c90020ef5426",
                            "visible": false,
                            "canTrial": false,
                            "description": "JILI SLOT",
                            "status": 1,
                            "recommendContent": 0,
                            "name": "JILI SLOT",
                            "code": "JILI SLOT",
                            "smallShow": "https://cp-images.client88.me/images/callfpms/612d901dcd001d4becbaea2e/JILISLOT.png",
                            "bigShow": "https://cp-images.client88.me/images/callfpms/612d901dcd001d4becbaea2e/JILISLOT.png",
                            "gameEntryUrl": "games/?name=Slot%20Game&sub_mode=JILI",
                            "gameId": "GE-908303629",
                            "isGameEntry": true,
                            "type": "9999",
                            "gameRecommendedSetting": [],
                            "__v": 0,
                            "isTemporaryMaintenance": true,
                            "providerName": "",
                            "providerEngName": "",
                            "providerRestriction": 1,
                            "certificationStatus": false
                        },
                        "_id": "66224d7b6ebb7706a0e132e2"
                    },
                    {
                        "index": 3,
                        "game": {
                            "_id": "65787b0f770099005a95aa42",
                            "visible": true,
                            "canTrial": false,
                            "description": "Color Game",
                            "status": 1,
                            "recommendContent": 0,
                            "gameId": "52008034-9350-49CF-97AF-B81999FB9DAF",
                            "bigShow": "https://cp-images.client88.me/images/cpms/ALL_GAME/166/53_colorgame-live.png",
                            "smallShow": "https://cp-images.client88.me/images/cpms/ALL_GAME/166/53_colorgame-live.png",
                            "showPriority": 1,
                            "code": "colorgame@31,33-CG01_h5",
                            "name": "Color Game",
                            "playGameType": "2",
                            "aliasCode": "color-game,Color Game Jackpot,31",
                            "sourceURL": "https://cp-images.client88.me/images",
                            "type": "166",
                            "regionName": {
                                "VN": "",
                                "EN": "Color Game",
                                "TH": ""
                            },
                            "provider": "166",
                            "gameRecommendedSetting": [],
                            "__v": 0,
                            "webp": "https://cp-images.client88.me/images/cpms/ALL_GAME/166/colorgame0413.webp",
                            "images": {
                                "50": "https://cp-images.client88.me/images/cpms/ALL_GAME/166/50_image(8).png"
                            },
                            "changedName": {
                                "50": "Color Game"
                            },
                            "title": "",
                            "certificationStatus": false,
                            "lastCertificationDate": "2024-01-15T01:53:35.079Z",
                            "isTemporaryMaintenance": true,
                            "providerName": "CPCOLORGAME",
                            "providerEngName": "Casino Plus Color Game",
                            "providerRestriction": 1
                        },
                        "_id": "66224d7b6ebb7706a0e132e3"
                    },
                    {
                        "index": 4,
                        "game": {
                            "_id": "65787be36f50da0032f67b5c",
                            "visible": true,
                            "canTrial": false,
                            "description": "Baccarat",
                            "status": 1,
                            "recommendContent": 0,
                            "gameId": "4E5C9BDA-AEBF-4BA6-A124-CCD91609C02F",
                            "bigShow": "https://cp-images.client88.me/images/cpms/ALL_GAME/171/50_New.png",
                            "smallShow": "https://cp-images.client88.me/images/cpms/ALL_GAME/171/50_New.png",
                            "showPriority": 1,
                            "code": "baccarat@1-E001_h5",
                            "name": "Baccarat",
                            "playGameType": "2",
                            "aliasCode": "1",
                            "sourceURL": "https://cp-images.client88.me/images",
                            "type": "171",
                            "regionName": {
                                "VN": "",
                                "EN": "Baccarat",
                                "TH": ""
                            },
                            "provider": "171",
                            "gameRecommendedSetting": [],
                            "__v": 0,
                            "webp": "https://cp-images.client88.me/images/cpms/ALL_GAME/171/baccarat-live-game0417.webp",
                            "images": {
                                "50": "https://cp-images.client88.me/images/cpms/ALL_GAME/171/50_New.png"
                            },
                            "certificationStatus": false,
                            "lastCertificationDate": "2024-02-16T08:51:07.076Z",
                            "title": "",
                            "isTemporaryMaintenance": true,
                            "providerName": "CPBACCARAT",
                            "providerEngName": "Casino Plus Baccarat",
                            "providerRestriction": 1
                        },
                        "_id": "66224d7b6ebb7706a0e132e4"
                    },
                    {
                        "index": 5,
                        "game": {
                            "_id": "65faab8988d421b5c1c34235",
                            "gameId": "GE-820531837",
                            "name": "FCGAME",
                            "code": "FCGAME",
                            "bigShow": "https://cp-images.client88.me/images/callfpms/612d901dcd001d4becbaea2e/FC总入口图.png",
                            "smallShow": "https://cp-images.client88.me/images/callfpms/612d901dcd001d4becbaea2e/FC总入口图.png",
                            "visible": false,
                            "canTrial": false,
                            "type": "9999",
                            "description": "FCGAME",
                            "status": 1,
                            "recommendContent": 0,
                            "gameEntryUrl": "/games/?name=Online%20Slot%20Machine",
                            "isGameEntry": true,
                            "certificationStatus": false,
                            "gameRecommendedSetting": [],
                            "__v": 0,
                            "isTemporaryMaintenance": true,
                            "providerName": "",
                            "providerEngName": "",
                            "providerRestriction": 1
                        },
                        "_id": "66224d7b6ebb7706a0e132e5"
                    },
                    {
                        "index": 6,
                        "game": {
                            "_id": "658a793cbe4c2e0039088698",
                            "visible": true,
                            "canTrial": false,
                            "description": "Good Fortune",
                            "status": 1,
                            "recommendContent": 0,
                            "bigShow": "https://cp-images.client88.me/images/cpms/ALL_GAME/170/osm-goodfortune_v3.jpg",
                            "code": "osmbwjl_h5",
                            "gameId": "E68F1570-EFDC-475E-8E3A-9190EEE92307",
                            "name": "Good Fortune",
                            "showPriority": 1,
                            "smallShow": "https://cp-images.client88.me/images/cpms/ALL_GAME/170/osm-goodfortune_v3.jpg",
                            "title": "",
                            "type": "170",
                            "aliasCode": "osmbwjl",
                            "playGameType": "2",
                            "sourceURL": "https://cp-images.client88.me/images",
                            "webp": "https://cp-images.client88.me/images/cpms/ALL_GAME/170/osm-goodfortune_v3.webp",
                            "regionName": {
                                "VN": "",
                                "EN": "Good Fortune",
                                "TH": ""
                            },
                            "provider": "170",
                            "gameRecommendedSetting": [
                                {
                                    "recommendContent": 0,
                                    "_id": "6593a50af55c440062400422",
                                    "rtp": 0,
                                    "platformObjId": "612d901dcd001d4becbaea2e",
                                    "activityUrl": "",
                                    "gameCode": "",
                                    "introduction": "",
                                    "longIntroduction": "",
                                    "newPageUrl": "",
                                    "onClickAction": null,
                                    "rewardCode": "",
                                    "route": ""
                                }
                            ],
                            "__v": 0,
                            "gameDisplay": null,
                            "activityUrl": "",
                            "gameCode": "",
                            "newPageUrl": "",
                            "onClickAction": "",
                            "rewardCode": "",
                            "route": "",
                            "isTemporaryMaintenance": true,
                            "providerName": "OSM",
                            "providerEngName": "Casino Plus OSM",
                            "providerRestriction": 1,
                            "certificationStatus": false
                        },
                        "_id": "66224d7b6ebb7706a0e132e6"
                    },
                    {
                        "index": 7,
                        "game": {
                            "_id": "65787ae8188823004f016d63",
                            "visible": true,
                            "canTrial": false,
                            "description": "Duo Fu Duo Cai",
                            "status": 1,
                            "recommendContent": 2,
                            "gameId": "D10DA945-8E8A-4AEE-94C5-E347172CA665",
                            "bigShow": "https://cp-images.client88.me/images/cpms/ALL_GAME/170/50_duo-fu-duo-cai-slot2.png",
                            "smallShow": "https://cp-images.client88.me/images/cpms/ALL_GAME/170/50_duo-fu-duo-cai-slot2.png",
                            "showPriority": 1,
                            "code": "osmdfdc_h5",
                            "name": "Duo Fu Duo Cai",
                            "playGameType": "2",
                            "aliasCode": "osmdfdc",
                            "sourceURL": "https://cp-images.client88.me/images",
                            "type": "170",
                            "regionName": {
                                "VN": "",
                                "EN": "Duo Fu Duo Cai",
                                "TH": ""
                            },
                            "provider": "170",
                            "gameRecommendedSetting": [
                                {
                                    "platformObjId": "612d901dcd001d4becbaea2e",
                                    "recommendContent": 2,
                                    "onClickAction": null,
                                    "newPageUrl": "",
                                    "activityUrl": "",
                                    "rewardCode": "",
                                    "route": "",
                                    "gameCode": "",
                                    "introduction": "test",
                                    "longIntroduction": "test",
                                    "_id": "65ea8b5ab1bbd597dd066d73"
                                }
                            ],
                            "__v": 0,
                            "webp": "https://cp-images.client88.me/images/cpms/ALL_GAME/170/50_duo-fu-duo-cai-slot2.webp",
                            "images": {
                                "50": "https://cp-images.client88.me/images/cpms/ALL_GAME/170/50_duo-fu-duo-cai-slot2.png"
                            },
                            "certificationStatus": false,
                            "lastCertificationDate": "2024-03-05T09:08:21.226Z",
                            "activityUrl": "",
                            "gameCode": "",
                            "newPageUrl": "",
                            "onClickAction": "",
                            "rewardCode": "",
                            "route": "",
                            "isTemporaryMaintenance": true,
                            "providerName": "OSM",
                            "providerEngName": "Casino Plus OSM",
                            "providerRestriction": 1
                        },
                        "_id": "66224d7b6ebb7706a0e132e7"
                    },
                    {
                        "index": 8,
                        "game": {
                            "_id": "65fd4be02222449d8daf1470",
                            "gameId": "31A277BE-88DF-44BD-9701-3B30BC0D5D67",
                            "name": "Double Roulette",
                            "title": "",
                            "code": "Double Roulette@34-DR01_h5",
                            "aliasCode": "double-roulette,Double Roulette,Roulette X,34",
                            "bigShow": "https://cp-images.client88.me/images/cpms/ALL_GAME/181/Double Roulette@34-DR01_h5.png",
                            "smallShow": "https://cp-images.client88.me/images/cpms/ALL_GAME/181/Double Roulette@34-DR01_h5.png",
                            "visible": true,
                            "canTrial": false,
                            "type": "181",
                            "description": "Double Roulette",
                            "regionName": {
                                "VN": "",
                                "EN": "Double Roulette",
                                "TH": ""
                            },
                            "provider": "181",
                            "status": 1,
                            "showPriority": 1,
                            "playGameType": "2",
                            "sourceURL": "https://cp-images.client88.me/images",
                            "webp": "https://cp-images.client88.me/images/cpms/ALL_GAME/181/Double Roulette@34-DR01_h5.webp",
                            "recommendContent": 0,
                            "certificationStatus": false,
                            "gameRecommendedSetting": [],
                            "__v": 0,
                            "isTemporaryMaintenance": true,
                            "providerName": "DOUBLEROULETTE",
                            "providerEngName": "Double Roulette",
                            "providerRestriction": 1
                        },
                        "_id": "66224d7b6ebb7706a0e132e8"
                    },
                ]
            },
            "groupId": "4677",
            "code": 101
        },
        {
            "device": 2,
            "title": "Slot Popular Games",
            "displayFormat": 3,
            "displayOrder": 2,
            "name": "Slot Popular Games",
            "displayName": "Slot Popular Games",
            "games": {
                "gameList": [
                    {
                        "index": 1,
                        "game": {
                            "_id": "654c7e1006d9c90020ef5426",
                            "visible": false,
                            "canTrial": false,
                            "description": "JILI SLOT",
                            "status": 1,
                            "recommendContent": 0,
                            "name": "JILI SLOT",
                            "code": "JILI SLOT",
                            "smallShow": "https://cp-images.client88.me/images/callfpms/612d901dcd001d4becbaea2e/JILISLOT.png",
                            "bigShow": "https://cp-images.client88.me/images/callfpms/612d901dcd001d4becbaea2e/JILISLOT.png",
                            "gameEntryUrl": "games/?name=Slot%20Game&sub_mode=JILI",
                            "gameId": "GE-908303629",
                            "isGameEntry": true,
                            "type": "9999",
                            "gameRecommendedSetting": [],
                            "__v": 0,
                            "isTemporaryMaintenance": true,
                            "providerName": "",
                            "providerEngName": "",
                            "providerRestriction": 1,
                            "certificationStatus": false
                        },
                        "_id": "662242d287a2282158d8488e"
                    },
                    {
                        "index": 2,
                        "game": {
                            "_id": "654dac090f2368004803836f",
                            "visible": false,
                            "canTrial": false,
                            "description": "Gamezone",
                            "status": 1,
                            "recommendContent": 0,
                            "name": "Gamezone",
                            "code": "Gamezone",
                            "smallShow": "https://callfpms-ftp.neweb.me/612d901dcd001d4becbaea2e/JILISLOT.png",
                            "bigShow": "https://callfpms-ftp.neweb.me/612d901dcd001d4becbaea2e/JILISLOT.png",
                            "gameEntryUrl": "games?name=Gamezone%20Slots",
                            "gameId": "GE-617743173",
                            "isGameEntry": true,
                            "type": "9999",
                            "gameRecommendedSetting": [],
                            "__v": 0,
                            "isTemporaryMaintenance": true,
                            "providerName": "",
                            "providerEngName": "",
                            "providerRestriction": 1,
                            "certificationStatus": false
                        },
                        "_id": "662242d287a2282158d8488f"
                    },
                    {
                        "index": 3,
                        "game": {
                            "_id": "654daca40f236800480384be",
                            "visible": false,
                            "canTrial": false,
                            "description": "GAMEZONEtest",
                            "status": 1,
                            "recommendContent": 0,
                            "name": "GAMEZONEtest",
                            "code": "GAMEZONEtest",
                            "smallShow": "https://callfpms-ftp.neweb.me/612d901dcd001d4becbaea2e/JILISLOT.png",
                            "bigShow": "https://callfpms-ftp.neweb.me/612d901dcd001d4becbaea2e/JILISLOT.png",
                            "gameEntryUrl": "games?name=Gamezone%20Slots",
                            "gameId": "GE-589187864",
                            "isGameEntry": true,
                            "type": "9999",
                            "gameRecommendedSetting": [],
                            "__v": 0,
                            "isTemporaryMaintenance": true,
                            "providerName": "",
                            "providerEngName": "",
                            "providerRestriction": 1,
                            "certificationStatus": false
                        },
                        "_id": "662242d287a2282158d84890"
                    },
                    {
                        "index": 4,
                        "game": {
                            "_id": "654db3c51508010019ac3a87",
                            "visible": false,
                            "canTrial": false,
                            "description": "Gamezonetest",
                            "status": 1,
                            "recommendContent": 0,
                            "name": "Gamezonetest",
                            "code": "Gamezonetest",
                            "smallShow": "https://callfpms-ftp.neweb.me/612d901dcd001d4becbaea2e/JILISLOT.png",
                            "bigShow": "https://callfpms-ftp.neweb.me/612d901dcd001d4becbaea2e/JILISLOT.png",
                            "gameEntryUrl": "games?name=Gamezone%20Slots",
                            "gameId": "GE-100827580",
                            "isGameEntry": true,
                            "type": "9999",
                            "gameRecommendedSetting": [],
                            "__v": 0,
                            "isTemporaryMaintenance": true,
                            "providerName": "",
                            "providerEngName": "",
                            "providerRestriction": 1,
                            "certificationStatus": false
                        },
                        "_id": "662242d287a2282158d84891"
                    },
                    {
                        "index": 5,
                        "game": {
                            "_id": "6537862a653dd9002e898b72",
                            "visible": false,
                            "canTrial": false,
                            "description": "tesing_pm",
                            "status": 1,
                            "recommendContent": 0,
                            "name": "tesing_pm",
                            "code": "testing_pm",
                            "smallShow": "https://callfpms-ftp.neweb.me/612d901dcd001d4becbaea2e/game_icon_01.png",
                            "bigShow": "https://callfpms-ftp.neweb.me/612d901dcd001d4becbaea2e/game_icon_01.png",
                            "gameEntryUrl": "games?name=Gamezone%20Slots",
                            "gameId": "GE-926509118",
                            "isGameEntry": true,
                            "type": "9999",
                            "gameRecommendedSetting": [],
                            "__v": 0,
                            "changedName": {
                                "50": "testing_pm"
                            },
                            "isTemporaryMaintenance": true,
                            "providerName": "",
                            "providerEngName": "",
                            "providerRestriction": 1,
                            "certificationStatus": false
                        },
                        "_id": "662242d287a2282158d84892"
                    },
                ]
            },
            "children": [],
            "groupId": "1000004881",
            "code": 129
        },
        {
            "device": 2,
            "title": "Popular Slot Games",
            "displayFormat": 3,
            "displayOrder": 3,
            "name": "Popular Slot Games",
            "displayName": "Popular Slot Games",
            "games": {
                "gameList": [
                    {
                        "index": 1,
                        "game": {
                            "_id": "657933e64e6bd3003fc8cef7",
                            "visible": true,
                            "canTrial": false,
                            "description": "Chin Shi Huang",
                            "status": 1,
                            "recommendContent": 0,
                            "bigShow": "https://cp-images.client88.me/images/cpms/jili/mobile/2.jpg",
                            "code": "2_h5",
                            "gameId": "B8339964-E520-4C33-A9DE-69F60FA8F7A9",
                            "name": "Chin Shi Huang",
                            "showPriority": 1,
                            "smallShow": "https://cp-images.client88.me/images/cpms/jili/mobile/2.jpg",
                            "title": "",
                            "type": "175",
                            "playGameType": "2",
                            "sourceURL": "https://cp-images.client88.me/images",
                            "webp": "https://cp-images.client88.me/images/cpms/jili/mobile/2.webp",
                            "regionName": {
                                "VN": "",
                                "EN": "Chin Shi Huang",
                                "TH": ""
                            },
                            "provider": "175",
                            "gameRecommendedSetting": [],
                            "__v": 0,
                            "aliasCode": "",
                            "certificationStatus": false,
                            "isTemporaryMaintenance": true,
                            "providerName": "JILIBETA",
                            "providerEngName": "JILI BETA",
                            "providerRestriction": 1
                        },
                        "_id": "661910c0cca97085b6c52103"
                    },
                    {
                        "index": 1,
                        "game": {
                            "_id": "657c46251a0ca40055a7c7a8",
                            "visible": true,
                            "canTrial": false,
                            "description": "Boxing King",
                            "status": 1,