数美天网-游戏任务打金#


版权所有 翻版必究


游戏任务打金

游戏资源交易#

具体接口#

请求URL:#

集群URL支持产品列表
北京http://api-skynet-bj.fengkongcloud.com/v4/event天网风险识别
美国(弗吉尼亚)http://api-skynet-fjny.fengkongcloud.com/v4/event天网风险识别
新加坡http://api-skynet-xjp.fengkongcloud.com/v4/event天网风险识别
欧洲(法兰克福)http://api-skynet-eur.fengkongcloud.com/v4/event天网风险识别

请求方法:#

POST

字符编码:#

UTF-8

建议超时时间:#

1s

请求参数:#

请求body = 通用请求参数 + 事件特有参数 (放在data字段下)

通用的请求参数:#

放在HTTP Body中,采用Json格式,具体参数如下:

参数名称类型参数说明是否必传规范
accessKeystring接口认证密钥
用于权限认证,开通账号服务时由数美提供或使用开通邮箱登录数美后台右上角相关文档处查看
必传参数数美分配
appIdstring应用ID,用于区分相同公司的不同应用必传参数该参数传递值可与数美协商
eventIdstring事件ID,用于标识事件类型。必传参数不同的事件对应不同的策略,不同的事件输入参数可能会有细微的差别,请对应按照各事件详细传参说明
datajson_object请求的数据内容,事件特有参数可以放入data下传入必传参数请求的数据内容,最长10MB,详见data参数
其中,data的内容如下:
参数名称类型参数说明是否必传规范
tokenIdstring用户账号标识,建议使用贵司用户UID(可加密)自行生成 , 标识用户唯一身份用作灌水和广告等行为维度风控。如无用户uid的场景建议使用唯一的数据标识传值必传参数该ID为用户的唯一标识,且与其它数美接口的tokenId保持一致
注意点:同一个公司有多应用时,存在两种情况:
1) 业务上跨应用相同用户ID背后同一个人使用,传入原始用户ID即可。
2) 业务上跨应用相同用户ID背后不同人使用,传入应用ID和用户ID拼接值,保证传入的tokenId值能唯一标识用户,如appId_tokenId。
ipstring当前业务事件发生时的客户端公网ipv4地址必传参数非内网ip
timestampint64当前业务事件发生时的时间戳,单位为毫秒(ms)必传参数
deviceIdstring数美设备指纹标识,由数美SDK生成强烈建议数美设备指纹标识,用于用户行为分析。
注:
1. 接入数美SDK前的版本,无法获取到deviceId的情况下,deviceId传空“”即可;
2. 直接传输getDeviceId获取到的原始字段,不需要解密
(需嵌入android ios web的SDK,web SDK用于官网页面、H5页面)
osstring应用端操作系统类型强烈建议可选值:android、ios、weapp、web;
在注册事件中若来自官网注册,则注册事件的os传“web”
appVersionstring应用版本号强烈建议传入当前应用或服务正在使用的版本号,格式为3个点4段数字,每段数字最多4位,例如3.2.1.1234。不足4段的请补0,例如2.1.5传入2.1.5.0。多于4段的取前4段,例如2.1.5.1.1传入2.1.5.1
countryCodestring手机用户的国家代码强烈建议中国大陆区手机号填写0086非中国大陆区手机号填写国家代码例如:美国填写0001、安道尔0376、巴哈马1242
phoneMd5string手机号的Md5,32位小写加密串建议
levelint用户战力值档位,注册事件不传,登录、做任务、下虚拟订单事件都需要传强烈建议可酌情讨论定义档位
可选值:0,1,2,3,4分别对应:
0:最低级用户,
1:较低级用户,
2:中等级用户,典型如具备一定活跃或等级中等的用户等
3:较高级用户,典型如高活跃或高等级用户等
4:最高级用户,典型如高付费用户、VIP用户、可考虑放过的用户等
passThroughjson用户自定义透传字段建议如无必要,不传

