概述

本文档主要叙述CT游戏中心服务器与游戏接入商服务器之间的数据通讯协议及规范,双方的软件在此基础上达到数据高性能、高安全性进行交换与共享的目的。

CT游戏中心提供两套接口方式,一是SOAP协议方式(简单对象访问协议接收和返回XML),二是REST风格方式(接收和返回JSON)。

随本文档一起还有系统时区:GMT+7

系统维护时间:每周三(12:00-13:00)(GMT+7)

数据结构

SOAP:http://< host >/ctapi/soap

WSDL:http://< host >/ctapi/soap?wsdl

http://< host >/ctapi/soap

http://< host >/ctapi/soap

安全验证

代理账号密码验证

SOAP:请求任何接口,报文中都要含Header标签。

REST: 请求任何接口中都包含account和password。

/ctapi/rest/{account}/{password}

注:password需MD5

IP过滤

由接入商提供系列IP,IP跟agent进行绑定。

响应规范

SOAP:

正常响应

错误响应

错误码

通常情况下,0 表示没有错误。

下表为一般错误表:

错误码 文本数据 描述
0 Success 成功
1 System Maintenance 系统维护
2 Error IP IP错误
3 API account password error 代理账号密码错误
4 Parameter error 参数错误
5 System is busy 系统繁忙
6 Unauthorized 未授权
10 Account does not exist 账号不存在
11 Query data is too large 超过最大数据查询量
12 Request interval is too short 请求间隔时间太短
101 Currency error 币种错误
102 Level ID error 等级ID错误
103 Account already exists 账号已存在
104 Status Error 账号状态错误
201 Duplicated serial 流水号重复
202 Serial not exist 流水号不存在
203 Insufficient balance 余额不足

接口列表及数据约定

在通讯过程中,为保证数据的正确性和提高程序性能,通讯过程中数据类型按下表规范:

数据类型 描述 示例
String Unicode字符串 如:hello,abc123
Byte 可转为标准数字 如:-123,9
范围:-128~127
Integer 可转为标准数字 如:-123,9
范围:-2147483648~2147483647
Long 可转为标准数字 如:-123,4,5099
范围:-9223372036854774808~9223372036854774807
Double 可转为标准浮
点 以####0.00
如:-1.23,4.00,5.09
范围:4.9000000e-324~1.797693e+308
Boolean bool值 True,False
Date 以yyyy-MM-dd HH:mm:ss
形式的字符串
如:2015-05-31 19:25:34

会员注册

操作描述

获会员第一次玩游戏前需要注册账号。

参数及组合格式

示例:SOAP:http://< host >/ctapi/soap

例:REST: (POST):http://< host >/ctapi /rest/{account}/{password}/getMemberInfo

["?","?",……]

参数说明

返回值 类型 描述
userName String 会员账号
passWord String 会员密码 不用MD5
nickName String 会员昵称
currencyName String 币种名(见货币列表)
limitLevelId Integer 会员等级,不同等级对应不同限红。默认为0

返回数据描述

例: {"code": 0, "text": "Success"}

错误返回:错误码

会员登录

操作描述

更新会员账号。

参数及组合格式

例:SOAP:http://< host >/ctapi/soap

例:REST: (POST):http:///ctapi /rest/{account}/{password}/updateMember

{"userName":"?","passWord":"?","nickName":"?"," limitLevelId":?," status":"?"}

注:userName必须参数,其他为修改参数。

返回数据描述

 

例: {"code": 0, "text": "Success"}

错误返回:错误码

注销在线会员

操作描述

将正在游戏中的会员强制踢出系统。

参数及组合格式

例:SOAP:http:///ctapi/soap

例:REST: (POST):http://< host >/ctapi /rest/{account}/{password}/logout

["?","?",……]

注:注销一个或多个在线会员,如果不传则注销所有会员。

返回数据描述

例: {"code": 0, "text": "Success","obj": ["?","?",……]}

注:返回被注销的会员账号。

错误返回:错误码

在线会员列表

操作描述

获取所有在线用户

参数及组合格式

例:SOAP:http://< host >/ctapi/soap

例:REST: (GET) http://< host >/ctapi/rest/{account}/{password}/getOnlineMember

返回数据描述

例: {"code": 0, "text": "Success","obj": ["?","?",……]}

注:返回所有在线会员。

错误返回:错误码

会员余额

操作描述

获得当前会员账户余额。

参数及组合格式

例:SOAP:http://< host >/ctapi/soap

例:REST: (GET) http://< host >/ctapi/rest/{account}/{password}/getBalance/{username}

