1.0.0-cocos • Published 1 year ago

frontend-api-module v1.0.0-cocos

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

SDK JS API 文档


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


目录

  1. 安装方式
    1. 模块导入
    2. 用法
    3. 调用接口例子
    4. 状态码定义
    5. 客户端类型
    6. 帐号类别
    7. 设备类型
    8. 语言
    9. 积分类型
  2. API 模块例子
    1. 平台模块
      1. 获取平台设置
      2. 获取平台信息
    2. 玩家模块
      1. 玩家信息 (Player Info)
      2. 玩家登入或注册使用 OTP
      3. 玩家密码登录
      4. 登陆状态验证
      5. 玩家登出
      6. 获取手机验证码
      7. 获取图形验证码
      8. 获取玩家基本信息
      9. 修改玩家支付信息
      10. 修改玩家登录密码
      11. 修改玩家电话
      12. 登入后获取手机验证码
      13. 通过验证码验证手机
      14. 玩家当前额度
      15. 登入后获取提款信息
      16. 编辑玩家电子邮件
      17. 重置玩家密码
      18. 获取玩家绑定银行卡列表
      19. 修改生日日期
      20. 设置性别
      21. 上传头像
      22. 更新额外信息
      23. 设置真实姓名
      24. GCash 单月限额
      25. 获取 KYC 状态
      26. 设置语言
      27. 请求回电域名配置
    3. 存款模块
      1. 创建充值连接
      2. 获取存款充值方式
      3. 银行提款
      4. 获取兑奖列表
      5. 取消兑奖申请
      6. 获取充值记录
      7. 获取银行卡类型列表
      8. 获取 MAYA 登陆链接
      9. MAYA 提款
      10. Gcash 提款
      11. 获取 OTC 银行付款流程
    4. 游戏模块
      1. 本地额度转出到平台账号的游戏额度
      2. 游戏额度从平台账号转入到本地额度
      3. 获取登录游戏的 URL
    5. 奖励模块
      1. 申请 Lazada 优惠
    6. 推送信息使用方法
      1. 推送信息种类
      2. 主要监听种类以及后续步骤
        1. Authenticate
        2. wsStatus
        3. Credit
        4. PlayerInfo
        5. PlayerLogout
        6. IdStatus
  3. Get SMS 用途流程
    1. 注册 / 登入
    2. 忘记密码
    3. 忘记手机号
    4. 修改手机号
  4. 款项流程
    1. 存款流程
    2. 提款流程
      1. 提款需要请求的接口
      2. 银行提款流程
      3. MAYA 提款流程
      4. Gcash 提款流程
    3. 绑定银行卡
      1. 绑定银行卡所需的接口
      2. 绑定银行卡流程
  5. KYC 流程
    1. 输入玩家出生日期
    2. 玩家真实名称
    3. 工作的种类
    4. 资金来源
    5. 国籍
    6. 地址
    7. 上传玩家证件

安装方式

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

模块导入

  • 使用以下方式,在你的 JavaScript 代码中导入并使用 API:

    import Ws from 'https://clientsdk.com/js-sdk/v2.1.5/bundle.js';

用法

  • 导入成功后参考以下代码来使用

    // 以下例子是DOM完成加载后
    document.addEventListener('DOMContentLoaded', () => {
      // 将Ws暴露到全局作用域中
      window.Ws = Ws;
    
      // 初始化全局配置
      Ws.globalConfig.init({ platformId: "69", domain: "abc.com", sourceUrl: "https://www.abc.com/", deviceType: 3, appName:"OSM" }, 3).then((res) => {
        // 如果初始化成功
        if (res.status === 200){
          window.platform = new Ws.Platform();
          window.player = new Ws.Player();
          window.game = new Ws.Game();
          // 可以在此处创建其他实例...
        }
      }).catch(err => {
        // TODO: 请求失败的逻辑处理
        console.error('Init Websocket failed', err)
      })
    });
  • 初始化函数:

    Ws.globalConfig.init({ platformId: "69", domain: "abc.com", sourceUrl: "https://www.abc.com", deviceType: 3, appName:"OSM" }, 3)

  • 请求内容:

    1) Object: { platformId: "69", domain: "abc.com", sourceUrl: "https://www.abc.com", deviceType: 3, appName:"OSM" }
    2) Number: 1 // 环境数值 1: 正式, 2: 内部, 3: 测试, 4: 开发
    • 花括号所使用的参数为 平台对象,域名,来源网址,设备种类 (如果没填写默认为 4),以及 app 名称
  • 响应内容:

    {
      status: 200,
      message: 'init websocket success'
    }
  • 失败内容:

     status: 4xx
  • 调用接口例子:

    操作成功后,把 player 暴露到全局作用域中后,就可调用接口

    const sendData = {phoneNumber: '639111222333', password: '888888', clietnDomain: 'google.com'}
    player.loginWithPassword(sendData).then((res) => {
        console.log('Success login:', res);
      });

状态码定义

状态码描述
200/400操作成功/服务器错误
401用户名或密码无效
402验证码错误
403生成验证码错误
404用户名已存在
405无效参数
406无效手机号码
407原密码错误
408数据库连接失败
409用户权限不够
410查询超出范围
411用户会话失效
412提案状态错误
413充值方式维护中
414没有足够的银行卡
415额度不足
416玩家金额消费未满
417支付信息无效
418权限不足
419玩家已有该类型请求
420用户未登陆
421奖励活动无效
422玩家不符合奖励条件
423玩家申请奖励失败
424玩家已有奖励任务
425游戏维护中
426充值失败
427查找玩家奖励信息出错
428转出玩家额度出错
429转入玩家额度出错
430玩家被禁用
431数据错误
475此操作会对玩家已申请优惠有影响,不能进行此操作报错
482平台禁止登陆,维护中