返回结果#

放在HTTP Body中,采用Json格式,具体参数如下:

参数名称类型参数说明是否必返规范
codeint返回码1100:成功
1901:QPS超限
1902:参数不合法
1903:服务失败
9101:无权限操作
除message和requestId之外的字段,只有当code为1100时才会存在
messagestring返回码描述和code对应:成功 QPS超限 参数不合法 服务失败 余额不足 无权限操作
requestIdstring请求标识请求唯一标识,用于排查问题和后续效果优化,强烈建议保存
riskLevelstring当前事件的处置建议PASS:通过
REVIEW:审核
REJECT:拒绝
VERIFY:验证
detailjson_object风险详情信息,详情见下文请见《detail结果详情》表
tokenProfileLabelsjson_array账号属性标签见下面详情内容,仅在服务开通时返回
tokenRiskLabelsjson_array账号风险标签见下面详情内容,仅在服务开通时返回

其中

1)detail结果的详情内容

返回结果参数名参数类型参数说明规范
descriptionstring当前事件的风险描述
modelstring规则标识,命中的最高优先级规则标识
hitsJson array事件命中的所有规则标识hits中每个字段都是一个object,详见《hits结果详情信息》
ip_countrystringip归属地国家
ip_provincestringip归属地省份
ip_citystringip归属地城市
verifyTypestring当处置建议为VERIFY时,返回verifyTypeUPSMS:上行短信验证码
DOWNSMS:下行短信验证码
CAPTCHA:验证码(点选或滑动等)
SEQUENCE:语序验证(点选或输入)
SPATIAL:空间逻辑推理
FACE:人脸检测
DELAY:延时交易
machineAccountRiskjson账号历史打黑信息只有当前账号历史被打入账号黑库后,账号的相关流水才会返回该结构体

其中,hits结果详情的内容如下:

返回结果参数名参数类型参数说明规范
descriptionstring当前事件的风险描述
modelstring规则标识
riskLevelstring当前事件的处置建议PASS:通过
REVIEW:审核
REJECT:拒绝
VERIFY:验证
verifyTypestring当处置建议为VERIFY时,返回verifyTypeUPSMS:上行短信验证码
DOWNSMS:下行短信验证码
CAPTCHA:验证码(点选或滑动等)
SEQUENCE:语序验证(点选或输入)
SPATIAL:空间逻辑推理
FACE:人脸检测
DELAY:延时交易

其中,machineAccountRisk详情的内容如下:

返回结果参数名参数类型参数说明规范
tokenSampleLastTsint64最近打黑时间,毫秒级如:"tokenSampleLastTs": 1683026613000
tokenSampleDescstring历史打黑策略的description如:"tokenSampleDesc": "高风险设备:IP异常聚集"

其中标签类返回字段

1)tokenProfileLabels的详情内容

返回结果参数名参数类型参数说明规范
label1string一级标签展示账号属性标签的一级标签。
label2string二级标签展示账号属性标签的二级标签。
label3string三级标签展示账号属性标签的三级标签。
descriptionstring风险描述展示账号属性标签的中文描述。
timestampint64最近一次命中策略的时间最近一次命中策略的时间
detailjson_object证据描述证据细节

2)tokenRiskLabels的详情内容

返回结果参数名参数类型参数说明规范
label1string一级标签展示账号风险标签的一级标签。
label2string二级标签展示账号风险标签的二级标签。
label3string三级标签展示账号风险标签的三级标签。
descriptionstring风险描述展示账号风险标签的中文描述。
timestampint64最近一次命中策略的时间最近一次命中策略的时间
detailjson_object证据描述证据细节

其中,团伙账号标签(risk_group_token)的detail详情内容如下:

返回结果参数名参数类型参数说明
groupsjson_array多个团伙信息数组,元素为group

group内容如下:

