Server API

API interface description

Interface method

Base URL

API

URLRequest methodContent-TypeOutput formatCharacter set
api-base-url?partner_code=xxx&partner_key=xxxPOSTapplication/jsonJSONUTF-8

Authentication

FieldTypeMeaningRequired fieldsRemarks
partner_codeStringPartner identifyYesProvided by TD
partner_keyStringPartner secret keyYesProvided by TD

Request

FieldTypeMeaningRequired fieldsRemarks
black_boxStringVouchers for access to device informationYesObtain from SDK

Example Request

{
  "black_box": "aGPH1658920283672ropYaFxT7"
}

Response

FieldTypeMeaningOutput situationRemarks
codeIntegerinterface response status codesAllRefer to the status code description
messageStringstatus InfoAllSpecific reasons for an exception
sequence_idStringunique Identifier IDAllA unique identifier for each request-response
device_idStringdevice unique IDAllUnique identification of the device
device_osStringdevice typeAllAndroid、iOS、Web
device_detailObjectdevice detailsPro, Enterprise versionPlease see description of device details
ip_locationObjectlocation information corresponding to the IP of the devicePro, Enterprise versionPlease refer to the IP location information description
device_risk_scoreIntegerdevice risk scorePro, Enterprise versionRange 0 - 100
device_risk_labelArraydevice risk label listEnterprise versionPlease see the list of device risk labels for descriptions
device_risk_toolsObjectdevice risk toolsEnterprise versionPlease refer to the description of the device risk tool

Device Details

There are differences in the device fields corresponding to different device types and the following lists the field descriptions for the different device types

Android

FieldTypeMeaningRemarks
app_versionStringapp versionsE.g. "4.1.6"
system_versionStringandroid system versionsE.g. "6.0.1"
api_versionStringandroid API versionsE.g. "23"
fp_versionStringSDK versionsE.g. "4.1.6"
modelStringdevice modelE.g. "2014811"
brandStringdevice BrandE.g. "Xiaomi"
device_nameStringdevice nameE.g. "HM2014811"
network_typeStringnetwork typeE.g. "2g"、"3g"、"4g"、"5g"、"wifi"、"mobile"、"bluetooth_tethering"、"unknown"
ipStringIP addressE.g. "123.157.153.130"
time_zoneStringtime zoneE.g. "UTC+0800"
startup_timeStringboot timeE.g. "2021-01-01 00:00:00"
up_timeLonguptimeE.g. "568273951"
charge_stateStringcharging statusE.g. "charging"、"full"、"not_charging"、"discharging"、"unknown"
battery_levelIntegerelectrical quantitiesRange 0 - 100
screen_resolutionStringscreen resolutionWidth x Height,Example:"720x1280"
screen_brightnessIntegerscreen brightnessRange -1 - 256
total_memoryLongtotal memory sizeBytes
available_memoryLongavailable memory sizeBytes
total_storageLongtotal storage sizeBytes
available_storageLongavailable storage sizeBytes
latitudeDoublelatitudeAccuracy to 6 decimal places, Example 30.282331
longitudeDoublelongitudeAccuracy to 6 decimal places, Example 120.011395
carrierStringcarrierE.g. "Viettel"
bssidStringbssidE.g. "00:1a:8c:a0:69:0a"
wifi_ipStringwifi ipE.g. "10.57.3.135"
device_svnStringdevice svnE.g. "07"
hardwareStringhardwareE.g. "qcom"
dns_addressStringdns addressE.g. "211.137.32.178"
productStringproductE.g. "A37T"
hostStringhostE.g. "qh-miui-ota-offline07"
sim_operatorStringsim operatorE.g. "Viettel,VinaPhone"
ssidStringssidE.g. "xiaoming 的 wifi"
vpn_ipStringvpn ipE.g. "10.251.37.229"
cell_ipStringcell ipE.g. "10.3.4.9"
current_timeLongcurrent timeE.g. "1687764437374"
package_nameStringpackage nameE.g. "cn.tongdun. android&3.0.0"
languageStringlanguageE.g. "zh"
android_idStringandroid idE.g. "952b0b1edda80b44"
cpu_hardwareStringcpu hardwareE.g. "ARMv7 Processor rev 0 (v7l)"
cpu_typeStringcpu typeE.g. "Qualcomm Technologies"
baseband_versionStringbaseband versionE.g. "MPSS.DPM.1.0.c7. 18-00023"
mncStringmobile network codeE.g. "01"
mccStringmobile country codeE.g. "460"
installed_packagesStringinstalled packagesE.g. "[{\"package\":\"com.miui.screenrecorder\",\"name\":\"-\"},{\"package\":\"com.miui.fm\",\"name\":\"-\"}]"
running_packagesStringrunning packagesE.g. "com.xiaomi.shop"
ipv6Stringipv6E.g. "fe80::bfd7:21d8:318a:693b"
sign_md5Stringsign md5E.g. "6fb472cac420436b773a6325d4cdd7bd"
proxy_infoStringproxy infoE.g. "42.235.30.24:8080"
country_isoStringiso country codeE.g. "cn,cn"

