AI反打金接口

2024.04.26 16:37:42

    接口说明

    本接口是智能风控服务的AI反打金接口。AI反打金工作室主要依据游戏内玩家日志,使用AI模型算法对行为一致的群体进行牟利识别的全链路功能方案。通过群体行为和交易两个环节全面掌控工作室牟利路径、牟利变现模式以及牟利规模,从而达到维护厂商游戏生态平衡、保障厂商收入不受工作室侵蚀,提升用户体验的效果。当前版本为V5。

    鉴权说明

    易盾智能风控服务使用签名认证方法对接口进行鉴权,所有接口每一次请求都需要包含签名信息(signature 参数),以验证用户身份,防止信息被恶意篡改。目前支持MD5签名算法,详细信息请参见接口鉴权

    接入须知

    请控制接口调用频率,默认qps为1000,频率过高,可能会超过频率限制,导致接口调用失败。上线前有需要提升qps需要可以联系易盾专属商务。

    请求说明

    请求地址

    名称
    HTTP URL http://ir-open.dun.163.com/v5/risk/antiGoldCheck
    HTTP Method POST

    请求头

    名称 类型 必填 描述
    Content-Type String 固定值:"Content-Type:application/json"

    请求参数

    请求参数包括:公共参数和私有参数。其中,公共参数请见公共请求参数,接口私有参数如下:

    参数名 类型 必填 最大长度 描述
    logTime String 64 实际记录日志的时间,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TMEZONE;yyyy-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC8小时,即北京时间)。例如:2023-05-20T13:29:35+08:00表示,北京时间2023年5月20日13点29分35秒。示例值:2023-06-08T10:34:56+08:00。
    account String 256 用户账号标识,建议使用业务方用户的UID,标记用户的唯一身份。
    roleId String 256 用户角色ID,适用于支持同一个账号下创建不同角色的业务(如游戏不同区服的角色)。
    nickname String 256 用户角色的昵称。
    serverId String 32 当前游戏角色所在游戏区服的ID(所属服务器ID)
    logType String - 日志类型
    - createRole: 角色创建日志
    - loginRole: 角色登录日志
    - logoutRole: 角色登出日志
    - trade: 交易日志
    - chat: 言论日志
    - gamePlay: 非PVP玩法日志
    - pvp: PVP玩法日志
    - resourceChange: 资源变化日志
    - punish: 处罚日志
    logData String - 具体的日志数据,json字符串格式(utf-8编码),json内容见:不同类型日志接入说明

    不同类型日志接入说明

    角色创建日志

    参数名 类型 必填 最大长度 描述
    ip String 16 ipv4网络地址,在外网登录的记录一定要是外网ip。例:115.60.131.66。
    ipv6 String 128 ipv6地址,如果是ipv6网络才记录。
    deviceModel String 512 设备型号,直接获取通过系统提供API返回的设备制造商, 设备型号, CPU名称, CPU核心数, CPU频率, GPU名称字符串,并使用分割符号#进行拼接。
    osName String 16 操作系统,操作系统名称,如ios, android, windows, ubuntu, symbian等,注意不要获取到操作系统版本
    osVersion String 16 操作系统版本,设备操作系统版本号 如:6.1, 2.3等
    macAddr String 64 设备mac地址,如08:00:20:0A:8C:6D;android6.0以上才有,ios7.0以后应该无法获取,ios系统如果无法获取,可以将该字段置空
    udid String 64 设备唯一标示符
    nation Integer 8 国家编码,如86表示中国,不写默认是中国
    appChannel String 64 运营渠道,如app_store/ 91_assistant /netease等
    appVersion String 64 客户端版本号
    emulatorFlag Boolean - 是否模拟器
    rootFlag Boolean - 是否root
    createTime Long 13 角色创建时间,请传入时间戳,单位:毫秒

    角色登录日志

    参数名 类型 必填 最大长度 描述
    ip String 16 ipv4网络地址,在外网登录的记录一定要是外网ip。例:115.60.131.66。
    ipv6 String 128 ipv6地址,如果是ipv6网络才记录。
    deviceModel String 512 设备型号,直接获取通过系统提供API返回的设备制造商, 设备型号, CPU名称, CPU核心数, CPU频率, GPU名称字符串,并使用分割符号#进行拼接。
    deviceHeight Integer 8 设备屏幕高度(屏幕分辨率)
    deviceWidth Integer 8 设备屏幕宽度(屏幕分辨率)
    osName String 16 操作系统,操作系统名称,如ios, android, windows, ubuntu, symbian等,注意不要获取到操作系统版本
    osVersion String 16 操作系统版本,设备操作系统版本号 如:6.1, 2.3等
    macAddr String 64 设备mac地址,如08:00:20:0A:8C:6D;android6.0以上才有,ios7.0以后应该无法获取,ios系统如果无法获取,可以将该字段置空
    udid String 64 设备唯一标示符
    nation Integer 8 国家编码,如86表示中国,不写默认是中国
    networkType String 16 网络连接,有3g, 2.5g, 4g, wifi几种。
    appChannel String 64 运营渠道,如app_store/ 91_assistant /netease等
    appVersion String 64 客户端版本号
    emulatorFlag Boolean - 是否模拟器
    rootFlag Boolean - 是否root
    createTime Long 13 角色创建时间,请传入时间戳,单位:毫秒
    level Integer 8 角色等级
    loginTime Long 13 角色登录游戏的时间,请传入时间戳,单位:毫秒
    vipLevel Integer 8 角色vip等级
    注意:如果不写,则默认游戏内没有vip等级
    lastLogoutTime Long 13 角色上次退出游戏的时间,请传入时间戳,单位:毫秒
    offlineMoney Long 13 离线产出游戏币,本次登陆奖励的游戏币数目,包括离线挂机奖励。
    注意:如果游戏内没有这个数据,可以不添加,如游戏不是mmo的
    offlineExp Long 13 离线产出经验,本次登陆奖励的经验,包括离线挂机奖励。
    注意:如果游戏内没有这个数据,可以不添加,如游戏不是mmo
    offlineItemList List 最大元素个数: 100 奖励物品,物品字段见:物品字段

    物品字段

    参数名 类型 必填 最大长度 描述i
    itemId String 128 物品id
    itemName String 128 物品名称
    count Integer 8 物品数量

    角色登出日志

    参数名 类型 必填 最大长度 描述
    ip String 16 ipv4网络地址,在外网登录的记录一定要是外网ip。例:115.60.131.66。
    ipv6 String 128 ipv6地址,如果是ipv6网络才记录。
    deviceModel String 512 设备型号,直接获取通过系统提供API返回的设备制造商, 设备型号, CPU名称, CPU核心数, CPU频率, GPU名称字符串,并使用分割符号#进行拼接。
    deviceHeight Integer 8 设备屏幕高度(屏幕分辨率)
    deviceWidth Integer 8 设备屏幕宽度(屏幕分辨率)
    osName String 16 操作系统,操作系统名称,如ios, android, windows, ubuntu, symbian等,注意不要获取到操作系统版本
    osVersion String 16 操作系统版本,设备操作系统版本号 如:6.1, 2.3等
    macAddr String 64 设备mac地址,如08:00:20:0A:8C:6D;android6.0以上才有,ios7.0以后应该无法获取,ios系统如果无法获取,可以将该字段置空
    udid String 64 设备唯一标示符
    networkType String 16 网络连接,有3g, 2.5g, 4g, wifi几种。
    appChannel String 64 运营渠道,如app_store/ 91_assistant /netease等
    appVersion String 64 客户端版本号
    emulatorFlag Boolean - 是否模拟器
    rootFlag Boolean - 是否root
    createTime Long 13 角色创建时间,请传入时间戳,单位:毫秒
    level Integer 8 角色等级
    vipLevel Integer 8 角色vip等级
    注意:如果不写,则默认游戏内没有vip等级
    exp Long 13 角色经验
    logoutTime Long 13 角色登出游戏的时间,请传入时间戳,单位:毫秒
    onlineTime Long 13 在线时长
    scene String 128 登出场景,登出时所在场景
    axis String 128 登出坐标,登出时所在场景坐标,应该是 (x,y,z)的形式
    lastOperation String 128 登出前操作
    moneySum Long 13 本次在线累计获得金钱总量(可选字段)
    expSum Long 13 本次在线累计获得经验总量,每次登出的时候将本次在线所有系统产生游戏币进行累加
    itemSumList List 最大元素个数: 100 本次在线累计获得重要物品或资源,每次登出的时候将本次在线所有你希望监控的重要资源或者物品进行累计,通过物品资源表形式写出,物品字段见:物品字段

    交易日志

    参数名 类型 必填 最大长度 描述
    tradeTime Long 13 流通时间,请传入时间戳,单位:毫秒
    type String 128 流通类型,游戏内流通方式,举例:交易、给予、摆摊、玩家寄售等
    detail String 128 流通明细,对于流通类型的详细描述。如果没有特定这次流通的信息需要记则不记录
    sourceOldAccountId String 256 源账号游客身份标识符,记录曾经用过的游客的账号。
    sourceMac String 64 源角色mac
    sourceMoney Long 13 源角色给的游戏币,游戏中可流通的货币
    sourceUUID String 64 源物品唯一ID,若每个物品就算类型一样也有唯一的标识符(如UUID),则记录,标识这一个物品
    sourceItemId String 128 源物品标识符,(标志同一种物品),非中文。
    sourceItemName String 128 源物品名称
    sourceItemType String 128 源物品类型,物品类型,如weapon(武器),remedy(药物)
    sourceItemCount Integer 8 源物品数量
    targetAccountId String 256 目标账号唯一标识
    targetOldAccountId String 256 目标账号游客身份标识符,游戏账号的唯一标示符,用于统计用户数
    targetRoleId String 256 目标角色ID
    targetRoleName String 256 目标角色昵称
    targetMac String 64 目标角色MAC
    targetMoney Long 13 目标给钱
    targetUUID String 128 目标物品唯一ID,若每个物品就算类型一样也有唯一的标识符(如UUID),则记录在此
    targetItemId String 128 目标物品名称编号,目标物品标识符,(标志同一种物品),非中文。
    targetItemName String 128 目标物品名称
    targetItemType String 128 目标物品类型,如weapon(武器),remedy(药物)
    targetItemCount Integer 8 目标物品数量

    言论日志

    参数名 类型 必填 最大长度 描述
    oldAccount String 256 游客身份标识符,记录曾经用过的游客的账号。
    level Integer 8 角色等级
    macAddr String 64 设备mac地址,如08:00:20:0A:8C:6D;android6.0以上才有,ios7.0以后应该无法获取,ios系统如果无法获取,可以将该字段置空
    udid String 64 设备唯一标示符
    content String 1024 发言内容
    channel String 128 发言频道
    scene String 128 发言场景
    axis String 128 发言坐标,发言时所在场景坐标,应该是 (x,y,z)的形式
    chatTime Long 13 发言时间,请传入时间戳,单位:毫秒
    yAccount String 256 发言对象账号ID,和玩家私聊时记录;如在公共频道发言,不用记录或者记录空字符串
    yRoleId String 256 发言对象角色Id,和玩家私聊时记录;如在公共频道发言,不用记录或者记录空字符串
    yRoleLevel Integer 8 发言对象等级,和玩家私聊时记录;如在公共频道发言,不用记录或者记录空字符串
    yLevelName String 256 发言对象昵称,和玩家私聊时记录;如在公共频道发言,不用记录或者记录空字符串

    非PVP玩法日志

    参数名 类型 必填 最大长度 描述
    oldAccount String 256 游客身份标识符,记录曾经用过的游客的账号。
    macAddr String 64 设备mac地址,如08:00:20:0A:8C:6D;android6.0以上才有,ios7.0以后应该无法获取,ios系统如果无法获取,可以将该字段置空
    udid String 64 设备唯一标示符
    gameplayName String 128 玩法名称,需唯一标识该任务或玩法
    beginRoleLevel Integer 8 开始角色等级,进入玩法时的玩家角色等级
    beginTime Long 13 开始时间,进入玩法的时间,请传入时间戳,单位:毫秒
    endRoleLevel Integer 8 结束角色等级,退出玩法时的的玩家角色等级
    useTime Integer 8 玩法耗时
    endState Integer 8 玩法结果,失败:0,胜利:1,平手:2
    costMoney Long 13 玩法消耗游戏币
    costItemList List 最大元素个数: 100 玩法消耗物品,物品Item见:物品字段
    prodMoney Long 13 玩法产出游戏币
    prodItemList List 最大元素个数: 100 玩法产出物品,物品Item见:物品字段
    prodExp Long 13 玩法产出经验

    PVP玩法日志

    参数名 类型 必填 最大长度 描述
    beginTime Long 13 开始时间,进入玩法的时间,请传入时间戳,单位:毫秒
    useTime Integer 8 玩法耗时
    pvpName String 128 玩法名称:PVP玩法名称,需唯一标识该任务或玩法
    endState Integer 8 玩法结果
    sourceOldAccountId String 256 源账号游客身份标识符,记录曾经用过的游客的账号。
    sourceRoleLevel Integer 8 源角色等级
    sourceCostMoney Long 13 源角色消耗游戏币
    sourceCostItemList List 最大元素个数: 100 源角色消耗物品
    sourceProdMoney Long 13 源角色产出游戏币
    sourceProdItemList List 最大元素个数: 100 源角色产出物品
    sourceProdExp Long 13 源角色产出经验
    sourceDeviceModel String 512 源角色设备型号,直接通过系统提供API返回的字符串
    sourceOSName String 16 源角色操作系统,直接通过系统提供API返回的字符串,如ios, android, windows, ubuntu, symbian等
    sourceOSVersion String 16 源角色操作系统版本,设备操作系统版本号,如6.1, 2.3
    sourceMacAddr String 64 源角色设备mac地址,如08:00:20:0A:8C:6D;android6.0以上才有,ios7.0以后应该无法获取
    sourceUDID String 64 源角色设备唯一标示符,设备UDID号, 具体参见关于UDID说明章节,用于统计设备数
    targetAccountId String 256 目标用户唯一标识,游戏账号的唯一标示符,用于统计用户数量。具体参考accountId说明
    targetOldAccountId String 256 源账号游客身份标识符,记录曾经用过的游客的账号。
    targetRoleId String 256 目标角色ID,目标角色唯一标识,在所有服唯一。
    targetNickname String 256 目标角色昵称
    targetRoleLevel Integer 8 目标角色等级
    targetCostMoney Long 13 目标角色消耗游戏币
    targetCostItemList List 最大元素个数: 100 目标角色消耗物品
    targetProdMoney Long 13 目标角色产出游戏币
    targetProdItemList List 最大元素个数: 100 目标角色产出物品
    targetProdExp Long 13 目标角色产出经验
    targetDeviceModel String 512 目标角色设备型号,直接通过系统提供API返回的字符串
    targetOSName String 16 目标角色操作系统,直接通过系统提供API返回的字符串,如ios, android, windows, ubuntu, symbian等
    targetOSVersion String 16 目标角色操作系统版本,设备操作系统版本号,如6.1, 2.3
    targetMacAddr String 64 目标角色设备mac地址,如08:00:20:0A:8C:6D;android6.0以上才有,ios7.0以后应该无法获取
    targetUDID String 64 目标角色设备唯一标示符,设备UDID号, 具体参见关于UDID说明章节,用于统计设备数

    资源变化日志

    参数名 类型 必填 最大长度 描述
    oldAccount String 256 游客身份标识符,记录曾经用过的游客的账号。
    level Integer 8 角色等级
    reason String 128 奖励原因:资源变化原因
    bonusMoney Long 13 奖励游戏币
    bonusItemList List 最大元素个数: 100 奖励物品,物品Item见:物品字段
    bonusExp Long 13 奖励经验

    处罚日志

    参数名 类型 必填 最大长度 描述
    level Integer 8 角色等级
    reason String 128 奖励原因:资源变化原因
    type String 128 处罚类型:警告、封号、限制玩法
    punishTimestamp Long 13 处罚时间,请传入时间戳,单位:毫秒

    请求参数示例

    {
        "businessId": "a0bcmo3aa617x1n62tlhtragdd009wy1",
        "secretId": "b0bcmo3aa617x1n62tlhtragdd009wy2",
        "timestamp": ${currentTimeMs},
        "nonce": "c0bcmo3aa617x1n62tlhtragdd009wy3",
        "version": "601",
        "signature": "d0bcmo3aa617x1n62tlhtragdd009wy4",
        "logTime": "2023-09-08T16:00:43+08:00",
        "account":  "yyyyyyy",
        "roleId":  "xxxxxxx",
        "nickname":  "zzzzzzz",
        "serverId":  "150",
        "logType":  "punish",
        "logData": "{\"level\":\"100\",\"reason\":\"xxx\",\"type\":警告,\"punishTimestamp\":\"xxx\"}"
    }
    
    

    响应

    响应结果

    响应数据格式为:JSON。

    响应头为:Content-Type:application/json,具体如下:

    参数 类型 描述
    code Integer 响应码,正常情况下为200,异常时,见 附录响应码定义
    msg String 响应码说明,正常情况下返回"ok",异常时,见 附录响应码定义

    响应结果示例

    {
        "code": 200,
        "msg": "ok!",
        "ok":true
    }
    

    响应返回码

    响应返回码见:响应返回码

    接入示例代码

    服务端 SDK 接入

    推荐使用我们提供的服务端 SDK 进行接入(目前支持 Java 和 Go 两种语言),不但可以节省接入成本,实现更快速的集成,并享有灵活的请求配置选项,同时 SDK 内置了错误重试、熔断降级等功能,提升服务可用性。点击 服务端 SDK 接入指引了解更多。

    Github Demo 地址

    在线咨询 电话咨询:95163223 免费试用