参数名参数类型参数说明
memberIdsarray团伙成员账号
memberCountint团伙规模大小,本团伙内账号总量
groupIdstring团伙唯一标识
reasonstring成团原因
tsstring打上团伙标签的时间

事件列表#

行业场景事件eventId规范调用时机及用法
通用通用注册register参数详情调用时机:用户在官网或游戏中注册账号时调用
用法:PASS:正常
REJECT:打标签在交易时确认是否为材料小号,若确认则封号
通用通用登录login参数详情调用时机:用户在密码登录或一键登录、默认登录时调用
用法:PASS:正常
REJECT:打标签在交易时确认是否为材料小号,若确认则封号
游戏获利-任务做任务gameTask参数详情调用时机:用户在包括通过关卡、战斗、完成任务等获取奖励时进行调用
(客户可控频统计传入,如每10分钟有做任务的每个账号调用一次做任务事件,传输内容为:A账号在10分钟内获取的道具材料总量)
用法:打标签在交易时确认是否为材料小号,若确认则封号或酌情处置
游戏获利-倒卖资源下虚拟订单virtualOrder参数详情调用时机:买家在交易所点击购买按钮确认支付时调用,其中tokenId为买家ID;
用户在购买官方商城商品充值时调用
用法:PASS:通过
REJECT:打标签:材料号:封号或酌情处置;
材料号/游戏币号:根据神兵值、历史充值金额等业务数据酌情处置

事件详细API#

注册事件 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
typestring注册方式: 包括手机号码一键注册、手机号验证码注册、第三方授权、用户名密码注册必传参数可选值:
phoneOnePass:手机号一键注册、手机号验证码注册
signupPlatform、第三方授权
userPassword用户名密码注册
hashPasswordstring加密后的用户密码强烈建议可选择任意一种加密方式进行加密,但必须确保同一密码加密后是唯一的且一致的。
isPhoneExistint该手机号是否已经被注册强烈建议可选值:01若注册方式为手机号注册,且该手机号已经被注册过,则传入1,否则传入0.
signupPlatformstring第三方注册平台,如果本平台直接注册,可以不传建议可选值:qq、weibo、weixin、alipay、taobao、facebook、twitter
emailstring注册使用邮箱建议
sexstring用户性别,没有则不传建议可选值:male,female
isSignupPlatformPhoneint该手机号是否是第三方授权平台手机号建议可选值:01若手机号为第三方授权平台绑定的手机号,则传入1,否则传入0.

登录事件 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
extrajson额外参数,需客户统计数据传入建议extra中需传入字段:
异常值:若存在统计字段无法计算或属性字段获取不到,请传入int类型,-1

1、tokenType:账号属性标签,int
2、pvpLevel:娱乐战力值等级,int,可选值
3、equipscore:神兵战力值等级,int,可选值
4、roleRegisterTs:角色注册时间戳,13位,毫秒
5、param1:用户交易属性,int;
5、param2:用户账号定义,int;
如:data.extra:{
"tokenType":1,
”pvpLevel":0,
"equipscore":1,
"roleRegisterTs":1670123456789,
"param1":1,
"param2":1,
}
枚举值说明详见 附录
typestring登录方式,包括:本机号码一键登录、手机号密码登录、手机号验证码登录、用户名密码登录、生物识别(指纹、人脸、声音锁)登录必传参数可选值:
fastLogin:快速登录
phoneOneLogin:本机号码一键登录
phonePassword:手机号密码登录
phoneMessage:手机号验证码登录signupPlatform:第三方授权登录
userPassword:用户名密码登录
biometric:生物识别
hashPasswordstring加密后的用户密码强烈建议可选择任意一种加密方式进行加密,但必须确保同一密码加密后是唯一的且一致的。
validint用户名密码验证结果建议可选值:
1:成功
0:失败
gameZonestring游戏区服强烈建议当前子账号所属的区服
subTokenIdstring账号登录的当前子账号,角色的roleId强烈建议某些特殊的场景主账号有多个子账号(游戏场景不同区服),游戏场景必传

