数据查询接口V4

2023.05.08 17:12:44

    接口说明

    本接口的功能是智能风控明细数据查询,主要用于数据同步:从易盾拉取数据场景,以固定时间窗口拉取数据。例如,每次查询1分钟前的数据,时间跨度也是1分钟,则可以按1分钟时间窗口,周期性滑动拉取数据。

    鉴权说明

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

    接入须知

    • 注意事项:因取证信息场景复杂,为了保障封号依据完备,如需封号,建议结合角色的业务数据进行二次判断或者 和易盾技术人员进行二次确认,以确保准确无误;控制接口调用频率,频率过高,可能会超过频率限制,导致查询失败,建议间隔大于10s。

    • 数据时间有效性

      • 可以导出最近一个月的所有数据
      • 可以导出Open API接入之前的数据
    • 导出数据量

      • 采用深度分页方式返回数据:如果查询条件返回数据量超过1万条,会以分页形式返回;下一页查询标识,见startFlag请求参数说明
      • 建议每次查询1分钟前的数据,时间跨度也是1分钟,按1分钟时间窗口,周期性滑动拉取数据。这个时间粒度,很少会超过1万条。
    • 示例demo地址

      • https://github.com/yidun/irisk-openapi-demo

     

    请求说明

    请求地址

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

    请求头

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

     

    请求参数

    请求参数分为:公共参数,接口参数。其中,公共参数请见公共请求参数;接口参数如下:

    参数 类型 必填 描述
    beginTimestamp Long 开始时间戳,单位: ms, 不能小于30天前
    endTimestamp Long 结束时间戳,单位: ms, 结束时间戳与开始时间戳的时间间隔不能大于30天
    startFlag String 用于分页查询的关联标记。第一次查询时,该字段填充空字符串""或不传该字段均可,后续查询时,需要判断上一次查询的返回数据中startFlag值,如果startFlag不为空字符串"",表示需要分页查询。当使用分页查询时,startFlag字段使用上一次返回值填充,其他字段保持不变,继续调用查询接口。如果startFlag为空字符串"",例如返回数据为{"code": 200, "msg": "ok", "data": {"size": 100, "startFlag": "", "detail": [{},...]}},表示不需要分页查询,可以使用新的时间条件查询。
    account String 用户/玩家的账号
    roleId String 用户/玩家的角色ID
    riskLevel Integer 风险等级,10-高风险,20-中风险,30-低风险
    packageName String 包名
    appVersion String app版本
    ip String ip地址

     

    请求参数示例

    {
        "businessId": "xxx966f73yyy59440583zzz9bfcc79df",
        "secretId": "nnn966f73yyy59440583zzz9bfcc79dc",
        "timestamp": ${currentTime},
        "nonce": "mmm888f73yyy59440583zzz9bfcc79de",
        "version": "400",
        "signature": "lll888f73yyy59440583zzz9bfcc79da",
        "beginTimestamp": 1667959831798,
        "endTimestamp":  1667959915103,
        "startFlag": "",
        "account":  "zzzzzzz", // 非必传
        "roleId":  "yyyyyyy",  // 非必传
        "riskLevel":  10,  // 非必传
        "packageName":  "com.aaa.bbb",  // 非必传
        "appVersion":  "1.0.2",  // 非必传
        "ip":  "192.168.1.1"  // 非必传
    }
    
    //其中,参与签名验证计算的参数如下
    {
        //公共参数
        "businessId": "xxx966f73yyy59440583zzz9bfcc79df",
        "secretId": "nnn966f73yyy59440583zzz9bfcc79dc",
        "timestamp": ${currentTime},
        "nonce": "mmm888f73yyy59440583zzz9bfcc79de",
        "version": "400"
    }
    

    响应

    响应结果

    响应数据格式为:JSON。

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

    参数 类型 描述
    code Integer 响应码,正常情况下为200,异常时,见 附录响应码定义
    msg String 响应码说明,正常情况下返回“ok”,异常时,见 附录响应码定义
    desc String 响应信息描述,非必返,常见错误情况下会返回错误说明或错误参考文档
    data JSONObject 返回数据格式, 如下

    数据格式:

    参数 类型 说明
    size Integer 本次查询返回的数据条数
    startFlag String 用于分批查询的关联标记。1. 当查询需要分批返回数据时,表示下一批数据起始标记。2. 当该值返回为空字符串""时,表示数据都已经返回,不需要继续执行下一批查询
    detail Array<DetailData> 具体返回数据,每条数据类型见明细数据DetailData结构

    明细数据DetailData结构

    不同平台明细数据有所差异,具体参照“数据查询”页面中“自定义列”中字段,下表以Android平台为例:

    参数 类型 说明
    token String token
    receiveTime String 时间
    sessionId String 会话ID
    account String 角色账号
    roleId String 角色ID
    roleName String 角色名称
    roleServer String 角色服务器
    roleLevel String 角色等级
    currentOnlineTime String 登录时长
    appName String 应用名称
    packageName String 包名
    appVersion String app版本
    gameVersion String 游戏版本
    assetVersion String 资源版本
    signHash String 签名HASH
    signMd5 String 签名MD5
    sdkVersion String SDK版本
    localFeatureVersion String 本地特征版本
    deviceType String 设备类型
    model String 品牌型号
    deviceOs String 设备系统
    osVersion String 系统版本
    deviceId String 设备ID
    emulatorDid String 主机ID
    networkType String 网络类型
    ip String IP地址
    location String 地区
    riskLevel String 风险等级
    execAction String 执行动作
    matchedRules String 命中的规则编号, 以";"连接
    matchedRiskTags String 命中的风险标签, 以";"连接

    响应结果示例

    • 当不需要执行下一批次查询时:
    {
        "code": 200,
        "msg": "ok!",
        "data": {
            "size": 100,
            "startFlag": "",
            "detail": [
                {
                    "roleServer": "xxxx",
                    "appVersion": "2.1.1",
                    "riskLevel": "高风险",
                    "matchedRules": "R20220929143720059;R20220929110507299;R20220929112305870",
                    "deviceOs": "IOS",
                    "deviceId": "CAhLczArTdNFSlQBUQaQSjg3eyndeBft",
                    "osVersion": "11.0",
                    "model": "iPhone 12",
                    "roleLevel": "",
                    "packageName": "com.aaa.bbb",
                    "networkType": "2G",
                    "deviceType": "模拟器",
                    "signHash": "2022a0b1ccddeeffa0b1ccdd99bb9977",
                    "roleId": "RoT-1025788773",
                    "appName": "appName001",
                    "execAction": "放行",
                    "ip": "115.236.119.140",
                    "sessionId": "sessionId001",
                    "token": "rMc6A1zRxhFEDFRQAQKVXsA+utHq5o3l",
                    "emulatorDid": "",
                    "receiveTime": "2022-09-29 14:39:45",
                    "matchedRiskTags": "环境风险-模拟器-通用模拟器;环境风险-云真机-云真机设备;外挂风险-加速挂-烧饼加速器",
                    "localFeatureVersion": "99",
                    "assetVersion": "0.1.1",
                    "roleName": "rolename9",
                    "gameVersion": "1.0.1",
                    "signMd5": "adffdgsdfgsfdhgdsfgh",
                    "sdkVersion": "1.1.3",
                    "location": "中国-浙江-杭州",
                    "account": "roleaccount887142103",
                    "currentOnlineTime": "10h 13min 9s"
                }
            ]
      },
      "ok":true
    }
    
    • 当需要继续执行下一批次查询时:
    {
        "code": 200,
        "msg": "ok!",
        "data": {
            "size": 10000,
            "startFlag": "MTY2NDQzMzU4NTYxMSMxZTlxdjR1ZGpjaDk5djM0MDBmbmVidmdkZDAwOXdxdQ==",
            "detail": [
                {
                    "roleServer": "xxxx",
                    "appVersion": "2.1.1",
                    "riskLevel": "高风险",
                    "matchedRules": "R20220929143720059;R20220929110507299;R20220929112305870",
                    "deviceOs": "IOS",
                    "deviceId": "CAhLczArTdNFSlQBUQaQSjg3eyndeBft",
                    "osVersion": "11.0",
                    "model": "iPhone 12",
                    "roleLevel": "",
                    "packageName": "com.aaa.bbb",
                    "networkType": "2G",
                    "deviceType": "模拟器",
                    "signHash": "2022a0b1ccddeeffa0b1ccdd99bb9977",
                    "roleId": "RoT-1025788773",
                    "appName": "appName001",
                    "execAction": "放行",
                    "ip": "115.236.119.140",
                    "sessionId": "sessionId001",
                    "token": "rMc6A1zRxhFEDFRQAQKVXsA+utHq5o3l",
                    "emulatorDid": "",
                    "receiveTime": "2022-09-29 14:39:45",
                    "matchedRiskTags": "环境风险-模拟器-通用模拟器;环境风险-云真机-云真机设备;外挂风险-加速挂-烧饼加速器",
                    "localFeatureVersion": "99",
                    "assetVersion": "0.1.1",
                    "roleName": "rolename9",
                    "gameVersion": "1.0.1",
                    "signMd5": "adffdgsdfgsfdhgdsfgh",
                    "sdkVersion": "1.1.3",
                    "location": "中国-浙江-杭州",
                    "account": "roleaccount887142103",
                    "currentOnlineTime": "10h 13min 9s"
                },
                //... 此处省略9999条数据
            ]
      },
      "ok":true
    }
    

    响应返回码

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

    Online Chat Tel:95163223 Free trial