营销反欺诈接口文档
一、基于SessionId查询设备指纹信息接口
1.1接口请求URL(仅支持POST请求)
1.2参数
1.3应答报文及字段说明
1.4状态码说明
二、营销风控接口
2.1接口请求URL
2.2接口入参
2.3接口返回
2.4状态码说明
一、基于sessionId查询设备指纹信息接口
1.1接口请求URL(仅支持POST请求)
https://cloud-did.tongfudun.com/did/rest/device/deviceInfoBySessionId
1.2参数
HEADER
参数 | 含义 |
---|---|
x-hmac-auth-date | 时间戳 |
x-hmac-auth-signature | 签名(详见签名说明) |
secretId | 通付盾分配给商户的唯一ID号(由通付盾派发) |
Parameter
参数 | 含义 |
---|---|
appId | 商户的应用ID号 |
sessionId | sessionId 用来查询设备指纹的token,有效期为1小时,推荐使用当前服务端的会话标识(session的id值) |
sdk_version | 非必需参数,sdk的版本号 |
注:sessionId在服务端的有效期为1个小时
1.3应答报文及字段说明
Android:
- 应答报文
{
"data": {
"accessApp": "PayEgis_DeviceId_Demo_Android 1.0",
"accessTime": "2017-11-02 21:32:21",
"app_name": "PayEgis_DeviceId_Demo_Android",
"app_signature": "56:55:23:2E:1D:EB:48:84:34:3D:1F:36:A7:29:03:7E:14:CA:40:CB",
"app_type": "MOBILE",
"app_version": "1.0",
"bs_cid": "220104961",
"bs_lac": "25088",
"deviceId": "30400-000O8570561-17210218",
"first_ts": 1509350523945,
"has_danger_app": false,
"imei_code": "862915038638108",
"ip_address": "58.211.152.245",
"ip_city": "苏州市",
"ip_country": "中国",
"ip_lng": 120.58,
"ip_lat": 31.3,
"ip_region": "江苏省",
"longitude": 120.58,
"latitude": 31.3,
"is_debug": true,
"is_emulator": false,
"is_init": false,
"is_modified": false,
"is_proxy": false,
"is_root": false,
"is_vm": false,
"is_vpn": false,
"jailbreak": false,
"brand": "XIAOMI",
"last_ts": 1509629541077,
"mac_address": "44:6E:E5:D3:B9:F0",
"network_type": "WIFI",
"os": "Android",
"os_version": "7.0",
"phone_no": "+8615051606490",
"resolution": "1080x1920",
"score": 93,
"sim_imsi": "460023516049403",
"time_zone": 480,
"true_ip": "192.168.2.45"
},
"errorMessage": "",
"status": 1
}
- 字段说明
字段 | 含义 |
---|---|
status | 本次请求到应答状态码 |
accessApp | 访问设备指纹服务的应用 |
accessTime | 访问设备指纹的时间 |
app_name | 访问设备指纹的应用名称 |
app_signature | 应用签名 |
app_type | 类型 |
app_version | 访问设备指纹的应用版本号 |
bs_cid | 基站位置区域码 |
bs_cid | 基站编号 |
deviceId | 设备指纹 |
first_ts | 第一次访问设备指纹服务时间戳 |
last_ts | 上一次访问设备指纹服务时间戳 |
has_danger_app | 是否有危险应用 |
imei_code | 国际移动设备识别码 |
sim_imsi | 国际移动用户识别码 |
ip_address | 设备ip |
brand | 手机品牌 |
ip_city | 城市 |
ip_country | 国家 |
ip_region | 省份 |
ip_lng | 根据ip获取的经度 |
ip_lat | 根据ip获取的纬度 |
longitude | 根据GPS获取的经度 |
latitude | 根据GPS获取的纬度 |
jailbreak | 是否越狱 |
is_debug | 是否调试 |
is_init | 是否初始化 |
is_modified | 是否篡改参数 |
is_emulator | 是否模拟器 |
is_proxy | 是否代理 |
is_root | 是否root |
is_vm | 是否虚拟机 |
is_vpn | 是否vpn |
network_type | 网络类型(2G,3G,4G,WIFI,UNKNOWN) |
os | 操作系统 |
os_version | 操作系统版本号 |
platform | 手机型号 |
resolution | 设备分辨率 |
score | 设备环境安全系数 |
mac_address | mac地址 |
true_ip | 实际访问服务器的直接ip |
deviceId_relative | 与当前deviceId关联的deviceId(若有多个,以|分割) |
errorMessage | 错误信息 |
iOS:
- 应答报文
{
"data": {
"accessApp": "PayegisDID-Demo-async 2.2",
"accessTime": "2017-11-03 09:42:36",
"operatorSystem": "iOS 12.2",
"app_name": "PayegisDID-Demo-async",
"app_type": "MOBILE",
"platform": "x86_64",
"app_version": "2.2",
"deviceId": "20020-000O0252573-96713218",
"first_ts": 1509630051647,
"has_danger_app": false,
"mac_address": "A8:60:B6:1F:4B:DC",
"idfa": "BDE1F8AE-A66E-4E81-9415-06BF3D94345F",
"idfv": "CB57FA65-5BF7-4049-863D-77A2F9061747",
"ip_address": "117.136.46.220",
"ip_city": "南京市",
"ip_country": "中国",
"ip_lat": 32.07,
"ip_lng": 118.78,
"ip_region": "江苏省",
"longitude": 120.58,
"latitude": 31.3,
"is_emulator": false,
"is_init": false,
"is_modified": false,
"is_proxy": false,
"is_root": false,
"is_vm": false,
"is_vpn": false,
"jailbreak": false,
"last_ts": 1509673356317,
"mac_address": "02:00:00:00:00:00",
"location_by": "IP",
"network_type": "4G",
"os": "IOS",
"os_version": "10.3.3",
"resolution": "750x1334",
"score": 76,
"time_zone": 28800,
"true_ip": "117.136.46.220",
"deviceId_relative": "20030-000O0985456-5624562L"
},
"errorMessage": "",
"status": 1
}
- 字段说明
字段 | 含义 |
---|---|
status | 本次请求到应答状态码 |
accessApp | 访问设备指纹服务的应用 |
accessTime | 访问设备指纹的时间 |
app_name | 访问设备指纹的应用名称 |
app_type | 类型 |
app_version | 访问设备指纹的应用版本号 |
idfa | 广告标识符(用户可以在手机设置中禁止收集此参数;受APPSTORE上架因素影响,暂未收集此参数) |
idfv | 开发者ID (相同开发者,同一设备上值相同。同一开发者的软件全部卸载后,该值会发生变化) |
deviceId | 设备指纹 |
first_ts | 第一次访问设备指纹服务时间戳 |
last_ts | 上一次访问设备指纹服务时间戳 |
has_danger_app | 是否有危险应用 |
ip_address | 设备ip |
ip_city | 城市 |
ip_country | 国家 |
ip_region | 省份 |
ip_lng | 根据ip获取的经度 |
ip_lat | 根据ip获取的纬度 |
longitude | 根据GPS获取的经度 |
latitude | 根据GPS获取的纬度 |
jailbreak | 是否越狱 |
is_debug | 是否调试 |
is_init | 是否初始化 |
is_modified | 是否篡改参数 |
is_emulator | 是否模拟器 |
is_proxy | 是否代理 |
is_root | 是否root |
is_vm | 是否虚拟机 |
is_vpn | 是否vpn |
network_type | 网络类型(2G,3G,4G,WIFI,UNKNOWN) |
os | 操作系统 |
os_version | 操作系统版本号 |
platform | 手机型号 |
resolution | 设备分辨率 |
score | 设备环境安全系数 |
mac_address | mac地址 |
true_ip | 实际访问服务器的直接ip |
deviceId_relative | 与当前deviceId关联的deviceId(若有多个,以|分割) |
errorMessage | 错误信息 |
JS:
- 应答报文
{
"data": {
"accessApp": "Sogou Explorer 1.0",
"accessTime": "2017-11-03 10:03:06",
"deviceId": "11229-000O6156571-06913217",
"device_type": "pc",
"first_ts": 1509630282553,
"internal_height": 1080,
"internal_width": 1920,
"ip_address": "58.211.152.245",
"ip_city": "苏州市",
"ip_country": "中国",
"ip_region": "江苏省",
"is_emulator": false,
"is_init": false,
"is_modified": false,
"is_proxy": false,
"is_root": false,
"is_vm": false,
"is_vpn": false,
"jailbreak": false,
"js_type": "PC",
"last_ts": 1509674586296,
"navigator_useragent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0",
"osVersion": "",
"resolution": "1920x1080",
"score": 92,
"screen_height": 1080,
"screen_width": 1920,
"timezone": -480,
"true_ip": "58.211.152.245",
"ua_browser_family": "Sogou Explorer",
"ua_browser_major_version": "1",
"ua_browser_minor_version": "0",
"ua_os_family": "Windows",
"website_url": "http://58.211.152.246:28082/did/"
},
"errorMessage": "",
"status": 1
}
- 字段说明
字段 | 含义 |
---|---|
status | 本次请求到应答状态码 |
accessApp | 访问设备指纹服务的应用 |
accessTime | 访问设备指纹的时间 |
device_type | 类型 |
screen_width | 屏幕宽度 |
screen_height | 屏幕高度 |
internal_width | 工作区宽度 |
internal_height | 工作区高度 |
deviceId | 设备指纹 |
navigator_useragent | 浏览器UA完整信息 |
first_ts | 第一次访问设备指纹服务时间戳 |
last_ts | 上一次访问设备指纹服务时间戳 |
ip_address | 设备ip |
ip_city | 城市 |
ip_country | 国家 |
ip_region | 省份 |
ip_lng | 根据ip获取的经度 |
ip_lat | 根据ip获取的纬度 |
longitude | 根据GPS获取的经度 |
latitude | 根据GPS获取的纬度 |
jailbreak | 是否越狱 |
is_debug | 是否调试 |
is_init | 是否初始化 |
is_modified | 是否篡改参数 |
is_emulator | 是否模拟器 |
is_proxy | 是否代理 |
is_root | 是否root |
is_vm | 是否虚拟机 |
is_vpn | 是否vpn |
network_type | 网络类型(2G,3G,4G,WIFI,UNKNOWN) |
resolution | 设备分辨率 |
score | 设备环境安全系数 |
ua_browser_family | 浏览器名称 |
ua_browser_major_version | 浏览器主版本号 |
ua_browser_minor_version | 浏览器次版本号 |
ua_os_family | 操作系统名称 |
timezone | 时区 |
true_ip | 实际访问服务器的直接ip |
website_url | 集成方网页当前网址 |
errorMessage | 错误信息 |
```
1.4状态码说明
Status值 | 含义 |
---|---|
1 | 请求设备指纹成功(非1均为失败) |
-1 | 参数校验不通过 |
-307 | 传递的sessionId非法 |
-308 | 请求了通付盾设备指纹生成逻辑,但传递的采集信息不符合通付盾标准,不能生成设备指纹 |
-309 | 请求了通付盾设备指纹生成逻辑,但未发送设备信息,不能生成设备指纹 |
-310 | 请求了通付盾设备指纹生成逻辑,收到设备信息,服务器正在生成设备指纹 |
-312 | 该appId和sessionId未请求通付盾设备指纹生成逻辑,不予生成设备指纹 |
-500 | 设备指纹服务器异常 |
-504 | 数据库中不存在查询的数据 |
二、营销风控接口
2.1接口请求URL
https://cloud-did.tongfudun.com/did/rest/device/deviceId/syn/riskcontrol
2.2接口入参(仅支持POST请求)
HEADER
参数 | 含义 |
---|---|
x-hmac-auth-date | 时间戳 |
x-hmac-auth-signature | 签名(详见签名说明) |
secretId | 通付盾分配给商户的唯一ID号(由通付盾派发) |
Parameter
参数 | 含义 |
---|---|
appId | 商户的应用ID号 |
sessionId | sessionId延用web application的概念,标记app本次生命周期,作为客户端与服务器端的关联,是商户调用设备指纹SDK时,由商户自己构造或用其他方式自行传入,也可称为关联ID等。 |
app_type | 必须参数,指定设备的类型如(android/pc/ios) |
data | 用户名(账户)、服务名 用户名(user_name):用户构造的用户名 服务名(service):服务名只接受由我们定义的五种服务名(register、login、weedingWool、shamRegister、maliceLogin),当服务为weedingWool时会进行风控业务是否薅羊毛判定,当服务为shamRegister时会进行风控业务是否虚假注册判定,当服务为maliceLogin时会进行风控业务是否恶意登录判定,在使用weedingWool、shamRegister、maliceLogin服务之前,必须先使用register和login服务 例:{"user_name":"zzd","service":"weedingWool"} |
2.3接口返回
参数名称 | 返回值 | 参数说明 | |
---|---|---|---|
errorMessage | 错误信息 | 返回对应的错误描述,成功返回空 | 错误描述 |
status | 状态码 | 返回对应的状态码,成功返回1 | 见下方状态码表 |
2.4状态码说明
编码 | 描述 |
---|---|
1 | 成功 |
-318 | sessionId超时,建议在MAKE请求后的一个小时内请求本接口 |
-319 | 请求入参非法 |
-504 | ES中相应的索引不存在 |
-1001 | 必传参数未传入 |
-1002 | 场景编码有误,获取场景失败 |
-1003 | 请求参数类型有误 |
-1004 | 自定义属性非JSON格式,解析失败 |
-1005 | 自定义属性中参数类型有误,解析失败 |
-1007 | 决策流异常 |
-5000 | 规则引擎运行异常 |