做任务 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
extrajson额外参数强烈建议extra中需传入字段:
异常值:若存在统计字段无法计算或属性字段获取不到,请传入int类型,-1

1、tokenType:账号属性标签,int
2、pvpLevel:娱乐战力值等级,int,可选值
3、equipscore:神兵战力值等级,int,可选值
4、roleRegisterTs:角色注册时间戳,13位,毫秒
如:data.extra:{
"tokenType":1,
”pvpLevel":0,
"equipscore":1,
"roleRegisterTs":1670123456789}
枚举值说明详见 附录
gameZonestring游戏区服强烈建议当前子账号所属的区服
subTokenIdstring账号登录的当前子账号,角色的roleId强烈建议某些特殊的场景主账号有多个子账号(游戏场景不同区服),游戏场景必传
taskIdstring任务ID强烈建议任务唯一标识
eventNamestring任务名称强烈建议例如:PVP战斗、XXX任务、XXX关卡
taskAmountint64用户获取的资源数量,包括通过战斗、完成任务等获取的奖励建议一款游戏内资源数量的量纲必须为相同的,如金币或抽卡需要的资源等
rewardItemsjson array该角色前一时间窗口中所获得的高价值道具材料详情强烈建议定义:高价值道具材料,即客户高度关注/风险度较高的材料,仅需将高价值道具材料的获取记录传入至做任务即可,其他非高价值的道具可不进行传入。

rewardItems内容详情

参数名称类型参数说明是否必传规范
itemIdstring道具材料SKU强烈建议该角色前一时间窗口所获得的高价值道具材料SKU
itemNamestring道具材料名称强烈建议该角色前一时间窗口所获得的高价值道具材料名称
itemCountstring道具材料SKU强烈建议该角色前一时间窗口所获得的高价值道具材料数量
taskIdstring最后一次获得本道具的任务ID强烈建议该角色前一时间窗口所获得的高价值道具材料SKU
taskNamestring最后一次获得本道具的任务名称强烈建议该角色前一时间窗口所获得的高价值道具材料SKU
timestampstring最后一次获得本道具的最后一次时间戳强烈建议该角色前一时间窗口所获得的高价值道具材料SKU