iOS

FieldTypeMeaningRemarks
app_versionStringapp versionsE.g. "1.0.3"
system_versionStringios system versionsE.g. "10.2.1"
fp_versionStringSDK versionsE.g. "4.1.2"
modelStringdevice modelE.g. "iPhone 6s"
device_nameStringdevice nameE.g. "iPhone"
network_typeStringnetwork typeE.g. "2g"、"3g"、"4g"、"5g"、"wifi"、"mobile"、"bluetooth_tethering"、"unknown"
ipStringIP addressE.g. "123.157.153.130"
time_zoneStringtime zoneE.g. "UTC+0800"
startup_timeStringboot timeE.g. "2021-01-01 00:00:00"
up_timeLonguptimeE.g. "568273951"
charge_stateStringcharging statusE.g. "charging"、"unplugged"、"unknown"
battery_levelIntegerelectrical quantitiesRange 0 - 100
screen_resolutionStringscreen resolutionWidth x Height,Example:"720x1280"
screen_brightnessIntegerscreen brightnessRange 0 - 100
total_memoryLongtotal memory sizeBytes
available_memoryLongavailable memory sizeBytes
total_storageLongtotal storage sizeBytes
available_storageLongavailable storage sizeBytes
latitudeDoublelatitudeAccuracy to 6 decimal places, Example 30.282331
longitudeDoublelongitudeAccuracy to 6 decimal places, Example 120.011395
current_timeStringcurrent timeE.g. "1687764437374"
cell_ipStringcell ipE.g. "10.5.2.39"
wifi_ipStringwifi ipE.g. "192.168.10.111"
languageStringlanguageE.g. "en"
carrierStringcarrierE.g. "Viettel,VinaPhone"
mncStringmobile network codeE.g. "0"
mccStringmobile country codeE.g. "460"
country_isoStringiso country codeE.g. "cn"
bundle_idStringbundle idE.g. "cn.fraudmetrix. FMDeviceManager"
proxy_infoStringproxy infoE.g. "10.2.3.4:8080"
ssidStringssidE.g. "TP-LINK_03FE"
bssidStringbssidE.g. "80:2f:3e:dd:03:fe"
dns_addressStringdns addressE.g. "192.168.10.1"
vpn_ipStringvpn ipE.g. "10.32.3.98"
ipv6Stringipv6E.g. "fe08:393ed3"

Web

FieldTypeMeaningRemarks
browser_nameStringbrowser nameE.g. "Chrome"
browser_versionStringbrowser versionE.g. "56.0.2924.87"
fp_versionStringSDK versionsE.g."3.8.5"
user_agentStringbrowser userAgentE.g. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36"
urlStringuniform resource locatorE.g. "file:///Users/td/Documents/td/fp/demo_web.html"
device_typeStringdevice typeE.g. "Mac"
osStringdevice operating systemE.g. "Mac OS"
ipStringip addressesE.g. "123.157.153.130"
time_zoneStringtime zoneE.g. "UTC+0800"
screen_resolutionStringscreen resolutionWidth x Height,Example:"720x1280"
languageStringlanguageE.g. "zh-CN"
refererStringrefererE.g."http://10.57.30.164:8088/"
canvasStringcanvasE.g. "c8a8455d02d7cec9e dbe980b6b9e0ff8"
current_timeLongcurrent timeE.g. "1481694227762"