返回数据描述

例: {"code":0,"text":"Success","obj":"?"}

获取会员信息

操作描述

获取会员在供应商的相关信息。

参数及组合格式

例:SOAP:http://< host >/ctapi/soap

例:REST: (POST):http://< host >/ctapi /rest/{account}/{password}/getMemberInfo

["?","?",……]

返回数据描述

例 :{"code":0,"text":"Success","obj":[ {"userName":"?","passWord":"?","limitLevelId":?,"currencyName":"?","nickName":"?","balance":?,"status":"?"}, ……]}

错误返回:错误码

返回值说明

返回值 类型 描述
userName String 会员账号
limitLevelId Integer 会员等级,不同等级对应不同限红。默认为0
currencyName String 币种名(见货币列表)
nickName String 会员昵称
balance Double 余额
status String "Normal"表示正常,此时会员可登录游戏大厅并可下注;
"Supend"表示暂停,此时会员可登录游戏大厅但不可下注;
"Closed"表示停用,此时会员不可登录游戏大厅。

修改会员信息

操作描述

更新会员账号。

参数及组合格式

例:SOAP:http://< host >/ctapi/soap

例:REST: (POST):http://< host >/ctapi /rest/{account}/{password}/updateMember

{"userName":"?","passWord":"?","nickName":"?"," limitLevelId":?," status":"?"}

注:userName必须参数,其他为修改参数。

返回数据描述

例: {"code": 0, "text": "Success"}

错误返回:错误码

会员转账

操作描述

接入商需要转账到供应商才能进行游戏。

参数及组合格式

例:SOAP:http://< host >/ctapi/soap

例:REST: (POST):http://< host >/ctapi /rest/{account}/{password}/transfer

{"userName":"?","serial":"?","amount":?,"type":?,"token":"?"}

参数说明

参数 类型 描述
userName String 会员账号
amount Double 转账金额 a)精度小数点两位,格式:######.00;
serial String 会员转账流水号(唯一),由接入商产生。
type Integer 2:从供应商取回接入商 3:从接入商转入供应商
token String Md5加密生成的验证码,产生规则:Md5({password} + userName + serial)

返回数据描述

例: {"code": 0, "text": "Success","obj": {"userName": "?","serial": "?","amount": ?, "type": ? }}

错误返回:错误码

会员转账确认

操作描述

主要用来确认转账是否成功。会员转账后转账接口没有及时返回或者其他网络原因,需要请求此接口来确认转账是否成功。

参数及组合格式

例:SOAP:http://< host >/ctapi/soap

例:REST: (GET) http://< host >/ctapi/rest/{account}/{password}/checkTransfer/{username}/{serial}

返回数据描述

例:{"code": 0,"text": "Success","obj": "接入商流水号"}

错误返回:错误码

获取结算/撤销注单

操作描述

此功能用来获取结算和撤销注单,所有注单按时间排序,最大100笔。抓取注单间隔不能小于30秒,否则系统不予处理。同时,由于供应商存在改注单及撤销情况,接入商需要对注单ID进行比对,及时对已存在注单进行更新。

注:重点对撤销及改注单情况进行说明:

如果接入商接收相同的注单betId且该注单在之前已经标记成功,那么需要单独进行处理。

a、status=2表示此局已经撤销,结果无效,如果接入商开始已经接收该笔注单,需要对该笔数据重新计算。

b、status=1那么表示该注单已经重新计算过。接入商需要对该笔数据进行纠正。

提醒:当调用完此接口,处理完相关业务后,务必及时调用2.2.11号接口对已成功取得的注单进行标记,否则下次调用该接口时,仍会返回之前的结果。

参数及组合格式

例:REST: (GET) http://< host >/ctapi/rest/{account}/{password}/getBetSheet

返回数据描述

错误返回:错误码

返回值说明

参数 类型 描述
betId Long 注单ID
tableId Long 桌ID (附件)
shoeId Long 靴号ID(牌类游戏中,每洗一次牌 就是一靴)
playId Long 局号
gameId Double 游戏ID(附件)
userName String 账号名
betTime String 下注时间(yyyy-MM-dd HH:mm:ss)
calTime String 计算时间(yyyy-MM-dd HH:mm:ss)
winorloss Double 赢金额 净输赢 = winorloss– BetPoints
betPoints Double 下注金额
availableBet Double 有效下注金额(用来计算水钱)
result String 本局结果(附件)
betDetail JSON 下注详情(附件)
status Integer 注单状态 0:未计算 1:以计算 2:撤销
ip String 客户下注时所作IP