下虚拟订单 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
extrajson额外参数,需客户统计数据传入建议extra中需传入字段:
异常值:若存在统计字段无法计算或属性字段获取不到,请传入int类型,-1
1、 sellTokenIdGameZone:string,卖家区服id
2、 tokenIdPurchaseNum:int,买家购买次数(近30天)
3、tokenIdPurchaseAboveAvg :int,买家购买次数是否大于平均数(近30天);0:不大于,1:大于
4、 tokenIdSellNum:int,买家寄售成功次数(近30天)
5、 tokenIdSellAboveAvg:int,买家寄售成功次数是否大于平均数(近30天);0:不大于,1:大于
6、 tokenIdRechargeLevel:int,买家累计充值分档 0-15(近30天)
7、 tokenIdSellAboveAvg_amt:int,买家寄售成功总金额是否大于平均寄售金额(近30天);0:不大于,1:大于
8、 tokenIdPurchaseAboveAvg_amt:int,买家购买总金额是否大于平均购买金额(近30天);0:不大于,1:大于
9、 TokenIdSellRechargeRatio:float,买家累计寄售成功获得的游戏币与游戏充值的游戏币的比值(近30天)
10、 tokenIdBuyUseRatio:float,买家累计购买道具消耗的游戏币与游戏内总消耗的游戏币的比值(近30天)
11、 sellTokenIdPurchaseNum:int,卖家购买次数(近30天)
12、 sellTokenIdPurchaseAboveAvg:int,卖家购买次数是否大于平均数(近30天);0:不大于,1:大于
13、 sellTokenIdSellNum:int,卖家寄售成功次数(近30天)
14、 sellTokenIdSellAboveAvg:int,卖家寄售成功次数是否大于平均数(近30天);0:不大于,1:大于
15、 sellTokenIdRechargeLevel:int,卖家累计充值分档 0-15(近30天)
16、 sellTokenIdSellAboveAvg_amt:int,卖家寄售成功总金额是否大于平均寄售金额(近30天);0:不大于,1:大于
17、 sellTokenIdPurchaseAboveAvg_amt:int,卖家购买成功总金额是否大于平均购买金额(近30天);0:不大于,1:大于
18、 sellTokenIdSellRechargeRatio:float,卖家累计寄售获得的游戏币与游戏充值的游戏币的比值(近30天)
19、 sellTokenIdBuyUseRatio:float,卖家累计购买道具消耗的游戏币与游戏总内消耗的游戏币的比值(近30天)
gameZonestring游戏区服强烈建议当前子账号所属的区服
subTokenIdstring账号的子账号强烈建议某些特殊的场景主账号有多个子账号(游戏场景不同区服)
productstring虚拟商品名称必传参数例如:XXX道具
productIdstring商品ID,SPU 标准化产品单元强烈建议
productCountint商品数量强烈建议该笔交易中所包含的商品数量
productPricefloat商品价格强烈建议该笔交易中商品单价
productPriceMarketRatiofloat商品价格/市场均价强烈建议若商品单价-productPrice因数据安全的问题,无法传输,建议采用该字段
productPriceSuggestRatiofloat商品价格/标注价格强烈建议若商品单价-productPrice因数据安全的问题,无法传输,建议采用该字段
orderIdstring订单ID强烈建议该商品订单唯一标识
pricefloat64下单总金额强烈建议统一量纲,例如游戏币总金额
sellTokenIdstring卖家账号强烈建议该ID为用户的唯一标识,且与其它数美接口的tokenId保持一致
isFixedBuyerint指定买家交易强烈建议该订单是否是指定交易,枚举值:
0:非指定买家交易
1:指定买家的交易
orderSourcestring订单来源的枚举值,分为两类:
1、用户购买官方的虚拟商品/充值;
2、用户间的虚拟商品交易,如游戏道具、NFT藏品等
建议枚举值:
mall: 订单来自官方商城,用来记录用户平台商城购买虚拟商品或充值;
exchange: 订单来自玩家交易所,用来记录用户间的虚拟商品交易

示例:#

请求示例:#

{
"accessKey": "XXXXXXX",
"eventId": "virtualOrder",
"appId": "default",
"data": {
"ip": "",
"deviceId": "BQ144b7Xd4TAejWdbWOrB4SI0Gn7vaYxEybz2q22851RoABghw4evlXwXBlPjwY89Iv5kBZjE+nR7WDWFB94IPA==",
"phoneMd5": "67e7fec84d482447595eff4109f87c58",
"appVersion": "4.5.9",
"tokenId": "8ddbb939193651b7a38f5fe33ab14e53",
"isTokenSeperate": 1,
"os": "android",
"product": "XXX",
"productCount": 1,
"productId": "60425",
"productPrice": 10,
"timestamp": 1652370840283,
"level":0,
"extra":{
"sellTokenIdGameZone":"卖家区服id",
"tokenIdPurchaseNum":"买家购买次数(近30天)",
"tokenIdPurchaseAboveAvg":"买家购买次数是否大于平均数(近30天)",
"tokenIdSellNum":"买家寄售成功次数(近30天)",
"tokenIdSellAboveAvg":"买家寄售成功次数是否大于平均数(近30天)",
"tokenIdRechargeLevel":"买家累计充值分档 0-15(近30天)",
"tokenIdSellAboveAvg_amt":"买家寄售成功总金额是否大于平均寄售金额(近30天)",
"tokenIdPurchaseAboveAvg_amt":"买家购买总金额是否大于平均购买金额(近30天)",
"TokenIdSellRechargeRatio":"买家累计寄售成功获得的游戏币与游戏充值的游戏币的比值(近30天)",
"tokenIdBuyUseRatio":"买家累计购买道具消耗的游戏币与游戏内总消耗的游戏币的比值(近30天)",
"sellTokenIdPurchaseNum":"卖家购买次数(近30天)",
"sellTokenIdPurchaseAboveAvg":"卖家购买次数是否大于平均数(近30天)",
"sellTokenIdSellNum":"卖家寄售成功次数(近30天)",
"sellTokenIdSellAboveAvg":"卖家寄售成功次数是否大于平均数(近30天)",
"sellTokenIdRechargeLevel":"卖家累计充值分档 0-15(近30天)",
"sellTokenIdAboveAvg_amt":"卖家寄售成功总金额是否大于平均寄售金额(近30天)",
"sellTokenIdAboveAvg_amt":"卖家购买成功总金额是否大于平均购买金额(近30天)",
"sellTokenIdSellRechargeRatio":"卖家累计寄售获得的游戏币与游戏充值的游戏币的比值(近30天)",
"sellTokenIdBuyUseRatio":"卖家累计购买道具消耗的游戏币与游戏总内消耗的游戏币的比值(近30天)"
}
}
}