IP Location Information

FieldTypeMeaningRemarks
continentStringcontinentE.g. "North America"
countryStringcountryE.g. "The United States"
country_idStringcountry codeE.g. "US"
regionStringprovince/state/regionE.g. "Virginia"
cityStringcityE.g. "Ashburn"

Device Risk Label

FieldTypeApplicable platformDescriptionRemarks
abnormal_timeStringAndroid, iOS, Webcurrent device time abnormalExcessive deviation of device times from actual times
emulatorStringAndroid, iOS, Webdevice is a simulatorThe device is an iOS emulator installed on a computer
incognito_modeStringWebincognito mode
headless_modeStringWebvirtual browser
abnormal_useragentStringWebuseragent abnormal
debugger_detectedStringAndroid, iOS, Webdebugger is detectedDebugger is detected
hook_tool_detectedStringAndroid, iOShook tool detected
device_info_tamperedStringAndroid, Webtampering with device parametersDevice information tampering detected
group_controlStringAndroid, iOSgroup controlUsing cloud handsets, group control devices
no_simStringAndroid, iOSwithout sim card insertedDevice without a sim card inserted
abnormal_device_attrStringAndroid, iOS, Webdevice parameter abnormalHash check exceptions, some fields hit special values
script_temperedStringWebscript tampering
virtual_machineStringWebdevice as a virtual machineThe current device is detected as a virtual machine
local_debugStringWeblocal debuggingLocal debugging detected
adb_linkStringAndroidandroid debug bridgeMobile device connected to PC, in ADB debugging state
repackagedStringAndroid, iOSsecondary packaging
proxy_detectedStringAndroid, iOSusing a proxy
rootStringAndroidroot
jail_breakStringiOSjailbreak devices
vpn_detectedStringAndroid, iOSusing vpn
replay_attacksStringAndroid, iOS, Webreplay attackThe current device information has been repeatedly requested several times
cookie_temperedStringAndroid, iOS, Webcookie tamperingCookie tampering on client device fingerprint
crawlerStringWebweb crawler
malicious_crxStringWebmalicious extension plugins
debug_toolStringWebdebugger tools
app_multiple_runningStringAndroidapp multi opening
sys_multiple_runningStringAndroidsystem multi opening
gps_fakeStringAndroid, iOSvirtual positioning
risk_romStringAndroidsuspected risk romROMs for non-native factory devices
camera_fakeStringAndroid, iOScamera fake
suspected_resetStringAndroidsuspected reset

Device Risk Tools

FieldtypeDescriptionRemarks
installed_risk_tools_typeArrayinstallation risk tool Type descriptionPlease refer to installation risk tool Type description
running_risk_tools_typeArraydescription of the type of risk tool runningPlease refer to the description of the type of risk tool running

Installation Risk Tools

FieldApplicable platformDescription
quick_macroAndroid, iOSauto click tool
cydiaAndroidCydia
agent_appAndroid, iOSagent app
more_openAndroiddouble open tool
machine_change_toolsAndroid, iOShook tools
code_receiving_platformAndroidcode receiving platform
magiskAndroidMagisk
group_control_softwareAndroidgroup control software
virtual_appAndroidVirtualApp
virtual_positioningAndroid, iOSGPS location fake
xposedAndroidXposed
game_transmissionAndroidgame transmission
game_modifierAndroidgame modifier
cloud_simulatorAndroidcloud simulator
crowdsourcing_appAndroidcrowdsourcing app
skip_adsAndroidskip ads
anti_crash_frameAndroidanti crash frame
capture_toolAndroidcapture tool
fridaAndroidfrida