客户端类型 {#clientType}

一般上客户端类型是选填的参数,默认为 2

客户端客户端种类
1浏览器(browser)
2H5
4APP

帐号类别 {#accountType}

帐号帐号种类
1PHP

设备类型 {#deviceType}

设备设备种类
1浏览器(browser)
2H5
3安卓 APP
4IOS APP

语言 {#language}

language语言
1简体中文
2英语
3越南语
4泰语
5菲律宾语
6韩语
  • 可不填写,默认为 2

积分类型 {#pointType}

pointType积分类别
1登入积分
2存款积分
3游戏积分
4积分扣除
5积分增加
6提前积分兑换
7到期积分兑换
8积分扣除(取消退还)
9提前积分兑换(取消退还)
10到期积分兑换(取消退还)

API 模块例子

平台模块 (Platform)

  • 1. 获取平台设置 {#getConfig}

    getConfig()
    • 响应内容:

      data: {
        status: 200,
        data: {
          live800: [
            //获取客服链接
            {
              csType: 0,
              isImg: 0,
              content: 'https://salesiq.zohopublic.com/signaturesupport.ls?widgetcode=siq1dc9553dd97ea4bcbd676cd2ca2da83461279a579ec37ff5518cd3b10ae1f64b',
              isOpen: 1, //是否开启
            },
            {
              csType: 0,
              isImg: 0,
              content: 'https://secure.livechatinc.com/licence/14347593/v2/open_chat.cgi?group=1&unique_groups=1',
              isOpen: 0, //是否开启
            },
          ],
          allowFrontendPlayerOrPartnerSubmitGCASHWithdrawal: 1, //允许玩家/代理前端提交GCASH提款 (1: 允许, 0: 禁止)
          allowFrontendPlayerOrPartnerGCASHBinding: 1, // 允许玩家/代理前端绑定GCASH (1: 允许, 0: 禁止)
          requireSMSCodeForBankRegistrationAtFirstTime: 1, //请求验证码第一次银行绑定
          registerRequiredAdditionalInfo: 0, // 注册需要额外信息 (0-否/1-是)
          withdrawalRequiredAdditionalInfo: 1, // 提款需要额外信息 (0-否/1-是)
          termAndConditions: '........', // 条款
          privacyPolicy: '......', // 隐私
          requireSMSVerificationForDemoPlayer: 1, // 需要验证码在测试玩家
          nickNameMinMax: {
            // 呢称长度
            min: 3,
            max: 14,
          },
          noSourceNeedKYC: 1, //无来源需要kyc (0-否/1-是)
          showLazada: true, // 展示lazada优惠券
          sourceTermsAgree: true, // 有来源条款自动勾选
          noSourceTermsAgree: true, // 无来源条款自动勾选
          appTermsAgree: true, // APP条款自动勾选
          topUpShortcutsKeyAmount: [ 20, 100, 1000, 2000, 10000, 30000 ],  // 存款快捷值
          passwordMaxLength: 14, // 密码最大长度
          passwordMinLength: 6, // 密码最小长度
          accountPrefix: '', // 玩家帐号前坠
          needSMSForRegister: 1,
          needSMSForModifyPassword: 0, // 是否需要验证码修改密码
          needSMSForModifyBankInfo: 1, // 是否需要验证码修改银行资料
          captchaVerifyType: 0, // captcha验证类型
          needImageCodeForLogin: 0, // 需要图片验证登入
          needYDImageCodeForLogin: 0, // 需要YD图片验证登入
          needImageCodeForSendSMSCode: 0, // 需要图片验证在获取验证码
          twoStepsForModifyPhoneNumber: 1, // 更改手机号码2步验证(0-否/1-是)
          requireVerificationForEmailUpdate: 0, // 需要验证在邮箱更新
          cdnOrFtpLink: 'https://cdn', // 获取cdn或ftp链接
          withdrawFeeNoDecimal: 1,
        }
      }
    • 失败内容:

      data: {
        status: 400,
        errorMessage: 'Cannot read properties of null (reading 'GLIFENoSecurityDeposit')',
        data: null,
        displayMessage: 'Oops, There's might be some problem. Please contact customer service.',
      }
  • 2. 获取平台信息 {#getDetails}

    getDetails();
    • 响应内容:

      data: {
        status: 200,
        data: {
          withdrawMinimum: 1000, // 银行提款最小额度
          withdrawMaximum: 1000000000,  // 银行提款最大额度
          pactType: [],
          allowFrontendPlayerOrPartnerGCASHBinding: true,
          allowFrontendPlayerOrPartnerSubmitGCASHWithdrawal: true,
          allowFrontendPlayerOrPartnerSubmitMAYAWithdrawal: true,
          withdrawMinMax: [ // 获取银行提款最小以及最大额度
            {
              min: 1000,
              max: 10000000,
            },
          ],
          withdrawMinimumGCASH: 50, // Gcash提款最小额度
          withdrawMaximumGCASH: 500000,  // Gcash提款最大额度
          withdrawMinMaxGCASH: [ // 获取Gcash提款最小以及最大额度
            {
              min: 50,
              max: 500000,
            },
          ],
          withdrawMinimumGLIFE: 50,
          withdrawMaximumGLIFE: 500000,
          withdrawMinMaxGLIFE: [
            {
              min: 50,
              max: 500000,
            },
          ],
          withdrawMinimumMAYA: 50, // MAYA提款最小额度
          withdrawMaximumMAYA: 500000000, // MAYA提款最大额度
          withdrawMinMaxMAYA: [ // 获取MAYA提款最小以及最大额度
            {
              min: 50,
              max: 5000000,
            },
          ],
          withdrawMinimumMayaLife: 50,
          withdrawMaximumMayaLife: 500000,
          withdrawMinMaxMayaLife: [
            {
              min: 50,
              max: 500000,
            },
          ],
        }
      }
    • 失败响应内容:

      data: {
        status: 4xx,
        data: null
      }

玩家模块 (Player) {#playerApi}

  • 1. 玩家信息 (Player Info) {#playerInfo}

    该数据是玩家的个人资料,并将在多个接口里返回,文档里会简短为playerInfo

    {
      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', //密码
      kycStatus: {  // Kyc状态
          status: 1, // 状态
          isGameBlocked: false, //是否阻挡游戏
          isWithdrawalBlocked: false, //是否阻挡提款
          isDepositBlocked: false //是否阻挡存款
        },
      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
    }
  • 2. 玩家登入或注册使用 OTP {#loginOrRegisterWithOtp}

    loginOrRegisterWithOtp({smsCode: "3693",sourceUrl: "wwww.google.me", isRegister: true, domain: "www.google.me",captcha: "", clientDomain:"www.google.me",partnerId:"12x",autoSMSCodeValid: true });
    • 请求内容:

      1) Object: { } sendData

      sendData 对象中可以输入的属性:

      变量参数
      smsCode一次性验证码 - string (必须提供的参数)
      sourceUrl访问来源 - string (选填)
      isRegister注册 - boolean (注册必填)
      domain网站域名 - string (选填)
      captcha验证码 - string (选填)
      clientDomain网站域名 - string (选填)
      partnerId合伙 Id - string (选填)
    • 响应内容:

      data: {
        status: 200,
        data: playerInfo,
        token: 'token...hereAABBCC', // 玩家 Token
      }

      玩家信息 (Player Info)

    • 失败内容:

      data: {
        status: 4xx,
        data: null
      }
  • 3. 玩家密码登录 {#loginWithPassword}

    loginWithPassword({phoneNumber:'639xxxxxxxxx', password:'xxxxxx', clientDomain:'https://xxxxxxx'})
    • 请求内容:

      1) Object: { } sendData

      sendData 对象中可以输入的属性:

      变量参数
      phoneNumber国际号加上电话号码 - String
      password密码 - String
      clientDomain网站域名 - String
    • 响应内容:

      data: {
        status: 200,
        data: playerInfo,
        token: 'token...hereAABBCC', // 玩家 Token
      }

      玩家信息 (Player Info)

    • 失败内容:

      data: {
        status: 401,
        data: {
            noOfAttempt: 0
        },
        errorMessage: 'User not found OR Invalid Password'
      }
  • 4. 登陆状态验证 {#authenticate}

    authenticate({playerId:'1702192', token:'dajsoaskxcao12,.sakdsaodkdlp10-21...', clientDomain:'www.google.com', isLogin: true, longToken: true});
    • 当玩家已登录,但网络或 webSocket 链接断开,再建立链接是可以用 token 来验证链接

    • 请求内容:

      以下参数可在玩家信息中获取玩家信息 (Player Info)

      1) Object: { } sendData

      sendData 对象中可以输入的属性:

      变量参数
      playerId玩家 Id - String
      token玩家 Token - String
      clientDomain网站域名 - String (选填)
      isLogin是否进行玩家登陆行为 - boolean(选填)
      longToken延长 token 有效时间 - boolean (选填)
    • 响应内容:

      data: {
        status: 200,
        data: playerInfo
      }
    • 失败内容:

        data: {
            status: 401,
            data: {
                noOfAttempt: 0
            },
            errorMessage: 'User not found OR Invalid Password'
        }
  • 5. 玩家登出 {#logout}

      logout();
    • 响应内容:

      data: { status: 200 }
  • 6. 获取手机验证码 {#getSMSCode}

      getSMSCode({ phoneNumber: '639xxxxxxxxx', purpose: 'playerLogin',  name: '' })
    • 发送一次性密码到玩家的手机号

    • 使用例子:注册 / 登入忘记密码忘记手机号修改手机号

    • 请求内容:

      1) Object: { } sendData

      sendData 对象中可以输入的属性:

      • 变量参数
        phoneNumber手机号 - String
        purpose用途 - String
        oldPhoneNumber旧手机号 - String
        name玩家名称 - String
        captcha验证码 - String
        useVoiceCode使用语音验证码 - Boolean
        useEmail使用邮件 - Boolean

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

      • Purpose功能
        resetPassword重置密码
        loginOrRegister登入或注册
        inquireAccount找回账号
        playerLogin玩家登入
        setPhoneNumber初次设置手机号
        registration注册
        oldPhoneNumber修改电话时的电话验证(旧号码)
        newPhoneNumber修改电话时的电话验证(新号码)
        updatePassword更新密码
        updateBankInfo更新支付信息
        freeTrialReward免费体验金
        demoPlayer试玩帐号
        setEmail首次绑定邮箱
        newEmail更新邮箱
    • 响应内容:

      data: { status: 200 }
    • 失败内容:

      data: {
        data: {}
        status: 4xx
      }
  • 7. 获取图形验证码 {#captcha}

    captcha();
    • 从服务端获取 base64 格式分验证码

    • 响应内容:

      data: { status: 200, data: 'base64;pngXfasagGFFSD' } //验证码base64字符串
    • 失败内容:

      data: {
        status: 4xx,
        data: null
      }
  • 8. 获取玩家基本信息 {#get}

    get();
    • 取玩家的基本信息,包括邮箱,地址,等详细信息。
    • 可在改动个人资料之后请求此接口来刷新信息

    • 响应内容:

      data: {
        status: 200,
        data: playerInfo
      }

      玩家信息 (Player Info)

    • 失败内容:

      data: {
        status: 420,
        errorMessage: 'Authentication Fails',
        data: null
      }
  • 9. 修改玩家支付信息 {#updatePaymentInfo}

    updatePaymentInfo({bankName:'0001', bankAccount:'1232-xxxx-xxxx', bankAccountName:'TTTT', smsCode:'2023' });
    • 请求内容:

      1) Object: { } sendData

      sendData 对象中可以输入的属性:

      • 变量参数
        bankName银行名称 - String
        bankAccount银行账号 - String
        bankAccountName玩家名称 - String
        smsCodeOTP - String (选填)
      • 银行名称可根据 getBankList 返回信息里的 bankTypeId 来添加

      • 玩家名称可以透过 playerInfo 的 bankAccountName 来输入
      • 绑定银行卡流程
    • 响应内容:

      data: { status: 200 }
    • 失败内容:

      data: {
        data: {}
        status: 4xx
      }
  • 10. 修改玩家登录密码 {#updatePassword}

    updatePassword({oldPassword:'123456', newPassword:'888888', smsCode:'1234'});
    • 请求内容:

      1) Object: { } sendData

      sendData 对象中可以输入的属性:

      • 变量参数
        oldPassword银行名称 - String
        newPassword银行账号 - String
        smsCodeOTP - String (选填)
      • OTP 参数需要根据 获取平台设置的返回信息 - needSMSForModifyPassword 是否开启来输入

    • 响应内容:

      data: {
        status: 200,
        data: {
          playerId: '1234567',
          text: 'Password successfully changed'
        }
      }
    • 失败内容:

      data: {
        data: {}
        status: 4xx
      }
  • 11. 修改玩家电话 {#updatePhoneNumberWithSMS}

    updatePhoneNumberWithSMS('1234');
    • 响应内容:

      data: {
        status: 200,
        data: true
      }
    • 失败内容:

      data: {
        data: null
        status: 4xx
      }
  • 12. 登入后获取手机验证码 {#sendSMSCodeToPlayer}

    sendSMSCodeToPlayer('updatePassword',false);
    • 请求内容:

      1)String: 'updatePassword' // 验证用途
      2)Boolean: false // 是否使用语音验证 可不添加

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

      • Purpose验证用途
        registration注册
        oldPhoneNumber修改电话时的电话验证(旧号码)
        updatePassword更新密码
        updateBankInfo更新支付信息
    • 响应内容:

      data: {
        status: 200,
        data: true
      }
    • 失败内容:

      data: {
        data: null
        status: 4xx
      }
  • 13. 通过验证码验证手机 {#verifyPhoneNumberBySMSCode}

    verifyPhoneNumberBySMSCode('1234');
    • 请求内容:

      1)String: '1234' // OTP
    • 响应内容:

      data: {
        status: 200,
        data: true
      }
    • 失败内容:

      data: {
        data: null
        status: 4xx
      }
  • 14. 玩家当前额度 {#getCreditDetailFE}

    getCreditDetailFE(1);
    • 请求内容:

      1)Number: 1 // 账号类别 (选填)
    • 响应内容:

      data: {
        status: 200,
        data: {
          gameCreditList: [
            {  // 游戏大厅内额度列表
              nickName: 'lobby1' // 大厅名称
              chName: '大厅' // 大厅中文名称
              validCredit: 100 // 额度
              status: 0 // 大厅状态 0-正常, 1-维护中
              providerId: '123' // 大厅ID
            }
          ],
          credit: 10 // 本地自由额度
          finalAmount: 120//  帐号中的总馀额(含自由本地+锁定本地+游戏馀额)
          walletFreeCredit: 10 // EBET钱包内自由额度
          sameLineProviders: {    // 同一条线路的供应商有哪些
              // 例子: 序号: ['大厅ID']
              0: ['47', '55' ],
              1: ['16', '20', '70', '85'],
          },
          lockedCreditList: [
            {    // 锁大厅额度列表
              nickName: 'lobby1' // 大厅组名称
              lockCredit: 10 // 本地锁大厅额度
              list: [
                {    // 大厅列表
                  providerId: '123' // 大厅ID
                  nickName: 'lobby11' // 大厅名称
                  validCredit: 10 //额度
                  status: 0 //大厅状态,0表示正常,1表示维护中
                  walletCredit: 10 // EBET钱包内额度
                }
              ]
            }
          ]
        }
      }
    • 失败内容:

      data: {
        data: null
        status: 4xx
      }
  • 15. 登入后获取提款信息 {#getWithdrawalInfo}

    getWithdrawalInfo(1);
    • 请求内容:

      1)Number: 1 // 账号类别 (选填)
    • 响应内容:

      data: {
        status: 200,
        data: {
          freeTimes: 1 // 免手续费提款剩余次数
          serviceCharge: 1 // 手续费
          currentFreeAmount: 1 // 免手续费提款额
          freeAmount: 10 // 可提款金额
          ximaWithdraw: 10 // 可提款洗码金额
          lockList: [
            { // 现有锁大厅
              name: 'lobby1' // 大厅名字
              lockAmount: 10 // 锁定额度
              currentLockAmount: 10 // 锁定额度余额
            }
          ]
        }
      }
    • 失败内容:

      data: {
        data: null
        status: 4xx
      }
  • 16. 编辑玩家电子邮件 {#updatePlayerEmail}

    updatePlayerEmail({currentEmail:'old@xxx.com', email:'new@xxx.com', smsCode:'1234'});
    • 请求内容:

      1) Object: { } sendData

      sendData 对象中可以输入的属性:

      • 变量参数
        currentEmail当前邮件 - String
        email新的邮件 - String
        smsCode验证码 - String (选填)
      • smsCode 需要根据 获取平台设置返回的 requireVerificationForEmailUpdate 是否开启

    • 响应内容:

      // 第一次绑定
      data: { status: 200 }
      
      // 编辑,有填email
      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,
        }
      }
    • 失败内容:

      data: {
        data: null
        status: 4xx
      }
  • 17. 重置玩家密码 {#forgetPassword}

    forgetPassword('1234', 'newPassword');
    • 请求内容:

      1)String: '1234' // OTP
      2)String: 'newPassword' // 新密码
    • 响应内容:

      data: {
        status: 200,
        data: {
          playerId: '1103366434',
          playerObjId: '663c62f18400c62f5117fea3',
          text: '密码修改成功'
        }
      }
    • 失败内容:

      data: {
        data: null
        status: 4xx
      }
  • 18. 获取玩家绑定银行卡列表 {#getLinkBankCardList}

    getLinkBankCardList('png');
    • 请求内容:

      1)String: '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"
              },
              {
                  _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"
              },
              {
                  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"
              }
          ]
        }
      }
    • 失败内容:

      data: {
        data: null
        status: 4xx
      }
  • 19. 修改生日日期 {#changeBirthday}

    changeBirthday('2000-08-06T01:02:08.957Z');
    • 请求内容:

      1)String: '2000-08-06T01:02:08.957Z' // 生日日期
    • 响应内容:

      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,
        }
      }
    • 失败内容:

      data: {
        data: null
        status: 4xx
      }
  • 20. 设置性别 {#updateGender}

    updateGender(true);
    • 请求内容:

      1)Boolean: true // true: 男, false: 女
    • 响应内容:

      data: {
        status: 200,
        data: true
      }
    • 失败内容:

      data: {
        data: null
        status: 4xx
      }
  • 21. 上传头像 {#uploadAvatar}

    uploadAvatar('base64');
    • 请求内容:

      1)String: 'base64' // base64照片格式
    • 响应内容:

      data: {
        status: 200,
        data: true
      }
    • 失败内容:

      data: {
        data: null
        status: 4xx
      }
  • 22. 更新额外信息 {#updateAdditionalInfo}

    updateAdditionalInfo({password:'1234', postcode:'1234'});
    • 请求内容:

      1. Object: { } sendData

      sendData 对象中可以输入的属性:

      变量参数
      address玩家地址 - String (选填)
      IDCardNumber身份证号码 - String (选填)
      postcode邮政编号 - String (选填)
      playerProvince省 - String (选填)
      playerCity市 - String (选填)
      nickName呢称 - String (选填)
      nationality国籍 - String (选填)
      sourceOfFunds资金来源 - String (选填)
      photoId1第一身份证 - String (选填)
      photoId1Type第一身份证类型 - String (选填)
      placeOfBirth出生地址 - String (选填)
      natureOfWork工作性质 - String (选填)
      password设置密码 (用于首次) - String (选填)
      isFirstPassword首次设置密码无需登出推送 - boolean (选填)
    • 响应内容:

      data: {
        status: 200,
        data: true
      }
    • 失败内容:

      data: {
        data: null
        status: 4xx
      }
  • 23. 设置真实姓名 {#setRealName}

    setRealName('Alvin');
    • 请求内容:

      1)String: 'Alvin' // 真实名称
    • 响应内容:

      data: {
        status: 200,
        data: true
      }
    • 失败内容:

      data: {
        data: null
        status: 4xx
      }
  • 24. GCash 单月限额 {#getGcashLimit}

    getGcashLimit();
    • 响应内容:

      data: {
        status: 200,
        data: {
          gcashLimit: 0,
          checkGcashLimit: 0
        }
      }
    • 失败内容:

      data: {
        data: null
        status: 4xx
      }
  • 25. 获取 KYC 状态 {#getKycStatus}

    getKycStatus()
    • 这里的功能可以根据状态来判断玩家是否可以进入存款,提款以及游戏,使用此接口必须要请求 platform.getConfig()之后,登入/注册或者推送信息 playerInfo 才可去请求此功能

      Status状态
      1已完成,可以无阻碍使用此账号
      2未完成,需要填写,不填写不让进游戏, 存款和提款
      3未完成,需要填写,不填写可以进游戏以及存款,但是提款必须填且必须审核通过
      4已提交,等待审核,不能进游戏, 存款和提款
      5已提交,等待审核,可以进游戏以及存款,但是提款不能使用,需等待审核
      6被拒绝,请重新提交,不能进游戏, 存款和提款
    • 响应内容:

      {
        status: 1, //状态
        isGameBlocked: false, //游戏是否被阻挡
        isWithdrawalBlocked: false, //提款是否被阻挡
        isDepositBlocked: false //存款是否被阻挡
      }
  • 26. 设置语言 {#setLang}

    setLang(2);
    • 请求内容:

      1) Number: 2 // 选填, 语言

      语言

    • 响应内容:

      data: {
        status: 200,
        data: {
          lang: 2,
          requestId: 'RQ14',
          deviceType: 2,
          deviceId: '',
          platformId: '50',
          version: '2.1.3'
        }
      }
    • 失败响应内容:

      data: {
        data: null
        status: 4xx
      }
  • 27. 请求回电域名配置 {#callBackToUser}

    callBackToUser({phoneNumber:'639xxxxxxxxx', randomNumber:'1234', captcha:'5678', lineId:'0'});
    • 请求内容:

      1) Object: { } sendData

      sendData 对象中可以输入的属性:

      • 变量参数
        phoneNumber电话号码 - String
        randomNumber图片验证码用的随机数字 - String
        captcha图片验证码 - String
        lineId线路号 - String
    • 响应内容:

      data: {
        status: 200,
        data: true
      }
    • 失败内容:

      data: {
        data: null
        status: 4xx
      }

存款模块 (Payment) {#Payment}

  • 1. 创建充值连接 {#createTopUp}

    createTopUp( {amount: 1000, channel: 'UBP', appType: 0, clientType: 2, returnUrl: 'https://www.google.com', transferToProvider: '1023'} );
    1) Object: { } sendData

    sendData 对象中可以输入的属性:

    变量参数
    amount金额 - Number
    channel渠道 - String
    returnUrl域名 - String
    appTypeAPP 包壳 - Number (选填)
    clientType客户端类型 - Number (选填)
    transferToProvider提供商 Id / 单钱包 Id - String (选填)
    imageExtension图像格式 - String(选填)
    • channel 参数根据getAvailableDepositType返回信息的 bankCode
    • 客户端类型

    • 响应内容: {#respondCreateTopUp}

      // 情况 1: 展示银行
      data: {
        status: 200,
        data: {
          type: 'proposalMerchant',
          result: {
              referenceNo: 'PPGSTGKB8I3N2JO',
              merchantFee: 0,
              openWindow: 'WEBVIEW',
              proposalId: '1003327767'
            }
          }
      }
      
      //情况 2:外跳链接
      data: {
        status: 200,
        data: {
          type: 'proposalMerchant',
          result: {
            reqUrl: 'https://sith.unionbankph.com/UPAY/WhiteLabel/04DB36A8-BC01-24EA-DAB3-7E72036580DD?s=MS3ukYCYZD35QTklMsiSAw%3D%3DQe8Pz9CRe%2By5mr4Jw72tgrVdEuoa73lTqrFJniKCReXmyVzzJ1Ms2Q4tf9KM9bZevwJYBgfbpY%2BTB5%2FCvXXdR08%2BkRcjUOJ2qnWpVoUTW2hJ8%2BSEF16toF1CBM9FnbycPQ1Evta7oKNYOt6NJehyrC63Osw1YJCKJXInysG3BHwVSVu84AE2TTzSgJ2euYcQfViqL%2FJMbwq0fgETnlH6bFPSkOg9L63iGsTiUynjL0wbOd7Zx2AUjOBKyKSfmttzq2Qdsinbi0fmtkldDMqgiMAyelSCN1D2QG54a%2BO7wHu9lcx11nHOFd%2BjVN2r%2FG119bHQptMrx93%2B3DHFwJRWUKx6o6T6wNH7msEUrocz3cy5Ut1NFuZh%2Fc45AaF9sTKo6gyLU3wZCcpGT1AY%2BV64zGpme5%2B8NMntbZKMQQQ0fw0Q%2FzDvntHiJvAKhnfLGi4JrQkZBKd8U3041XauoYoYKLna7VFDgyU3eUhoHiQka28BadoCudChJg1Nx9iQvgjQvNGJlg2rEsiSNbl3I6Ftzb7Q%2Bsl%2FmbPJwxnFELerZPd8Ock0mfCdDwVTezLhlka3wZSSQjlkAaR5234G62TWbw%3D%3D',
            merchantFee: 0,
            openWindow: 'NEW_TAB',
            proposalId: '1003194201'
          }
        }
      }
      
      // 情况 3: 展示 QR
      data: {
        status: 200,
        data: {
            type: "proposalMerchant",
            result: {
                qrCode: "00020101021228760011ph.ppmi.p2m0111OPDVPHM1XXX03157771480000000410416529481372466748705030015204601653036085406101.005802PH5911Stotsenberg6015City Of Mandalu62280010ph.allbank0510100333738188310012ph.ppmi.qrph0111OPDVPHM1XXX6304EA3C",
                merchantFee: 0,
                openWindow: "NEW_TAB",
                proposalId: "1003337381"
            }
        }
      }
      
      // 情况 4: 展示卡号
      data: {
        status: 200,
        data: {
            type: "proposalDeposit",
            result: {
                status: "PROCESSING",
                proposalId: "1003425758",
                paymentMethod: "网银转账",
                amount: 2002.03,
                bankCardNo: "0124578",
                bankCardHolder: "SC Tun Na",
                bankTypeId: "177",
                bankName: "BDO",
                bankCode: "BDO",
                validTime: "2024-06-26T03:48:17.673Z",
                bankCardImage: "https://cp-images.client88.me/images/cp/images/epay/bank_card.svg",
                bankIcon: "https://cp-images.client88.me/images/cp/images/epay/bank_bdo.svg"
            }
        }
      }
    • 失败响应内容:

      data: {
        name: 'Error',
        status: 400,
        message: 'Oops! Something went wrong, please contact customer service for assistance',
        errorMessage: 'Oops! Something went wrong, please contact customer service for assistance',
        displayMessage: "Oops, There's might be some problem. Please contact customer service.""
      }
  • 2. 获取存款充值方式 {#getAvailableDepositType}

    getAvailableDepositType(x, 'png');
    • 请求内容:

      1) String: 'x' // 客户端类型
      2) String: 'png' // 银行图片格式
    • 响应内容:

      data: {
        availablePaymentOptions: [
          {
            paymentMethod: 'GCASH',
            cardList: [
              {
                _id: '6376dd082f2f530012a15637',
                name: 'MOBILE-GCASH-GCASH-217020000164361525641-CP',
                minDeposit: 20,
                maxDeposit: 50000,
                proposalType: 'proposalMerchant',
                rate: 0.0147,
                paymentMethod: 'GCASH',
              },
            ],
            cate: 'ewallet',
            bankCode: 'GCASH',
            bankName: 'GCash',
            disabled: false,
            range: {
              minAmount: 20,
              maxAmount: 50000,
            },
            imagePath: 'https://cp-images.client88.me/images/cp/images/epay/method_gcash.png',
          },
          {
            paymentMethod: 'MAYA2',
            cardList: [
              {
                _id: '62b290c9c35fda001263f861',
                name: 'MOBILE-MAYA2-MAYAPAY-888001-CP',
                minDeposit: 20,
                maxDeposit: 50000,
                proposalType: 'proposalMerchant',
                rate: 0.015,
                paymentMethod: 'MAYA2',
              },
            ],
            cate: 'ewallet',
            bankCode: 'MAYA2',
            bankName: 'Maya',
            disabled: false,
            range: {
              minAmount: 20,
              maxAmount: 50000,
            },
            imagePath: 'https://cp-images.client88.me/images/cp/images/epay/method_maya2.png',
          },
          {
            paymentMethod: 'QRPH',
            cardList: [
              {
                _id: '650c08b03635230012107122',
                name: 'MOBILE-QRPH-MAYAPAY-888001-CP',
                minDeposit: 20,
                maxDeposit: 50000,
                proposalType: 'proposalMerchant',
                priorityOrder: 5,
                rate: 0.015,
                paymentMethod: 'QRPH',
              },
              {
                _id: '65c076463326490025cbd692',
                name: 'MOBILE-QRPH-PISOPAY-pisopay-CP',
                minDeposit: 20,
                maxDeposit: 50000,
                proposalType: 'proposalMerchant',
                priorityOrder: 1,
                rate: 0,
                paymentMethod: 'QRPH',
              },
              {
                _id: '65cb10dceaa6160024126d32',
                name: 'MOBILE-QRPH-ALLBANK-00824000054-CP',
                minDeposit: 20,
                maxDeposit: 50000,
                proposalType: 'proposalMerchant',
                priorityOrder: 1,
                rate: 0,
                paymentMethod: 'QRPH',
              },
            ],
            cate: 'ewallet',
            bankCode: 'QRPH',
            bankName: 'QRPH',
            disabled: false,
            range: {
              minAmount: 20,
              maxAmount: 50000,
            },
            imagePath: 'https://cp-images.client88.me/images/cp/images/epay/method_qrph.png',
          },
        ],
        availableRange: [
          {
            minAmount: 20,
            maxAmount: 9999999999999,
          },
        ],
        latestDeposit: [],
      }
    • 失败内容:

      data: {
        status: 420,
        errorMessage: 'Authentication Fails',
        data: null
      }
  • 3. 银行提款 {#applyBonus}

    applyBonus({amount: 10000, bankId: '1', chooseMethod:'2', clientType: 5});
    • 银行提款流程
    • 请求内容:

      1) Object: { } sendData

      sendData 对象中可以输入的属性:

      变量参数
      amount金额 - Number
      bankId银行卡的选择 - String
      chooseMethod选择方式 - String (选填)
      clientType客户端类型 - Number (选填)
      • 银行卡的选择可通过 getLinkBankCardList 返回信息里的 id 作为此参数
      • 如果 getLinkBankCardList 里的 bankTypeId 是180,chooseMethod 可以不用填写
      • 提款的客户端类型与其他接口的客户端类型使用方法不一样,如果是手机端或者 APP 的才需要填写 5,否则可不添加此参数
    • 响应内容:

      data: {
        status: 200,
        data: {
          _id: '663c75880cb24bba7d107793',
          mainType: 'PlayerBonus',
          type: {
            _id: '6287162c32f1ac001af321ff',
            expirationDuration: 0,
            platformId: '612d901dcd001d4becbaea2e',
            name: 'PlayerBonus',
            process: '6287162b32f1ac001af32076',
            executionType: 'executePlayerBonus',
            rejectionType: 'rejectPlayerBonus',
            __v: 0
          },
          creator: {
            type: 'player',
            name: '103347511',
            id: '103347511'
          },
          process: '663c75880cb24bba7d10778c',
          data: {
            creator: {
              type: 'player',
              name: '103347511',
              id: '103347511'
            },
            playerId: '103347511',
            playerObjId: '65293fe04ccd2c00b52dbfab',
            playerName: '103347511',
            loginDevice: '2',
            platformId: '612d901dcd001d4becbaea2e',
            platform: '50',
            bankTypeId: '183',
            amount: 1000,
            curAmount: 132587191,
            lastSettleTime: '2024-05-09T07:04:40.324Z',
            creditCharge: 0,
            oriCreditCharge: 0,
            ximaWithdrawUsed: 0,
            isAutoApproval: true,
            bankAccountWhenSubmit: '******',
            bankChoice: '1',
            decodedBankAccountWhenSubmit: '092771937',
            bankNameWhenSubmit: '183',
            bankAccountNameWhenSubmit: 'FSDF,DFS',
            paymentType: '1',
            paymentChoice: '',
            changeCredit: -1000,
            isInfoChanged: false,
            isLoginAbnormal: false,
            isWithdrawWithoutBet: false,
            dailyBonusRemainder: {
              RMB: 0,
              ipAddress: '121.121.17.77',
              ipAreaCity: '',
              ipAreaProvince: '',
              phoneCity: '广东',
              phoneProvince: '广州',
              bonusSystemType: 6,
              bonusSystemName: 'PMS2',
              chooseMethod: '2',
              remark: 'INSTAPAY',
              isStressTestPlayer: false,
              proposalPlayerLevelValue: 0,
              playerLevelName: 'LV1',
              proposalPlayerLevel: 'LV1',
              autoAuditTimestamp: '2024-05-09T07:04:40.438Z',
              realNameBeforeEdit: 'FSDF,DFS'
            },
            priority: '0',
            entryType: '0',
            userType: '0',
            noSteps: false,
            status: 'AutoAudit',
            processedTimes: 0,
            inputDevice: 3,
            device: '2',
            isSending: false,
            createTime: '2024-05-09T07:04:40.456Z',
            expirationTime: '9999-12-31T23:59:59.000Z',
            settleTime: '2024-05-09T07:04:40.456Z',
            proposalId: '1003304675',
            __v: 0
          }
        }
      }
    • 失败内容:

      data: {
        status: 488,
        name: 'DataError',
        message: 'Please complete user information',
        errorMessage: 'Please complete user information'
      }
  • 4. 获取兑奖列表 {#getBonusRequestList}

    payment.getBonusRequestList({startTime: '202x-xx-xxxx:xx:xx.xxxx', endTime: '202x-xx-xxxx:xx:xx.xxxx', accountType:1, requestCount:20, startIndex:0 });
    • 请求内容:

      1) Object: { } sendData

      sendData 对象中可以输入的属性:

      变量参数
      startTime消费开始时间 - String
      endTime消费结束时间 - String
      accountType账号类别 - Number (选填)
      requestCount记录数量 - Number (选填)
      startIndex记录开始 index - Number (选填)
    • 响应内容:

      data: {
        status: 200,
        data: {
          {
            stats: {
                totalCount: 1,
                startIndex: 0,
                requestCount: 20,
                totalAmount: 1000
            },
            records: [
              {
                _id: '663c75880cb24bba7d107793',
                mainType: 'PlayerBonus',
                type: '6287162c32f1ac001af321ff',
                creator: {
                  type: 'player',
                  name: '103347511',
                  id: '103347511'
                },
                process: '663c75880cb24bba7d10778c',
                data: {
                  creator: {
                    type: 'player',
                    name: '103347511',
                    id: '103347511'
                  },
                  playerId: '103347511',
                  playerObjId: '65293fe04ccd2c00b52dbfab',
                  playerName: '103347511',
                  loginDevice: '2',
                  platformId: '612d901dcd001d4becbaea2e',
                  platform: '50',
                  bankTypeId: '183',
                  amount: 1000,
                  curAmount: 132587191,
                  lastSettleTime: '2024-05-09T07:04:40.324Z',
                  creditCharge: 0,
                  oriCreditCharge: 0,
                  ximaWithdrawUsed: 0,
                  isAutoApproval: true,
                  bankAccountWhenSubmit: '******',
                  bankChoice: '1',
                  decodedBankAccountWhenSubmit: '092771937',
                  bankNameWhenSubmit: '183',
                  bankAccountNameWhenSubmit: 'FSDF,DFS',
                  paymentType: '1',
                  paymentChoice: '',
                  changeCredit: -1000,
                  isInfoChanged: false,
                  isLoginAbnormal: false,
                  isWithdrawWithoutBet: true,
                  dailyBonusRemainder: {
                    RMB: 0
                  },
                  ipAddress: '121.121.17.77',
                  ipAreaCity: '',
                  ipAreaProvince: '',
                  phoneCity: '广东',
                  phoneProvince: '广州',
                  bonusSystemType: 6,
                  bonusSystemName: 'PMS2',
                  chooseMethod: '2',
                  remark: 'INSTAPAY',
                  isStressTestPlayer: false,
                  proposalPlayerLevelValue: 0,
                  playerLevelName: 'LV1',
                  proposalPlayerLevel: 'LV1',
                  autoAuditTimestamp: '2024-05-09T07:04:40.438Z',
                  realNameBeforeEdit: 'FSDF,DFS',
                  autoAuditCheckMsg: '',
                  autoAuditRemark: ' Denied: FW: First Withdrawal Limit Reached; Denied: FW: First Withdrawal More Than Deposit ;',
                  autoAuditRemarkChinese: ' 失败:首提超额; 失败:首提高于存款;',
                  autoAuditTime: 1715238281012,
                  crLogs: [
                    {
                        _id: '659e740168f849009afc9a6b',
                        credibilityRemarkNames: ['注册IP重复'],
                        comment: '注册IP重复'
                    },
                    {
                        _id: '659e980f024cc400823b7fd9',
                        credibilityRemarkNames: ['注册IP重复'],
                        comment: '注册IP重复'
                    },
                  ],
                  detail: '',
                  detailChinese: '',
                  isEmulator: false,
                  lastRTGConsumptionAmount: 3977132420,
                  lastRTGRequiredConsumptionAmount: 3977132420,
                  playerTotalBets: 0,
                  totalRequiredRTGUnlockAmount: 3977138960
                },
                priority: '0',
                entryType: '0',
                userType: '0',
                noSteps: false,
                status: 'Pending',
                processedTimes: 0,
                inputDevice: 3,
                device: '2',
                isSending: false,
                createTime: '2024-05-09T07:04:40.456Z',
                expirationTime: '9999-12-31T23:59:59.000Z',
                settleTime: '2024-05-09T07:04:40.456Z',
                proposalId: '1003304675',
                __v: 0
              }
            ]
          }
        }
      }
    • 失败内容:

      data: {
        status: 420,
        data: null
      }
  • 5. 取消兑奖申请 {#cancelBonusRequest}

    payment.cancelBonusRequest('1003304675');
    • 请求内容:

      1) String: '1003304675' // 兑奖申请提案号
    • 响应内容:

      data: {
        status: 200,
        data: {
          proposalId: 1003304675
        }
      }
    • 失败内容:

      data: {
        status: 420,
        errorMessage: 'Authentication Fails',
        data: null
      }
  • 6. 获取充值记录 {#getTopupList}

    getTopupList({startTime: '202x-xx-xxxx:xx:xx.xxxx',endTime: '202x-xx-xxxx:xx:xx.xxxx', accountType:1, requestCount:20, startIndex:0 });
    • 请求内容:

      1) Object: { } sendData

      sendData 对象中可以输入的属性:

      变量参数
      startTime充值开始时间 - String
      endTime充值结束时间 - String
      accountType账号类别 - Number (选填)
      requestCount记录数量 - Number (选填)
      startIndex记录开始 index - Number (选填)
    • 响应内容:

      data: {
        status: 200,
        data: {
          stats: {
            totalCount: 2,
            totalAmount: 250,
            startIndex: 0,
            requestCount: 20,
          },
          records: [
            {
              _id: '663c2436d5b352206806fb9c',
              playerId: '103347511',
              platformId: '50',
              createTime: '2024-05-09T01:17:41.878Z',
              amount: 100,
              oriAmount: 100,
              topUpType: '200',
              bDirty: false,
              usedEvent: [],
              proposalId: '1003302152',
              loginDevice: null,
              firstTopUp: false,
              isStressTestPlayer: false,
              playerRegisterTime: '2023-10-13T13:02:24.216Z',
              settlementTime: '2024-05-09T01:17:42.049Z',
              __v: 0,
            },
            {
              _id: '663af9a0de3212376e7e4c7f',
              playerId: '103347511',
              platformId: '50',
              createTime: '2024-05-08T04:03:44.490Z',
              amount: 150,
              oriAmount: 150,
              topUpType: '200',
              bDirty: false,
              usedEvent: [],
              proposalId: '1003300434',
              loginDevice: null,
              firstTopUp: false,
              isStressTestPlayer: false,
              playerRegisterTime: '2023-10-13T13:02:24.216Z',
              settlementTime: '2024-05-08T04:03:44.606Z',
              __v: 0,
            },
          ],
        },
      }
    • 失败内容:

      data: {
        status: 420,
        data: null
      }
  • 7. 获取银行卡类型列表 {#getBankList}

    getBankList('png');
    • 请求内容:

      1) String: 'png' //银行图片格式 (选填) 目前只支援 svg 以及 png
    • 响应内容:

      data: {
        status: 200,
        data: [
          {
            id: '0004',
            bankTypeId: '0004',
            alias: 'MY',
            name: 'Maya',
            bankflag: 1,
            imagePath: 'https://cp-images.client88.me/images/cp/images/bank/bank_bg_0004.png',
          },
          {
            id: '208',
            bankTypeId: '208',
            alias: 'AllBank',
            name: 'AllBank (A Thrift Bank)',
            bankflag: 1,
            imagePath: 'https://cp-images.client88.me/images/cp/images/bank/bank_bg_208.png',
          }, // .... 以及其他
        ],
      }
    • 失败内容:

      data: {
        status: 420,
        data: null
      }
  • 8. 获取 MAYA 登陆链接 {#getMayaTopUpUrl}

    getMayaTopUpUrl(1000000);
    • 请求内容:

      1) Number: 100000 // 提款金额
    • 响应内容:

      data: {
        status: 200,
        data: {
          redirectUrl: 'https:xxxxxxx'
        }
      }
    • 失败内容:

      data: {
        status: 488,
        name: 'DataError',
        message: 'Please complete user information',
        errorMessage: 'Please complete user information'
      }
  • 9. MAYA 提款 {#applyMayaBonus}

    applyMayaBonus(
      {
        authCode: 'ZkPFd1',
        redirectUrl:'https://connect-sb-issuing.paymaya.com/authorize?response_type=code&redirect_uri=https%3A%2F%2Fcasinoplus-test-ph.bewen.me%2Fcallback&user_id=9xxxxxxx&prompt=login&client_id=stotsenbergcasino',
        userId: '+639*****0266',
        clientType: 5
      }
    );
    • MAYA 提款流程
    • 请求内容:

      1) Object: { } sendData
    • sendData 对象中可以输入的属性:

      变量参数
      authCode授权访问代码 - String
      redirectUrl跳转网址 - String
      userId用户 Id - String
      clientType客户端类型 - Number (选填)
      • authCode 以及 userId 是根据 Maya 的外跳链接完成登入,并从 Maya 跳转回到主站链接获取
      • redirecturl 是 getMayaTopUpUrl 返回信息的外跳链接
      • 提款的客户端类型与其他接口的客户端类型使用方法不一样,如果是手机端或者 APP 的才需要填写 5,否则可不添加此参数
    • 响应内容:

      data: {
        status: 200,
        data: 可参考applyBonus返回信息
      }
    • 失败内容:

      data: {
        status: 488,
        name: 'DataError',
        message: 'Please complete user information',
        errorMessage: 'Please complete user information'
      }
  • 10. Gcash 提款 {#applyGcashBonus}

    payment.applyGcashBonus(2000,5);
    • 请求内容:

      1) Number: 2000 // 提款金额
      2) Number: 5 // 客户端类型
      • 提款的客户端类型与其他接口的客户端类型使用方法不一样,如果是手机端或者 APP 的才需要填写 5,否则可不添加此参数

      • Gcash 提款流程

    • 响应内容:

      data: {
        status: 200,
        data: 可参考applyBonus返回信息
      }
    • 失败内容:

      data: {
        status: 488,
        name: 'DataError',
        message: 'Please complete user information',
        errorMessage: 'Please complete user information'
      }
  • 11. 获取 OTC 银行付款流程 {#getOTCPaymentStep}

    getOTCPaymentStep('bace','svg');
    • 请求内容:

      1) String: 'bace' // OTC 银行 bankCode
      2) String: 'svg' // 图片格式 (选填) 目前只支援 svg 以及 png

      获取 OTC 银行 bankCode,可根据获取存款充值方式返回信息获取

    • 响应内容:

      data: {
        name: 'default',
        steps: [
          {
            step: 1,
            content: 'Use 15 Digit Pisopay Reference No.',
            type: 1,
            imagePath: 'https://cp-images.client88.me/images/cp/images/otc/step-1.png',
          },
          {
            step: 2,
            content: 'Visit the Nearest Bayad Center Branches to process your payment.',
            type: 2,
            imagePath: 'https://cp-images.client88.me/images/cp/images/otc/step-2-bace.png',
          },
          {
            step: 3,
            content: 'Ask for PISOPAY Bills Payments Transaction.',
            type: 1,
            imagePath: 'https://cp-images.client88.me/images/cp/images/otc/step-3.png',
          },
          {
            step: 4,
            content: 'Completely fill-up the form with the 15 Digit Pisopay Reference No. along with your Name and other details.',
            type: 1,
            imagePath: 'https://cp-images.client88.me/images/cp/images/otc/step-4.png',
          },
          {
            step: 5,
            content: 'Pay the corresponding amount at the Counter. Be sure to wait for your receipt.',
            type: 1,
            imagePath: 'https://cp-images.client88.me/images/cp/images/otc/step-5.png',
          },
          {
            step: 6,
            content: 'Transaction Complete. Your payment will be posted in 5 - 10 Minutes.',
            type: 1,
            imagePath: 'https://cp-images.client88.me/images/cp/images/otc/step-6.png',
          },
        ],
      }
    • 失败内容:

      data: {
        status: 420,
        data: null
      }

游戏 {#game}

  • 1. 本地额度转出到平台账号的游戏额度 {#transferToProvider}

    transferToProvider({providerId:'150', isTransferOut:false, accountType:1});
    • 请求内容:

      1) Object: { } sendData

      sendData 对象中可以输入的属性:

      变量参数
      providerId提供商 Id - String
      isTransferOut默认 true, 如果为 false, 则不触发从上个提供商转出 (选填)
      accountType账号类别 - Number (选填) 默认为 1
    • 响应内容:

      data: {
        status: 200,
        data: {
          isSingleWallet: false,
          playerId: '103347511',
          providerId: '154',
          providerCredit: '132587191.00',
          playerCredit: '0.00',
          rewardCredit: '0.00',
          transferCredit: {
            playerCredit: '0.00',
            rewardCredit: '0.00',
          },
        },
      }
    • 失败内容:

      data: {
        errorMessage: 'Operation failed',
        status: 422,
        data: {
          username: '103347515',
          platformId: '50',
          providerId: '150',
          status: 422,
          errorMsg: 'Provider on maintenance',
          errorMessage: 'Provider on maintenance',
          requestId: '103347515_150_1716277711577',
          hasLog: true,
          isFromCPMS: true
        }
      }
  • 2. 游戏额度从平台账号转入到本地额度 {#transferFromProvider}

    transferFromProvider({providerId:'150', accountType:1});
    • 请求内容:

      1) Object: { } sendData

      sendData 对象中可以输入的属性:

      变量参数
      providerId提供商 Id - String
      accountType账号类别 - Number (选填) 默认为 1
    • 响应内容:

      data: {
        status: 200,
        data: [
          {
            isSingleWallet: false,
            playerId: '103347511',
            providerId: '154',
            providerCredit: '0.00',
            playerCredit: '132587191.00',
            rewardCredit: '0.00',
            transferCredit: {
              playerCredit: '0.00',
              rewardCredit: '0.00',
            },
          },
        ],
      }
    • 失败内容:

      data: {
        errorMessage: 'Operation failed',
        status: 400,
        data: {
          name: 'DBError',
          message: 'Request Timeout',
          isFromCPMS: true
        }
      }
  • 3. 获取登录游戏的 URL {#getLoginUrl}

    getLoginUrl({gameId:'xxxxxx-xxxx-xxxx-xxxx-xxxxxxxx', clientDomainName: 'https://xxxxxxxxxxx' , clientType: 2, accountType: 1 });
    • 请求内容:

      1) Object: { } sendData

      sendData 对象中可以输入的属性:

      变量参数
      gameId游戏 ID - String
      clientDomainName网站域名 - String
      clientType客户端类型 - Number (选填)
      accountType账号类别 - Number (选填)
    • 响应内容:

      data: {
        status: 200,
        data: {
          gameURL: 'https://035c9e.huha555
1.0.0-cocos

1 year ago

1.0.0

1 year ago