同步返回示例:#

{
"requestId": "0acfaaebbc01001113d6ad0b8c11eeb8",
"riskLevel": "REJECT",
"tokenRiskLabels": [
{
"timestamp": 1652370941818,
"label1": "risk_device_token",
"label2": "multi_boxing_token",
"label3": "multi_boxing_by_app_token",
"description": "风险设备账号:多开设备账号:工具多开设备账号"
},
{
"label1": "risk_device_token",
"label2": "multi_boxing_apps_token",
"label3": "multi_boxing_apps_token",
"description": "风险设备账号:安装多开工具设备账号:安装多开工具设备账号",
"timestamp": 1652370941818
}
],
"detail": {
"ip_province": "江西",
"hits": [
{
"description": "高风险账号:账号异常聚集账号",
"model": "M002020112",
"riskLevel": "REJECT"
},
{
"description": "高风险账号:数美风险模型识别",
"model": "M002070002",
"riskLevel": "REJECT"
},
{
"riskLevel": "REJECT",
"description": "高风险账号:数美风险模型识别",
"model": "M00212001"
},
{
"description": "高风险设备:账号异常聚集",
"model": "M99120102",
"riskLevel": "REJECT"
}
],
"model": "M99120102",
"machineAccountRisk": {
"tokenSampleDesc": "账号异常聚集",
"tokenSampleLastTs": 1652370941818
},
"description": "高风险设备:账号异常聚集",
"ip_country": "中国",
"ip_city": "上饶"
},
"code": 1100,
"message": "成功"
}

附录#

枚举值说明#

tokenType枚举值#

tokenType枚举值含义
0仅登录用户
1关卡用户
2多玩法用户
3竞技用户
4潜在战场用户
5战场用户
6未定义用户

pvpLevel枚举值#

tokenType枚举值含义
0无娱乐战力用户
1无娱乐战力用户
2低娱乐战力用户
3低娱乐战力用户
4低娱乐战力用户
5低娱乐战力用户
6中娱乐战力用户
7中娱乐战力用户
8中娱乐战力用户
9普通娱乐战力用户
10普通娱乐战力用户
11普通娱乐战力用户
>=12高娱乐战力用户

equipScore枚举值#

equipScore枚举值含义
0入门神兵
1入门神兵
2基础神兵
3基础神兵
4基础神兵
5潜在提升神兵
6待提升神兵
7待提升神兵
8待提升神兵
9待提升神兵
10进阶神兵
11进阶神兵
12进阶神兵
>=13正常神兵

|

param1枚举值#

param1枚举值含义
0潜在交易用户
1非交易用户

param2枚举值#

param2枚举值含义
0普通账号
1普通账号
2普通账号
>=3白名单账号

在线咨询