Running Risk Tools

FieldApplicable platformDescription
quick_macroAndroidauto click tool
cydiaAndroidCydia
magiskAndroidMagisk
test_frameAndroidTestFrame
virtual_appAndroidVirtualApp
xposedAndroidXposed
capture_toolAndroidcapture tool
fridaAndroidfrida

Status Code

Status CodeDescription
200success
306the maximum number of calls has been reached
500server internal error
9150device os not supported
9151query device information occurs some error
9152query device information failed
9153call parameter verification illegal
9154sdk initialization failed
9155query replay
9156js loading failed
9157query fp service occur some error
9158data forgery

Example of response

Basic

{
  "code": 200,
  "message": "",
  "sequence_id": "xxxxxxxxxxxxxxxx",
  "device_id": "xxxxxxx",
  "device_os": "Android"
}

Pro

{
"code": 200,
  "message": "",
  "sequence_id": "xxxxxxxxxxxxxxxx",
  "device_id": "xxxxxxx",
  "device_os": "Android",
  "device_detail":{
		"android_id":"591b4eb2a65e88f5",
		"api_version":"31",
		"app_version":"4.1.5.6",
		"available_memory":1509654528,
		"available_storage":31845441536,
	"baseband_version":"MOLY.LR12A.R3.MP.V98.1.P22",
		"battery_level":100,
		"brand":"Redmi",
		"bssid":"24:f2:7f:bd:ec:f3",
		"carrier":"Viettel,VinaPhone",
		"cell_ip":"10.5.2.39",
		"charge_state":"full",
		"country_iso":"cn,cn",
		"cpu_hardware":"ARMv7 Processor rev 0 (v7l)",
		"cpu_type":"Qualcomm Technologies",
		"current_time":1687767131368,
		"device_name":"lancelot",
		"device_svn":"07",
		"dns_address":"192.168.8.55",
		"fp_version":"4.1.5",
		"hardware":"mt6768",
		"host":"m1-xm-ota-bd274.bj.idc.xiaomi.com",
		"installed_packages":"[{\"package\":\"com.miui.screenrecorder\",\"name\":\"-\"},{\"package\":\"com.miui.fm\",\"name\":\"-\"},{\"package\":\"com.mi.liveassistant\",\"name\":\"-\"},{\"package\":\"com.xiaomi.vipaccount\",\"name\":\"-\"},{\"package\":\"com.qiyi.video\",\"name\":\"-\"},{\"package\":\"cn.tongdun.android.demo4156\",\"name\":\"-\"},{\"package\":\"cn.tongdun.android.demo4159\",\"name\":\"-\"},{\"package\":\"com.miui.thirdappassistant\",\"name\":\"-\"},{\"package\":\"com.android.soundrecorder\",\"name\":\"-\"},{\"package\":\"cn.wps.moffice_eng\",\"name\":\"-\"}]",
		"ip":"123.157.153.130",
		"ipv6":"fe80::bfd7:21d8:318a:693b",
		"language":"zh",
		"latitude":30.281257,
		"longitude":120.012748,
		"mcc":"460,",
		"mnc":"01,",
		"model":"M2004J19C",
		"network_type":"wifi",
		"package_name":"cn.tongdun.android.demo",
		"product":"lancelot",
		"proxy_info":"fe80::bfd7:21d8:318a:693",
		"running_packages":"cn.tongdun.android.demo",
		"screen_brightness":256,
		"screen_resolution":"1080x2340",
		"sign_md5":"03ce925f76ceb40e1c2ed8bfe3fcdd0c480a7ba8689ff814c601edfbf79e339e",
		"sim_operator":"Viettel,VinaPhone",
		"ssid":"IT-YUNZM123",
		"startup_time":"2023-06-21 02:14:59",
		"system_version":"12",
		"time_zone":"UTC+08:00",
		"total_memory":3881115648,
		"total_storage":50979336192,
		"up_time":453431639,
		"vpn_ip":"10.32.3.98",
		"wifi_ip":"10.57.201.50"
	},
  "ip_location": {
    "country": "China",
    "region": "Zhejiang",
    "city": "Hangzhou",
    "country_id": "CN",
    "continent": "Asia"
  },
  "device_risk_score": 50
}

