309 lines
17 KiB
Protocol Buffer
309 lines
17 KiB
Protocol Buffer
|
syntax = "proto3";
|
|||
|
|
|||
|
package api.eonline.v1;
|
|||
|
|
|||
|
import "validate/validate.proto";
|
|||
|
|
|||
|
option go_package = "sandc/api/eonline/v1;v1";
|
|||
|
|
|||
|
// PayInitReq init request
|
|||
|
message PayInitReq {
|
|||
|
string platform = 1 [(validate.rules).string.min_len = 1];
|
|||
|
string deviceid = 2 [(validate.rules).string.min_len = 1];
|
|||
|
string version = 3 [(validate.rules).string.min_len = 1]; // 版本号为三段式,目前起始版本号为2.0.0,后面2段每段最大长度为2位,即后面2段最大为99.99
|
|||
|
string ip = 4; // 测试时用,可以不传
|
|||
|
string ts = 5 [(validate.rules).string.min_len = 1]; // utc时间秒,客户端发送消息时的本地时间;在测试模式下,服务器会把ts当成登录时间计算,可用于改变登录日期
|
|||
|
string sign = 6 [(validate.rules).string.min_len = 1];
|
|||
|
}
|
|||
|
|
|||
|
// PayInitReply init reply
|
|||
|
message PayInitReply {
|
|||
|
string uuid = 1; // 用户唯一字符串
|
|||
|
message Item {
|
|||
|
uint32 id = 1; // 产品id
|
|||
|
double amount = 2; // 产品价格
|
|||
|
uint32 status = 3; // 状态:1可提现 2:条件未达成 3:当天该产品id已提现成功, 4:禁止提现, 5:提现中
|
|||
|
}
|
|||
|
uint32 days = 2; // 新增,登录天数,从1开始
|
|||
|
repeated Item items = 3; // 提现情况
|
|||
|
int32 CanCheckSubmit = 4; // 0提交审核的人数已满,不能提交了,1可以提交身份审核
|
|||
|
int32 CheckSubmit = 5; // 提交身份文件验证情况,0没有提交,1提交过
|
|||
|
int32 CheckResult = 6; // 身份文件审核有反馈的情况,0没有记录,1审核没通过,2审核通过
|
|||
|
int32 CheckPayout = 7; // 提交身份文件奖励5美元领取的情况,0没有提现记录,1提现中,2提现成功,3提现失败
|
|||
|
int32 CheckCoin = 8; // 身份文件审核过的提现奖励,美分
|
|||
|
int32 CanCheckPayOut = 9; // 身份文件审核过的提现奖励5美元 能否 提现,0能提现,1条件不满足,不能提现,2当天已经提现过,不能再次提现
|
|||
|
string CheckResultFailedDesc = 10; // CheckResult==1时,显示的审核没通过的原因描述信息
|
|||
|
int32 error = 11; // 错误码,0成功,1失败,2签名验证失败,3客户端版本过低,4 ts长度错误
|
|||
|
string clientData = 12; // 客户端上传、需要保存的数据
|
|||
|
}
|
|||
|
|
|||
|
message PbReportDataAdjust {
|
|||
|
string gps_adid = 1; // 用户的gaid
|
|||
|
string android_id = 2; // 原始安卓 ID
|
|||
|
string adid = 3; // 与设备关联的 Adjust 标识符
|
|||
|
string user_agent = 4; // 设备的User-Agent。必须进行 URL 编码。
|
|||
|
string price = 5; // 客户端上报的价格 客户端上报的价格,例如0.05
|
|||
|
string currency = 6; // 货币单位 客户端上报的货币,例如USD
|
|||
|
}
|
|||
|
|
|||
|
message PbReportDataShuShu {
|
|||
|
string gps_gaid = 1; // 用户的gaid
|
|||
|
string android_id = 2; // 原始安卓 ID
|
|||
|
string adid = 3; // 与设备关联的 Adjust 标识符
|
|||
|
string user_agent = 4; // 设备的User-Agent。必须进行 URL 编码
|
|||
|
string price = 5; // 客户端上报的价格 客户端上报的价格,例如0.05
|
|||
|
string currency = 6; // 货币单位 客户端上报的货币,例如USD
|
|||
|
string payment_method = 7; // 收款方式 暂时只有一种:pix
|
|||
|
string payment_type = 8; // 账户形式 cpf/cnpj/evp/email/phone
|
|||
|
string payment_number = 9; // 账户号码 收款账号号码
|
|||
|
string iap_name = 10; // 商品名称 游戏侧自定义的提现项目名称,例如:0.1br/50br/100br
|
|||
|
string gamecoin_number = 11; // 提现消耗的虚拟货币数 提现消耗的虚拟货币数量,例如:1500
|
|||
|
string gamecoin_type = 12; // 提现消耗的虚拟货币类型 金币或钞票,例如:coin/money
|
|||
|
string ss_account_id = 13; // 数数账号ID 用户的登录ID(如果需要接入数数请务必传此值)
|
|||
|
string ss_distinct_id = 14; // 数数访客ID 用户在未登录状态下的ID(如果需要接入数数请务必传此值)
|
|||
|
string ss_super_properties = 15; // 数数的公共属性和预制属性 json字符串
|
|||
|
}
|
|||
|
|
|||
|
// PayoutReq 赔付请求
|
|||
|
message PayoutReq {
|
|||
|
string platform = 1 [(validate.rules).string.min_len = 1];
|
|||
|
string deviceid = 2 [(validate.rules).string.min_len = 1];
|
|||
|
string version = 3 [(validate.rules).string.min_len = 1];
|
|||
|
string ts = 4 [(validate.rules).string.min_len = 1]; // utc时间秒
|
|||
|
string sign = 5 [(validate.rules).string.min_len = 1];
|
|||
|
string account = 6 [(validate.rules).string.min_len = 1]; // PIX: Beneficiary's PIX account paypal账号
|
|||
|
uint32 item_id = 7 [(validate.rules).uint32 = { lte: 3, gte: 1 }]; // 1提现0.1,2提现金币大额1,3提现绿钞大额1,4是身份审核通过的奖励提现
|
|||
|
double amount = 8 [(validate.rules).double = { lte: 50, gte: 0.1 }];
|
|||
|
string additional_remark = 9 [(validate.rules).string.min_len = 1];
|
|||
|
string uuid = 10 [(validate.rules).string.min_len = 1];
|
|||
|
string ip = 11;
|
|||
|
string account_type = 12 [(validate.rules).string = { min_len: 0, max_len: 5 }]; // 非巴西PIX支付不填,PIX: Beneficiary's PIX account type- One of: CPF, CNPJ, EVP, PHONE, EMAIL
|
|||
|
string document_type = 13 [(validate.rules).string = { min_len: 0, max_len: 4 }]; // 非巴西PIX支付不填,PIX: Beneficiary's personal identification type - One of: CPF, CNPJ
|
|||
|
string document_id = 14 [(validate.rules).string = { min_len: 0, max_len: 100 }]; // 非巴西PIX支付不填,PIX: Beneficiary's personal identification number
|
|||
|
string name = 15 [(validate.rules).string = { min_len: 0, max_len: 100 }]; // 非巴西PIX支付不填,PIX: Beneficiary's name- Length between 5 and 100
|
|||
|
PbReportDataAdjust dataAdjust = 16; // 客户端上报 adjust 数据
|
|||
|
PbReportDataShuShu dataShuShu = 17; // 客户端上报 数数 数据
|
|||
|
string clientData = 18; // 客户端上传、需要保存的数据
|
|||
|
string clientName = 19; // 客户端包名
|
|||
|
string email = 20 [(validate.rules).string.min_len = 1]; // 邮箱
|
|||
|
}
|
|||
|
|
|||
|
// PayoutReply 赔付响应
|
|||
|
message PayoutReply {
|
|||
|
string id = 1;
|
|||
|
string record_no = 2;
|
|||
|
int32 error = 3; // 错误码,0成功,1失败,2签名验证失败,3客户端版本过低,4uuid错误,5所在地国家或地区不在提现限制内,6提现金额不符对应的产品id,7提现产品id不对,8达到提现金额限制,9提现次数超过限制,10今日没有提现机会,11提现账号达到次数限制,12身份审核条件不满足,不能提现,13巴西提现参数 document_type 错误,
|
|||
|
// 14巴西提现参数 document_id 错误,15 巴西提现参数 AccountType 错误,16 巴西提现参数 Name 错误,17巴西提现参数 Account 和 DocumentId 不同,18巴西提现参数account_type为CPF时 对应的 account 错误,19巴西提现参数account_type为CNPJ时 对应的 account 错误,20巴西提现参数 account_type 错误,
|
|||
|
// 21巴西提现参数 document_type 错误,22巴西提现参数account_type为CPF时 对应的 document_id 错误,23巴西提现参数account_type为CNPJ时 对应的 document_id 错误,24 ts长度错误,25 没提0.1就提现其它的 26解析数数出错 27自然量用户
|
|||
|
}
|
|||
|
|
|||
|
// PayoutCallbackReq 赔付回调请求
|
|||
|
message PayoutCallbackReq {
|
|||
|
string payout_id = 1;
|
|||
|
string custom_code = 2;
|
|||
|
string status = 3;
|
|||
|
string msg = 4;
|
|||
|
int64 timestamp = 5;
|
|||
|
}
|
|||
|
|
|||
|
// PayoutCallbackReply 赔付回调响应
|
|||
|
message PayoutCallbackReply {
|
|||
|
string message = 1;
|
|||
|
}
|
|||
|
|
|||
|
// PayoutCheckReq 赔付查询请求
|
|||
|
message PayoutCheckReq {
|
|||
|
string platform = 1 [(validate.rules).string.min_len = 1];
|
|||
|
string deviceid = 2 [(validate.rules).string.min_len = 1];
|
|||
|
string version = 3 [(validate.rules).string.min_len = 1];
|
|||
|
string ts = 4 [(validate.rules).string.min_len = 1]; // utc时间秒
|
|||
|
string sign = 5 [(validate.rules).string.min_len = 1];
|
|||
|
string ip = 6;
|
|||
|
string record_no = 7 [(validate.rules).string.min_len = 1];
|
|||
|
}
|
|||
|
|
|||
|
// PayoutCheckReply 赔付查询响应
|
|||
|
message PayoutCheckReply {
|
|||
|
uint32 status = 1; // 提现状态 1:提现中,2:提现成功,3:提现失败
|
|||
|
int32 error = 2; // 错误码,0成功,1失败,2签名验证失败,3客户端版本过低,4 ts长度错误
|
|||
|
}
|
|||
|
|
|||
|
// GetPayoutUserLst 查询提现邮箱请求
|
|||
|
message PayoutUserLstReq {
|
|||
|
string platform = 1 [(validate.rules).string.min_len = 1];
|
|||
|
string deviceid = 2 [(validate.rules).string.min_len = 1];
|
|||
|
string version = 3 [(validate.rules).string.min_len = 1];
|
|||
|
string ts = 4 [(validate.rules).string.min_len = 1]; // utc时间秒
|
|||
|
string sign = 5 [(validate.rules).string.min_len = 1]; // 签名
|
|||
|
uint32 status = 6 [(validate.rules).uint32 = { lte: 3, gte: 1 }]; // 查询提现请求的状态, 提现状态 1:提现中,2:提现成功,3:提现失败
|
|||
|
uint32 pageIndex = 7; // 查询页第几页,从1开始
|
|||
|
uint32 pageSize = 8; // 每页多少条记录
|
|||
|
}
|
|||
|
// GetPayoutUserLst 获取申请提现玩家的列表请求响应
|
|||
|
message PayoutUserLstReply {
|
|||
|
repeated PayoutUserOne lst = 1; // 只返回 提现中的
|
|||
|
int32 error = 2; // 错误码,0成功,1失败,2签名验证失败,3访问数据库出错,4 ts长度错误
|
|||
|
}
|
|||
|
message PayoutUserOne {
|
|||
|
string email = 1; // 邮件地址
|
|||
|
string recordNo = 2; // 提现唯一编码
|
|||
|
string account = 3; // paypal账号
|
|||
|
uint32 status = 4; // 提现状态 1:提现中,2:提现成功,3:提现失败
|
|||
|
}
|
|||
|
|
|||
|
// SetPayoutStatus 设置指定玩家的提现状态
|
|||
|
message PayoutStatusReq {
|
|||
|
string platform = 1 [(validate.rules).string.min_len = 1];
|
|||
|
string deviceid = 2 [(validate.rules).string.min_len = 1];
|
|||
|
string version = 3 [(validate.rules).string.min_len = 1];
|
|||
|
string ts = 4 [(validate.rules).string.min_len = 1]; // utc时间秒
|
|||
|
string sign = 5 [(validate.rules).string.min_len = 1]; // 签名
|
|||
|
string recordNo = 6 [(validate.rules).string.min_len = 1]; // 提现唯一编码,值来自 PayoutUserOne 的 recordNo
|
|||
|
string fail = 7; // 设置拒绝原因
|
|||
|
uint32 status = 8 [(validate.rules).uint32 = { lte: 3, gte: 2 }]; // 设置提现状态 2:提现成功,3:提现失败
|
|||
|
}
|
|||
|
message PayoutStatusReply {
|
|||
|
string recordNo = 1; // 提现唯一编码,值来自 PayoutUserOne 的 recordNo
|
|||
|
uint32 status = 2;
|
|||
|
uint32 error = 3; // 错误码,0成功,1失败,2签名验证失败,3访问数据库出错,4 ts长度错误,5 status值错误
|
|||
|
}
|
|||
|
|
|||
|
// 提交身份文件验证请求
|
|||
|
message SubmitCheckReq {
|
|||
|
string account = 1 [(validate.rules).string.min_len = 1]; // paypal账号
|
|||
|
string uuid = 2 [(validate.rules).string.min_len = 1];
|
|||
|
}
|
|||
|
|
|||
|
message SubmitCheckReply {
|
|||
|
int32 result = 1; // 0成功,1失败,2以前提交过,还没审核结果,3以前提交过,并审核通过(以前提交过,但审核失败的,可以继续提交),
|
|||
|
int32 error = 2; // 错误码,0成功,1失败,
|
|||
|
}
|
|||
|
|
|||
|
// 身份审核信息请求
|
|||
|
message CheckInfoReq {
|
|||
|
string platform = 1 [(validate.rules).string.min_len = 1];
|
|||
|
string deviceid = 2 [(validate.rules).string.min_len = 1];
|
|||
|
string version = 3 [(validate.rules).string.min_len = 1];
|
|||
|
string ip = 4;
|
|||
|
string ts = 5 [(validate.rules).string.min_len = 1]; // utc时间秒
|
|||
|
string sign = 6 [(validate.rules).string.min_len = 1];
|
|||
|
string uuid = 7; // 用户唯一字符串
|
|||
|
int32 isVerificationShow = 8; // 1开,0关
|
|||
|
}
|
|||
|
|
|||
|
message CheckInfoReply {
|
|||
|
int32 CanCheckSubmit = 1; // 0提交审核的人数已满,不能提交了,1可以提交身份审核
|
|||
|
int32 CheckSubmit = 2; // 提交身份文件验证情况,0没有提交,1提交过
|
|||
|
int32 CheckResult = 3; // 身份文件审核有反馈的情况,0没有记录,1审核没通过,2审核通过
|
|||
|
int32 CheckPayout = 4; // 提交身份文件奖励5美元领取的情况,0没有提现记录,1提现中,2提现成功,3提现失败
|
|||
|
int32 CheckCoin = 5; // 身份文件审核过的提现奖励,美分
|
|||
|
int32 CanCheckPayOut = 6; // 身份文件审核过的提现奖励5美元 能否 提现,0能提现,1条件不满足,不能提现,2当天已经提现过,不能再次提现
|
|||
|
string CheckResultFailedDesc = 7; // CheckResult==1时,显示的审核没通过的原因描述信息
|
|||
|
int32 error = 8; // 错误码,0成功,1失败,2 ts长度错误,
|
|||
|
}
|
|||
|
|
|||
|
message PbMsgOne {
|
|||
|
int64 timeStamp = 1; // 消息时间戳utc纳秒
|
|||
|
string uuid = 2; // 用户唯一字符串
|
|||
|
string name = 3; // 用户名
|
|||
|
string msg = 4; // 聊天消息
|
|||
|
}
|
|||
|
|
|||
|
// 发送聊天消息
|
|||
|
message AddChatReq {
|
|||
|
int64 timeStamp = 1; // 消息时间戳,同PbMsgOne的timeStamp,客户端已有聊天的最后的时间戳,用来获取最新的聊天消息,如果为0,则从最开始获取
|
|||
|
string platform = 2 [(validate.rules).string.min_len = 1];
|
|||
|
string deviceid = 3 [(validate.rules).string.min_len = 1];
|
|||
|
string version = 4 [(validate.rules).string.min_len = 1];
|
|||
|
string ip = 5;
|
|||
|
string ts = 6 [(validate.rules).string.min_len = 1]; // utc时间秒
|
|||
|
string sign = 7 [(validate.rules).string.min_len = 1];
|
|||
|
string uuid = 8; // 用户唯一字符串
|
|||
|
string msg = 9; // 聊天消息
|
|||
|
}
|
|||
|
message AddChatReply {
|
|||
|
uint32 result = 1; // 0成功,1失败,2 ts长度错误,
|
|||
|
string uuid = 2; // 用户唯一字符串
|
|||
|
repeated PbMsgOne lst = 3; // 聊天消息列表
|
|||
|
int32 error = 4; // 错误码,0成功,1失败,
|
|||
|
}
|
|||
|
|
|||
|
// 获取聊天消息列表
|
|||
|
message GetChatReq {
|
|||
|
int64 timeStamp = 1; // 消息时间戳,同PbMsgOne的timeStamp,客户端已有聊天的最后的时间戳,用来获取最新的聊天消息,如果为0,则从最开始获取
|
|||
|
string platform = 2 [(validate.rules).string.min_len = 1];
|
|||
|
string deviceid = 3 [(validate.rules).string.min_len = 1];
|
|||
|
string version = 4 [(validate.rules).string.min_len = 1];
|
|||
|
string ip = 5;
|
|||
|
string ts = 6 [(validate.rules).string.min_len = 1];
|
|||
|
string sign = 7 [(validate.rules).string.min_len = 1];
|
|||
|
string uuid = 8; // 用户唯一字符串
|
|||
|
}
|
|||
|
message GetChatReply {
|
|||
|
string uuid = 1; // 用户唯一字符串
|
|||
|
repeated PbMsgOne lst = 2; // 聊天消息列表
|
|||
|
int32 error = 3; // 错误码,0成功,1失败,
|
|||
|
}
|
|||
|
|
|||
|
////////////////////////////////////////////////////////////////
|
|||
|
// 以下为服务器端使用的,客户端不需要可忽略
|
|||
|
|
|||
|
message PbSvrData {
|
|||
|
repeated PbMsgOne lstChat = 1; // 聊天消息列表
|
|||
|
// map<string, PbReportData> mapReportData = 2; // 上报数据 map<TS开头的订单号>
|
|||
|
// uint32 rfClearReportData = 3; // 清理上报数据时间戳utc秒
|
|||
|
}
|
|||
|
|
|||
|
message PbUserData {
|
|||
|
}
|
|||
|
|
|||
|
message PbReportData {
|
|||
|
PbAdjustData adjust = 1;
|
|||
|
PbShuShuData shuShu = 2;
|
|||
|
uint32 rf = 3;
|
|||
|
}
|
|||
|
|
|||
|
message PbAdjustData {
|
|||
|
string GpsAdid = 1;
|
|||
|
string Adid = 2;
|
|||
|
string AndroidId = 3;
|
|||
|
string IpAddress = 4;
|
|||
|
string CreatedAtUnix = 5;
|
|||
|
string Currency = 6;
|
|||
|
string Environment = 7;
|
|||
|
string UserAgent = 8;
|
|||
|
string Price = 9;
|
|||
|
string FailReason = 10;
|
|||
|
string AppToken = 11;
|
|||
|
string EventToken = 12;
|
|||
|
string S2s = 13;
|
|||
|
string clientName = 14;
|
|||
|
}
|
|||
|
|
|||
|
message PbShuShuData {
|
|||
|
string GpsAdid = 1;
|
|||
|
string AppToken = 2;
|
|||
|
string EventToken = 3;
|
|||
|
string S2s = 4;
|
|||
|
string AndroidId = 5;
|
|||
|
string Adid = 6;
|
|||
|
string IpAddress = 7;
|
|||
|
string CreatedAtUnix = 8;
|
|||
|
string UserAgent = 9;
|
|||
|
string Price = 10;
|
|||
|
string Currency = 11;
|
|||
|
string FailReason = 12;
|
|||
|
string PayoutId = 13;
|
|||
|
string MerchantReference = 14;
|
|||
|
string PaymentMethod = 15;
|
|||
|
string PaymentType = 16;
|
|||
|
string PaymentNumber = 17;
|
|||
|
string IapName = 18;
|
|||
|
string GamecoinNumber = 19;
|
|||
|
string GamecoinType = 20;
|
|||
|
string SsAccountId = 21;
|
|||
|
string SsDistinctId = 22;
|
|||
|
string SsSuperProperties = 23;
|
|||
|
string clientName = 24;
|
|||
|
}
|