设备指纹查询接口
2024.09.24 14:57:21
设备指纹查询接口用于查询设备指纹与其他设备信息,以及设备的风险检测结果。
接口说明
鉴权说明
为了保障接口调用安全,每一次请求都需要包含签名信息(signature参数),以验证用户身份。目前支持MD5加密算法。具体签名方法见 接口鉴权。
请求
请求地址
名称 | 值 |
---|---|
HTTP URL | https://fp-query.dun.163.com/v1/device/query |
HTTP Method | POST |
请求头
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Content-Type | String | 是 | 固定值:"application/json" |
请求参数
请求参数由公共参数和业务参数两部分组成,公共参数见 请求公共参数
业务参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
token | String | 是 | 上传设备数据时,设备指纹SDK返回的token |
注:客户端超时场景下,token会很长。详见 客户端说明文档
请求体示例
注意:请求体为 json 格式!
{
"businessId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"token": "veWSpVfLVgRAHxVEUBN7teeWD0jxwDSv",
"version": "v1",
"nonce": "556cdf9ef6ed4ae68e7639c537cac548",
"timestamp": 1636363470000,
"secretId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"signature": "59000d09865b046c0735b7079c2ed2e6"
}
响应
响应结果
响应字段如下(响应公共字段已省略,详见 响应公共字段):
名称 | 类型 | 必须返回 | 描述 |
---|---|---|---|
taskId | String | 是 | 此次查询操作的唯一标识 |
tokenCreationTime | Number | 否 | token生成时间。UNIX时间戳,单位:毫秒 |
device | Object | 否 | 设备相关信息 |
∟deviceId | String | 是 | 设备指纹ID |
∟sdkType | Number | 是 | 客户端平台类型。1-Web,2-Android,3-iOS,4-小程序 |
∟checkResult | Object | 否 | 设备风险检测结果 |
∟isTampered | Number | 否 | 设备数据上传请求是否被篡改。0或null-否,其它值表示被篡改 |
∟isSimulator | Number | 否 | 是否为模拟器。0或null-否,其它值表示模拟器 |
∟isRooted | Number | 否 | 设备是否被Root或越狱。0或null-否,其它值表示被Root或越狱 |
∟isMultiRun | Number | 否 | 是否为多开。0或null-否,其它值表示为多开 |
∟isVpn | Number | 否 | 是否使用VPN。0或null-否,其它值表示使用VPN |
∟isProxy | Number | 否 | 是否使用代理。0或null-否,其它值表示使用代理 |
∟isHooked | Number | 否 | 是否存在hook。0或null-否,其它值表示存在hook |
∟isInjected | Number | 否 | 是否存在注入。0或null-否,其它值表示存在注入 |
∟isDebugged | Number | 否 | 是否在调试。0或null-否,其它值表示在调试 |
∟isXposed | Number | 否 | 是否安装了xposed。0或null-否,其它值表示安装了xposed |
∟isCloud | Number | 否 | 是否为云手机。0或null-否,其它值表示云手机 |
∟isSuspectCloud | Number | 否 | 是否疑似云手机。0或null-否,其它值表示疑似云手机 |
∟isRiskRom | Number | 否 | 是否为改机ROM。0或null-否,其它值表示为改机ROM |
∟isVm | Number | 否 | 是否为虚拟机。0或null-否,其它值表示为虚拟机 |
∟isModify | Number | 否 | 是否为改机。0或null-否,其它值表示为改机 |
∟isModifyApp | Number | 否 | 是否安装有改机类工具。0或null-否,其它值表示有安装 |
∟isFlash | Number | 否 | 是否为刷机。0或null-否,其它值表示为刷机 |
∟isAutoTouch | Number | 否 | 是否安装有点击工具。0或null-否,其它值表示有安装 |
∟isControlApp | Number | 否 | 是否安装有群控类应用。0或null-否,其它值表示有安装 |
∟isScript | Number | 否 | 是否有脚本工具。0或null-否,其它值表示有脚本工具 |
∟securityScore | Number | 否 | 安全评分 |
∟isCydiaSubstrate | Number | 否 | CydiaSubstrate。0或null-否,其它值-是 |
∟isM1 | Number | 否 | 是否为m1。0或null-否,其它值-是 |
∟isSpeedUp | Number | 否 | 是否使用加速器。0或null-否,其它值表示使用了加速器 |
∟isAntiJailbreak | Number | 否 | 是否安装了反越狱插件。0或null-否,其它值表示安装了反越狱插件 |
响应体示例
{
"code": 200,
"msg": "ok",
"data": {
"taskId": "1721c349a446483986180c207ca6b7c2",
"tokenCreationTime": 1638243086015,
"device": {
"deviceId": "WRp7Zryq6k1AGFVQARcutMIaP/Sw6Jlq",
"sdkType": 2,
"checkResult": {
"isTampered": 1,
"isSimulator": 1,
"isRooted": 1,
"isMultiRun": 1,
"isVpn": 1,
"isProxy": 1,
"isHooked": 1,
"isInjected": 1,
"isDebugged": 1,
"isXposed": 1,
"isCloud": 1,
"isSuspectCloud": 1,
"isRiskRom": 1,
"isVm": 1,
"isModify": 1,
"isModifyApp": 1,
"isFlash": 1,
"isAutoTouch": 1,
"isControlApp": 1,
"isScript": 1,
"securityScore": 1,
"isCydiaSubstrate": 1,
"isM1": 1,
"isSpeedUp": 1,
"isAntiJailbreak": 1
}
}
}
}
错误码
错误码有公共错误码和业务错误码两部分组成,公共错误码见 响应返回码
HTTP状态码 | 错误码code | 描述 | 排查建议 |
---|---|---|---|
200 | 200 | 成功 | N/A |
接入示例代码
开发工具集(SDK)接入
为方便 JAVA 开发者调试和接入API,我们提供了配套的开发工具集(SDK),用于简化API接入流程。SDK中各接口调用方式基本相同,接入方式统一,并提供了一些接口调用过程中常见的异常处理方案。以下介绍了SDK的使用流程,以及使用SDK的简单示例。
- 准备工作
准备步骤详见通用步骤
- 使用方法
该接口的使用方法可参考SDK demo