Enterprise

{
  "code": 200,
  "message": "",
  "sequence_id": "xxxxxxxxxxxxxxxx",
  "device_id": "xxxxxxx",
  "device_os": "Android",
  "device_detail":{
		"android_id":"591b4eb2a65e88f5",
		"api_version":"31",
		"app_version":"4.1.5.6",
		"available_memory":1509654528,
		"available_storage":31845441536,
		"baseband_version":"MOLY.LR12A.R3.MP.V98.1.P22",
		"battery_level":100,
		"brand":"Redmi",
		"bssid":"24:f2:7f:bd:ec:f3",
		"carrier":"Viettel,VinaPhone",
		"cell_ip":"10.3.4.9",
		"charge_state":"full",
		"country_iso":"cn,cn",
		"cpu_hardware":"`AArch64 Processor rev 15 (aarch64)`",
		"cpu_type":"Qualcomm Technologies, Inc ATOLL-AB",
		"current_time":1687767131368,
		"device_name":"lancelot",
		"device_svn":"07",
		"dns_address":"192.168.8.55",
		"fp_version":"4.1.5",
		"hardware":"mt6768",
		"host":"m1-xm-ota-bd274.bj.idc.xiaomi.com",
		"installed_packages":"[{\"package\":\"com.miui.screenrecorder\",\"name\":\"-\"},{\"package\":\"com.miui.fm\",\"name\":\"-\"},{\"package\":\"com.mi.liveassistant\",\"name\":\"-\"},{\"package\":\"com.xiaomi.vipaccount\",\"name\":\"-\"},{\"package\":\"com.qiyi.video\",\"name\":\"-\"},{\"package\":\"cn.tongdun.android.demo4156\",\"name\":\"-\"},{\"package\":\"cn.tongdun.android.demo4159\",\"name\":\"-\"},{\"package\":\"com.miui.thirdappassistant\",\"name\":\"-\"},{\"package\":\"com.android.soundrecorder\",\"name\":\"-\"},{\"package\":\"cn.wps.moffice_eng\",\"name\":\"-\"}]",
		"ip":"123.157.153.130",
		"ipv6":"fe08::cd:39:de:3ed3",
		"language":"zh",
		"latitude":30.281257,
		"longitude":120.012748,
		"mcc":"460,",
		"mnc":"01,",
		"model":"M2004J19C",
		"network_type":"wifi",
		"package_name":"cn.tongdun.android",
		"product":"lancelot",
		"proxy_info":"10.10.105.60:8080",
		"running_packages":"cn.tongdun.android.demo",
		"screen_brightness":256,
		"screen_resolution":"1080x2340",
		"sign_md5":"03ce925f76ceb40e1c2ed8bfe3fcdd0c480a7ba8689ff814c601edfbf79e339e",
		"sim_operator":"Viettel,VinaPhone",
		"ssid":"IT-YUNZM123",
		"startup_time":"2023-06-21 02:14:59",
		"system_version":"12",
		"time_zone":"UTC+08:00",
		"total_memory":3881115648,
		"total_storage":50979336192,
		"up_time":453431639,
		"vpn_ip":"10.32.3.98",
		"wifi_ip":"10.57.201.50"
	},
  "ip_location": {
    "country": "China",
    "region": "Zhejiang",
    "city": "Hangzhou",
    "country_id": "CN",
    "continent": "Asia"
  },
  "device_risk_score": 50,
  "device_risk_label": [
    "abnormal_network_connection"
  ],
  "device_risk_tools":{
    "installed_risk_tools_type": [
      "quick_macro"
    ],
    "running_risk_tools_type": [
      "quick_macro"
    ]
  }
}