标记结算/撤销注单

操作描述

此功能用来标记接入商已收到的注单。接入商在收到注单,并成功处理后,请务必调用该接口对注单进行标记,避免相同注单。最大处理100条。

参数及组合格式

例:SOAP:http://< host >/ctapi/soap

例:REST: (POST) http://< host >/ctapi/rest/{account}/{password}/markBetSheet

["?","?",……]

返回数据描述

例:{"code": 0,"text": "Success","obj":标记数量}

错误返回:错误码

操作步骤:

a)调用2.2.10接口

b)客户端业务处理

c)提取出所有betId

d)调用2.2.11接口,提交这些betId

附录

桌号类型对应表

游戏ID 中文名 英文名 桌号ID
1 百家乐 Baccarat 10101-10103,20101-20102
2 保险百家乐 Insurance Baccarat 20201-20202
3 龙虎 Dragontiger 10301
4 轮盘 Roulette 10401,20401
5 骰宝 SicBo 10501
6 番摊/骰宝翻摊 FanTan 20601
7 色碟 Sedie 20701

货币列表

币种 名称 特别说明
USD 美元  
SGD 新加坡元  
MYR 马来西亚币  
THB 泰珠  
CNY 人民币  
VND 越南盾  
IDR 印尼(盾)  
KWR 韩元  

语言列表

语言 中文
en 英语
cn 简体中文
tw 繁体中文
vn 越南语
ta 泰语

注单结果说明

牌信息:

1-13 黑桃 A-K

14-26 红桃 A-K

27-39 梅花 A-K

40-52 方块 A-K

百家乐,保险百家乐

{"result":"1002","poker":[22,21,2,31,42,29]}

result: (1庄 2闲 3和;1有庄对,0无庄对;1有闲对,0无闲对;1小,2大;)

poker:闲第一张,庄第一张,闲第二张,庄第二张,闲第三张,庄第三张

龙虎

{"result":"2","poker":[14,37]}

result:1龙 2虎 3和

poker:龙,虎

轮盘

{"result":"23"}

result:结果点数

骰宝

{"result":"126"}

result:骰子点数

番摊

{"result":"126"}

result:骰子点数

色碟

{"result":"0"}

result:0 零红 1一红 2二红 3三红 4四红

下注详情及输赢说明

注意:所有以W结尾的参数,都是对应参数的赢取金额。

百家乐

参数 类型 描述
banker Integer 庄金额
player Integer 闲金额
tie Integer 和金额
pPair Integer 庄对金额
bPair Integer 闲对金额
big Integer 大金额
small Integer 小金额

龙虎

参数 类型 描述
dragon Integer 龙金额
tiger Integer 虎金额
tie Integer 和金额

轮盘

参数 类型 描述
direct Map<String, Integer > 直注<号码,金额>
separate Map<String, Integer > 分注<号码,金额>
street Map<String, Integer > 街注<号码,金额>
angle Map<String, Integer > 角注<号码,金额>
line Map<String, Integer > 线注<号码,金额>
three Map<String, Integer > 三数注<号码,金额>
four Integer 四个号码
fristRow Integer 行注一
sndRow Integer 行注二
thrRow Integer 行注三
fristCol Integer 打注一
sndCol Integer 打注二
thrCol Integer 打注三
red Integer 红色
black Integer 黑色
odd Integer
even Integer
low Integer
high Integer

骰宝

参数 类型 描述
big Integer 大金额
small Integer 小金额
odd Integer 单金额
even Integer 双金额
allDices Integer 全围金额
threeForces Map<String, Integer > 三军<号码,金额>
nineWayGards Map<String, Integer > 段牌<号码,金额>
pairs Map<String, Integer > 长牌<号码,金额>
surroundDices Map<String, Integer > 围骰<号码,金额>
points Map<String, Integer > 点数<号码,金额>

翻摊

参数 类型 描述
fan Map<String, Integer > 番<号码,金额>
jiao Map<String, Integer > 角<号码,金额>
sanmen Map<String, Integer > 三门<号码,金额>
nian Map<String, Integer > 念<号码,金额>
tong Map<String, Integer > 通<号码,金额>

色碟

参数 类型 描述
even Integer 双金额
odd Integer 单金额
zeroRed Integer 4白
oneRed Integer 1红3白
threeRed Integer 3红1白
fourRed Integer 4红

保险下注

参数 类型 描述
pBX Integer 闲保险金额
bBX Integer 庄保险金额
pMulti Integer 闲保险倍数
bMulti Integer 庄保险倍数