数美天网-诈骗导流识别#


版权所有 翻版必究


诈骗导流识别

诈骗导流识别#

事件接口#

请求URL:#

集群URL支持产品列表
北京http://api-skynet-bj.fengkongcloud.com/v4/event天网风险识别
美国(弗吉尼亚)http://api-skynet-fjny.fengkongcloud.com/v4/event天网风险识别
新加坡http://api-skynet-xjp.fengkongcloud.com/v4/event天网风险识别
欧洲(法兰克福)http://api-skynet-eur.fengkongcloud.com/v4/event天网风险识别

请求方法:#

POST

字符编码:#

UTF-8

建议超时时间:#

1s

请求参数:#

请求body = 通用请求参数 + 事件特有参数 (放在data字段下)

通用的请求参数:#

放在HTTP Body中,采用Json格式,具体参数如下:

参数名称类型参数说明是否必传规范
accessKeystring接口认证密钥
用于权限认证,开通账号服务时由数美提供或使用开通邮箱登录数美后台右上角相关文档处查看
必传参数数美分配
appIdstring应用ID,用于区分相同公司的不同应用必传参数该参数传递值可与数美协商。
当公司app存在多个马甲包,分下面两种情况:
1. 马甲包账号互通,不同马甲包数据传入不同的appId,tokenId保持一致
2. 马甲包账号独立,不同马甲包数据传入不同的appId,tokenId必须不同
eventIdstring事件ID,用于标识事件类型。必传参数不同的事件对应不同的策略,不同的事件输入参数可能会有细微的差别,请对应按照各事件详细传参说明
datajson_object请求的数据内容,事件特有参数可以放入data下传入必传参数请求的数据内容,最长10MB,详见data参数
其中,data的内容如下:
参数名称类型参数说明是否必传规范
tokenIdstring用户账号标识,建议使用贵司用户UID(可加密)自行生成 , 标识用户唯一身份用作灌水和广告等行为维度风控。如无用户uid的场景建议使用唯一的数据标识传值必传参数注意点:
1. tokenId传入业务系统中的用户ID,务必保证接入数美全部事件相同用户传入的用户ID值一致且唯一
2. 如果公司主体下存在多个应用且需要按应用区分账号,即相同用户ID在不同应用中代表不同用户。则建议在传入的用户ID之前拼接应用标识作为tokenId传入,达到区分账号体系的目的。
3. 如果没有区分需求,则直接将用户ID传入tokenId字段即可
4. 如果传入错误,会导致系统认为是不同账号,账号的行为无法关联,导致识别不准确
ipstring当前业务事件发生时的客户端公网ipv4地址必传参数非内网ip
timestampint64当前业务事件发生时的时间戳,单位为毫秒(ms)必传参数
deviceIdstring数美设备指纹标识,由数美SDK生成强烈建议数美设备指纹标识,用于用户行为分析。
注:
1. 接入数美SDK前的版本,无法获取到deviceId的情况下,deviceId传空“”即可;
2. 直接传输getDeviceId获取到的原始字段,不需要解密
osstring应用端操作系统类型强烈建议可选值:android、harmony、ios、weapp、web、aliapp:支付宝小程序、ttapp:抖音小程序、tmapp:天猫小程序
appVersionstring应用版本号强烈建议传入当前应用或服务正在使用的版本号,格式为3个点4段数字,每段数字最多4位,例如3.2.1.1234。不足4段的请补0,例如2.1.5传入2.1.5.0。多于4段的取前4段,例如2.1.5.1.1传入2.1.5.1
activityIdstring营销活动id强烈建议建议传入对应营销活动标识id
activityTypestring活动类型,主要分为线下活动和线上活动。根据不同活动类型可以调用不同策略建议可选值:online_activity、offline_activity。online_activity为线上活动,如线上签到等;offline_activity为线下活动,如地推拉新活动等;
userAgentstring用户代理强烈建议
countryCodestring手机用户的国家代码强烈建议中国大陆区手机号填写0086非中国大陆区手机号填写国家代码例如:美国填写0001、安道尔0376、巴哈马1242
phoneMd5string手机号的Md5,32位小写加密串建议
phoneSha256string手机号的Sha256加密串建议
newCountryCodestring手机号国家码建议该字符串规范为四位字符串,默认为中国手机号国家码0086,传入规范详见国家码与国家对应关系
rolestring角色强烈建议可选值(强校验取值只能为空、ADMINHOST);HOST代表主播,针对主播,将会放开多开、PC模拟器规则以及关联频度策略阈值,以保证主播的正常体验和使用。
levelint用户等级,针对不同等级的用户可配置不同拦截策略强烈建议可选值:0,1,2,3,4分别对应:
0:最低级用户,典型如新注册、完全不活跃或等级为0的用户等
1:较低级用户,典型如低活跃或低等级用户等
2:中等级用户,典型如具备一定活跃或等级中等的用户等
3:较高级用户,典型如高活跃或高等级用户等4:最高级用户,典型如付费用户、VIP用户、可考虑放过的用户等
vdatajson微行为数据传入字段建议
extrajson用户自定义数据建议如无必要,不传
passThroughjson用户自定义透传字段建议如无必要,不传
counterInfojson_object事件关联柜台信息可选参数事件与柜台具有关联时,强烈建议接入,否则部分策略无法使用,详见counterInfo参数
counterInfo的内容如下:
参数名称类型参数说明是否必传规范
counterNamestring柜台名称可选参数
counterProvincestring柜台所在省份可选参数
counterCitystring柜台所在城市可选参数
counterIdstring柜台唯一ID可选参数注意点:
1. counterId传入业务系统中柜台ID,务必保证接入数美全部事件相同柜台传入的counterID值一致且唯一
2. 如果传入错误,会导致系统认为是不同柜台,导致识别不准确
counterDistrictstring柜台所在地区可选参数
counterAddressstring柜台详细地址可选参数

返回结果#

放在HTTP Body中,采用Json格式,具体参数如下:

参数名称类型参数说明是否必返规范
codeint返回码1100:成功
1901:QPS超限
1902:参数不合法
1903:服务失败
1911:图片下载失败
9101:无权限操作
3000:运营商错误
除message和requestId之外的字段,只有当code为1100时才会存在
messagestring返回码描述和code对应:成功 QPS超限 参数不合法 服务失败 余额不足 无权限操作
requestIdstring请求标识请求唯一标识,用于排查问题和后续效果优化,强烈建议保存
riskevelstring当前事件的处置建议PASS:通过
REVIEW:审核
REJECT:拒绝
VERIFY:验证
detailjson_object风险详情信息,详情见下文详见detail结果详情
tokenProfileLabelsjson_array账号属性标签仅在服务开通时返回,详见tokenProfileLabels结果详情
tokenRiskLabelsjson_array账号风险标签仅在服务开通时返回,详见tokenRiskLabels结果详情
detail结果的详情内容
返回结果参数名参数类型参数说明规范
descriptionstring当前事件的风险描述
modelstring规则标识,命中的最高优先级规则标识
hitsJson array事件命中的所有规则标识hits中每个字段都是一个object,详见hits结果详情
ip_countrystringip归属地国家
ip_provincestringip归属地省份
ip_citystringip归属地城市
verifyTypestring当处置建议为VERIFY时,返回verifyTypeUPSMS:上行短信验证码
DOWNSMS:下行短信验证码
CAPTCHA:验证码(点选或滑动等)
SEQUENCE:语序验证(点选或输入)
SPATIAL:空间逻辑推理
FACE:人脸检测
DELAY:延时交易
machineAccountRiskjson账号历史打黑信息只有当前账号历史被打入账号黑库后,账号的相关流水才会返回该结构体,详见machineAccountRisk结果详情
smidstring设备唯一标识需要传入deviceId字段且联系数美开通配置后,才会返回该字段
matchedListsjson_arrar功能名单内容详见matchedLists结果详情
matchedLists字段下每个对象包含以下信息
返回结果参数名参数类型参数说明规范
namestring名单名称
riskLevelstring处置建议
wordsjson_array敏感词命中信息;该json_array下的每个item代表一个敏感词的一次命中该名单下命中的敏感词风险详情,用于解释命中的敏感词位置等信息,详见words结果详情
words字段下每个对象包含以下信息
返回结果参数名参数类型参数说明规范
wordstring敏感词组合词返回 “服务|社会”;返回的是添加名单时添加的敏感词内容
checkItemstring配置匹配字段名单配置时的匹配字段
hits结果详情的内容
返回结果参数名参数类型参数说明规范
descriptionstring当前事件的风险描述
modelstring规则标识
riskLevelstring当前事件的处置建议PASS:通过
REVIEW:审核
REJECT:拒绝
VERIFY:验证
verifyTypestring当处置建议为VERIFY时,返回verifyTypeUPSMS:上行短信验证码
DOWNSMS:下行短信验证码
CAPTCHA:验证码(点选或滑动等)
SEQUENCE:语序验证(点选或输入)
SPATIAL:空间逻辑推理
FACE:人脸检测
DELAY:延时交易
machineAccountRisk详情的内容
返回结果参数名参数类型参数说明规范
tokenSampleLastTsint64最近打黑时间,毫秒级如:"tokenSampleLastTs": 1683026613000
tokenSampleDescstring历史打黑策略的description如:"tokenSampleDesc": "高风险设备:IP异常聚集"

其中标签类返回字段

tokenProfileLabels详情的内容
返回结果参数名参数类型参数说明规范
label1string一级标签展示账号属性标签的一级标签。
label2string二级标签展示账号属性标签的二级标签。
label3string三级标签展示账号属性标签的三级标签。
descriptionstring风险描述展示账号属性标签的中文描述。
timestampint64最近一次命中策略的时间最近一次命中策略的时间
detailjson_object证据描述证据细节
tokenRiskLabels详情的内容
返回结果参数名参数类型参数说明规范
label1string一级标签展示账号风险标签的一级标签。
label2string二级标签展示账号风险标签的二级标签。
label3string三级标签展示账号风险标签的三级标签。
descriptionstring风险描述展示账号风险标签的中文描述。
timestampint64最近一次命中策略的时间最近一次命中策略的时间
detailjson_object证据描述证据细节

3) 三级标签说明

一级标签一级标识二级标签二级标识三级标签三级标识
risk_register_token风险注册账号monkey_register_token机器注册账号monkey_register_token机器注册账号
risk_login_token风险登录账号environment_change_token环境跳变账号unusual_device_login_token异常设备登录账号
risk_login_token风险登录账号environment_change_token环境跳变账号unusual_region_login_token异常地域登录账号
risk_login_token风险登录账号account_takeover_token撞库盗号账号
account_takeover_token
撞库盗号账号
risk_login_token风险登录账号monkey_login_token机器登录账号monkey_login_token机器登录账号
marketing_cheating_token营销作弊账号fission_cheat_token裂变作弊账号fission_cheat_token裂变作弊账号
marketing_cheating_token营销作弊账号rank_cheat_token刷榜作弊账号rank_cheat_token刷榜作弊账号
marketing_cheating_token营销作弊账号task_cheat_token任务作弊账号task_cheat_token任务作弊账号
marketing_cheating_token营销作弊账号seckill_cheat_token机器秒杀作弊账号seckill_cheat_token机器秒杀作弊账号
marketing_cheating_token营销作弊账号risk_discount_token薅优惠账号risk_discount_token薅优惠账号
marketing_cheating_token营销作弊账号consume_stock_token占库存/占座账号consume_stock_token占库存/占座账号
data_stealing_token数据盗爬账号data_steal_token数据盗爬账号data_steal_token数据盗爬场账号
ad_scam_token诈骗导流账号net_scam_token网络诈骗账号net_scam_token网络诈骗账号
ad_scam_token诈骗导流账号user_digging_token竞品挖人账号user_digging_token竞品挖人账号
ad_scam_token诈骗导流账号ad_diversion_token广告导流账号ad_diversion_token广告导流账号
risk_group_token高危团伙账号risk_group_token高危团伙账号risk_group_token高危团伙账号
risk_content_token风险内容账号porn_token色情内容账号porn_token色情内容账号
risk_content_token风险内容账号politics_token涉政内容账号politics_token涉政内容账号
other_risk_token其他可疑账号monkey_token机器操控账号monkey_token机器操控账号
other_risk_token其他可疑账号high_frequency_token异常高频账号high_frequency_token异常高频账号
other_risk_token其他可疑账号abnormal_active_token异常活跃账号abnormal_active_token异常活跃账号
other_risk_token其他可疑账号discrete_region_token地域离散账号discrete_region_token地域离散账号
other_risk_token其他可疑账号abnormal_relation_token异常关联账号abnormal_relation_token异常关联账号

事件列表#

行业场景事件eventId规范
通用通用注册register参数详情
通用通用登录login参数详情

事件详细API#

注册事件 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
typestring注册方式: 包括手机号码一键注册、手机号验证码注册、第三方授权、用户名密码注册必传字段可选值:
phoneOnePass:手机号一键注册、手机号验证码注册
signupPlatform、第三方授权
userPassword用户名密码注册
hashPasswordstring加密后的用户密码强烈建议可选择任意一种加密方式进行加密,但必须确保同一密码加密后是唯一的且一致的。
isPhoneExistint该手机号是否已经被注册强烈建议可选值:01若注册方式为手机号注册,且该手机号已经被注册过,则传入1,否则传入0.
guestIdstring游客账号强烈建议在游客账号绑定成真实账号时,tokenId传入真实账号,guestId传入游客账号,长度限制在64个字符以内。
nickNamestring用户账户昵称建议
clickIdstring点击id强烈建议(渠道假量场景,关联渠道点击事件使用)
腾讯平台:传入点击回调中的click_id即可
巨量平台:传入点击回调中的CALLBACK_PARAM即可
signupPlatformstring第三方注册平台,如果本平台直接注册,可以不传建议可选值:qq、weibo、weixin、alipay、taobao、facebook、twitter
emailstring注册使用邮箱建议
sexstring用户性别,没有则不传建议可选值:male,female
isSignupPlatformPhoneint该手机号是否是第三方授权平台手机号建议可选值:01若手机号为第三方授权平台绑定的手机号,则传入1,否则传入0.

登录事件 #

参数名称类型参数说明是否必传规范
基础参数需要满足基础参数的配置要求
typestring登录方式,包括:本机号码一键登录、手机号密码登录、手机号验证码登录、用户名密码登录、生物识别(指纹、人脸、声音锁)登录必传字段可选值:
fastLogin:快速登录
phoneOneLogin:本机号码一键登录
phonePassword:手机号密码登录
phoneMessage:手机号验证码登录signupPlatform:第三方授权登录
userPassword:用户名密码登录
biometric:生物识别
hashPasswordstring加密后的用户密码强烈建议可选择任意一种加密方式进行加密,但必须确保同一密码加密后是唯一的且一致的。
subTokenIdstring账号的子账号强烈建议某些特殊的场景主账号有多个子账号(游戏场景不同区服)
roleIdstring当前业务登录用户角色,游戏行业特殊字段强烈建议
validint用户名密码验证结果建议可选值:
1:成功
0:失败

示例:#

请求示例:#

{
"accessKey": "XXXXXXXX",
"appId": "default",
"data": {
"deviceId": "202202110150160d1404c60f8a645c49786a53435c6b64010242529c497de4",
"ip": "87.119.224.144",
"isTokenSeperate": 0,
"timestamp": 1647570483887,
"tokenId": "1157893898",
"email": "iGa.mie.123+test@gmail.com",
"phoneMd5": "788abf53c451e0e7f6ff772b79784af3",
"nickName": "hhh"
},
"eventId": "register"
}

同步返回示例:#

{
"code": 1100,
"message": "成功",
"requestId": "4176ccb9803096b26b51e5d33e38838d",
"riskLevel": "PASS",
"score": 0,
"tokenRiskLabels": [
{
"label1": "ad_scam_token",
"label2": "ad_diversion_token",
"label3": "ad_diversion_token",
"description": "诈骗&引流账号:广告导流账号:广告导流账号",
"timestamp": null
},
{
"label1": "other_risk_token",
"label2": "high_frequency_token",
"label3": "high_frequency_token",
"description": "其他可疑账号识别:异常高频账号:异常高频账号",
"timestamp": null
},
{
"label3": "abnormal_active_token",
"description": "其他可疑账号识别:异常活跃账号:异常活跃账号",
"timestamp": null,
"label1": "other_risk_token",
"label2": "abnormal_active_token"
},
{
"timestamp": null,
"label1": "other_risk_token",
"label2": "discrete_region_token",
"label3": "discrete_region_token",
"description": "其他可疑账号识别:地域离散账号:地域离散账号"
},
{
"label1": "other_risk_token",
"label2": "abnormal_relation_token",
"label3": "abnormal_relation_token",
"description": "其他可疑账号识别:异常关联账号:异常关联账号",
"timestamp": null
},
{
"description": "其他可疑账号识别:机器操控账号:机器操控账号",
"timestamp": null,
"label1": "other_risk_token",
"label2": "monkey_token",
"label3": "monkey_token"
},
{
"label3": "monkey_register_token",
"description": "风险注册登录账号识别:机器注册账号:机器注册账号",
"timestamp": null,
"label1": "risk_register_login_token",
"label2": "monkey_register_token"
}
],
"tokenProfileLabels": [],
"detail": {
"description": "正常",
"model": "M1000"
}
}

账号查询接口#

请求URL:#

集群URL支持产品列表
北京集群http://api-tianxiang-bj.fengkongcloud.com/tianxiang/v4风险查询
新加坡集群http://api-tianxiang-xjp.fengkongcloud.com/tianxiang/v4风险查询
法兰克福集群http://api-tianxiang-eur.fengkongcloud.com/tianxiang/v4风险查询
弗吉尼亚集群http://api-tianxiang-fjny.fengkongcloud.com/tianxiang/v4风险查询

请求方法:#

POST

字符编码:#

UTF-8

建议超时时间:#

1s

请求参数:#

放在HTTP Body中,采用Json格式,具体参数如下:

请求参数名类型参数说明是否必传规范
accessKeystring接口认证密钥
用于权限认证,开通账号服务时由数美提供或使用开通邮箱登录数美后台右上角相关文档处查看
必传参数数美分配
datajson_object请求的数据内容必传参数请求的数据内容,最长10MB,详见data参数
其中,data的内容如下:
请求参数名类型参数说明是否必传规范
tokenIdstring用户账号标识,建议使用贵司用户UID(可加密)自行生成 , 标识用户唯一身份用作灌水和广告等行为维度风控。如无用户uid的场景建议使用唯一的数据标识传值不能为空注意点:
1. tokenId传入业务系统中的用户ID,务必保证接入数美全部事件相同用户传入的用户ID值一致且唯一
2. 如果公司主体下存在多个应用且需要按应用区分账号,即相同用户ID在不同应用中代表不同用户。则建议在传入的用户ID之前拼接应用标识作为tokenId传入,达到区分账号体系的目的。
3. 如果没有区分需求,则直接将用户ID传入tokenId字段即可
4. 如果传入错误,会导致系统认为是不同账号,账号的行为无法关联,导致识别不准确

返回结果#

放在HTTP Body中,采用Json格式,具体参数如下:

参数名称参数类型参数说明是否必返规范
codeint返回码1100:成功
1901:QPS超限
1902:参数不合法
1903:服务失败
1911:图片下载失败
9101:无权限操作
3000:运营商错误
除message和requestId之外的字段,只有当code为1100时才会存在
messagestring返回码描述和code对应:成功 QPS超限 参数不合法 服务失败 余额不足 无权限操作
requestIdstring请求标识请求唯一标识,用于排查问题和后续效果优化,强烈建议保存
tokenLabelsjson_object账号标签信息见下面详情内容,仅在tokenId传入且服务开通时返回
tokenProfileLabelsjson_array账号属性标签见下面详情内容,仅在tokenId传入且服务开通时返回
tokenRiskLabelsjson_array账号风险标签见下面详情内容,仅在tokenId传入且服务开通时返回

其中

1)tokenLabels的详情内容

返回结果参数名参数类型参数说明规范
machine_account_riskjson_object机器控制相关风险
UGC_account_riskjson_objectUGC内容相关风险
scene_account_riskjson_object场景账号风险特殊场景才可取到,如航司等

machine_account_risk的详情内容如下:

返回结果参数名参数类型参数说明规范
b_machine_control_tokenidint机器账号0:非机器控制账号1:机器控制账号
b_machine_control_tokenid_last_tsint机器账号时间
b_offer_wall_tokenidint积分墙账号0:非积分墙账号1:积分墙账号
b_offer_wall_tokenid_last_tsint积分墙账号时间

UGC_account_risk的详情内容如下:

返回结果参数名参数类型参数说明规范
b_politics_risk_tokenidint涉政风险0:暂未发现涉政风险1:存在涉政风险
b_politics_risk_tokenid_last_tsint涉政风险时间
b_sexy_risk_tokenidint色情风险0:暂未发现色情风险1:存在色情风险
b_sexy_risk_tokenid_last_tsint色情风险时间
b_advertise_risk_tokenidint广告风险0:暂未发现广告风险1:存在广告风险
b_advertise_risk_tokenid_last_tsint广告风险时间

scene_account_risk的详情内容如下:

返回结果参数名参数类型参数说明规范
i_tout_risk_tokenidint航司占座账号0:非航司占座账号1:航司占座账号
i_tout_risk_tokenid_last_tsint航司占座时间

其中标签类返回字段

1)tokenProfileLabels的详情内容

返回结果参数名参数类型参数说明规范
label1string一级标签展示账号属性标签的一级标签。
label2string二级标签展示账号属性标签的二级标签。
label3string三级标签展示账号属性标签的三级标签。
descriptionstring风险描述展示账号属性标签的中文描述。
timestampint64最近一次命中策略的时间最近一次命中策略的时间
detailjson_object证据描述证据细节

2)tokenRiskLabels的详情内容

返回结果参数名参数类型参数说明规范
label1string一级标签展示账号风险标签的一级标签。
label2string二级标签展示账号风险标签的二级标签。
label3string三级标签展示账号风险标签的三级标签。
descriptionstring风险描述展示账号风险标签的中文描述。
timestampint64最近一次命中策略的时间最近一次命中策略的时间
detailjson_object证据描述证据细节

示例:#

请求示例:#

{
"accessKey": "xxxxxxxxxxxxxxxxxxxxxxxxx",
"data": {
"tokenId": "ceshitokenId"
}
}

同步返回示例:#

{
"code": 1100,
"message": "成功",
"profileExist": 1,
"requestId": "7a5445716f0581c2ab1d381a6af4d1b8",
"tokenLabels": {
"machine_account_risk": {
"b_machine_control_tokenid": 1,
"b_machine_control_tokenid_last_ts": 1587711321232,
"b_offer_wall_tokenid": 1,
"b_offer_wall_tokenid_last_ts": 1587711321232
},
"UGC_account_risk": {
"b_politics_risk_tokenid": 1,
"b_politics_risk_tokenid_last_ts": 1587711321232,
"b_sexy_risk_tokenid": 1,
"b_sexy_risk_tokenid_last_ts": 1587711321232,
"b_advertise_risk_tokenid": 1,
"b_advertise_risk_tokenid_last_ts": 1587711321232
},
"scene_account_risk": {
"i_tout_risk_tokenid": 1,
"i_tout_risk_tokenid_last_ts": 1587711321232
},
"account_active_info": {
"i_tokenid_first_active_timestamp": 1587711321232,
"i_tokenid_active_days_7d": 5,
"i_tokenid_active_days_4w": 5
},
"account_freq_info": {
"i_tokenid_login_cnt_1d": 5,
"i_tokenid_login_cnt_7d": 5
},
"account_relate_info": {
"i_tokenid_relate_smid_cnt_1d": 5,
"i_tokenid_relate_smid_cnt_7d": 5,
"i_tokenid_relate_ip_city_cnt_1d": 5,
"i_tokenid_relate_ip_city_cnt_7d": 5
},
"account_common_info": {
"s_tokenid_relate_smid_info_map_4w": [
{
"smid": "xxxx1",
"days": "3"
},
{
"smid": "xxxx2",
"days": "5"
},
{
"smid": "xxxx3",
"days": "10"
}
],
"s_tokenid_relate_ip_city_info_map_4w": [
{
"city": "北京",
"days": "3"
},
{
"city": "长沙",
"days": "5"
},
{
"city": "武汉",
"days": "10"
}
]
}
},
"tokenProfileLabels": [
{
"label1": "age_gender",
"lable2": "token_age",
"label3": "minor_token",
"description": "年龄性别:年龄:未成年人",
"timestamp": 1634732525000,
"detail": {
}
}
],
"tokenRiskLabels": [
{
"label1": "risk_device_token",
"label2": "b_cloud_token_device",
"label3": "b_cloud_token_device",
"description": "风险设备账号:云手机账号:云手机账号",
"timestamp": 1634732525000,
"detail": {
}
},
{
"label1": "risk_device_token",
"label2": "b_hook_token",
"label3": "b_hook_token",
"description": "风险设备账号:hook设备:hook设备",
"timestamp": 1634732525000,
"detail": {
}
}
]
}

文本接口#

请求URL:#

集群URL支持产品列表
北京http://api-text-bj.fengkongcloud.com/text/v4诈骗导流识别
上海http://api-text-sh.fengkongcloud.com/text/v4诈骗导流识别
广州http://api-text-gz.fengkongcloud.com/text/v4诈骗导流识别
美国(弗吉尼亚)http://api-text-fjny.fengkongcloud.com/text/v4诈骗导流识别
新加坡http://api-text-xjp.fengkongcloud.com/text/v4诈骗导流识别

请求方法:#

POST

字符编码:#

UTF-8

建议超时时间:#

1s

请求参数:#

放在HTTP Body中,采用Json格式,具体参数如下:

请求参数名类型参数说明是否必传规范
accessKeystring接口认证密钥由数美提供
appIdstring应用标识用于区分应用,可选值如下:default:默认应用
额外应用值需数美单独分配提供。
当公司app存在多个马甲包,分下面两种情况:
1. 马甲包账号互通,不同马甲包数据传入不同的appId,tokenId保持一致
2. 马甲包账号独立,不同马甲包数据传入不同的appId,tokenId必须不同
eventIdstring事件标识可选值如下:额外事件值需数美单独分配提供
typestring检测的风险类型可选值:DEFAULT :默认值(包含:涉政、暴恐、违禁、色情、辱骂、广告、灌水、无意义、隐私、广告法、黑名单)
FRUAD :网络诈骗
UNPOACH:高价值用户防挖
以上type可以下划线组合,如:DEFAULT_FRUAD
datajson_object请求的数据内容最长1MB,详见data参数
businessTypestring检测的业务类型可选值:MINOR:未成年人

其中,data的内容如下:

请求参数名类型参数说明是否必传规范
textstring需要检测的文本(200字内效果最佳)文本字数上限2000字,若传递nickname字段,则会同时校验文本+昵称内容。注意:有超过2000字以上文本内容建议联系数美协商
tokenIdstring用用户账号标识, 建议使用贵司用户UID(可加密)自行生成 , 标识用户唯一身份用作灌水和广告等行为维度风控。如无用户uid的场景建议使用唯一的数据标识传值注意点:
1. tokenId传入业务系统中的用户ID,务必保证接入数美全部事件相同用户传入的用户ID值一致且唯一
2. 如果公司主体下存在多个应用且需要按应用区分账号,即相同用户ID在不同应用中代表不同用户。则建议在传入的用户ID之前拼接应用标识作为tokenId传入,达到区分账号体系的目的。
3. 如果没有区分需求,则直接将用户ID传入tokenId字段即可
4. 如果传入错误,会导致系统认为是不同账号,账号的行为无法关联,导致识别不准确
nicknamestring用户昵称校验昵称内容风险
ipstringip地址发送该文本的的用户公网ipv4地址
deviceIdstring数美设备标识数美设备指纹生成的设备唯一标识
extrajson_object辅助参数用于辅助文本检测的相关信息,详见extra参数

data 中 extra数组每个元素的内容如下:

请求参数名类型参数说明是否必传规范
receiveTokenIdstring消息接收者的tokenIdeventId值为 message 时必传由数字、字母、下划线、短杠组成的长度小于等于64位的字符串
topicstring可为话题编号、书评区编号、论坛帖子编号eventId值为 article 必传
atIdstringeventId值为 groupChat 必传用户在公开场景可以相互@,该参数用于传入被@用户的tokenId由数字、字母、下划线、短杠组成的长度小于等于64位的字符串
roomstring直播间/游戏房间编号eventId值为 groupChat 时必传
levelint用户等级可选值:
0:最低级用户,典型如新注册、完全不活跃或等级为0的用户等;
1:较低级用户,典型如低活跃或低等级用户等;
2:中等级用户,典型如具备一定活跃或等级中等的用户等;
3:较高级用户,典型如高活跃或高等级用户等;
4:最高级用户,典型如付费用户、VIP用户等 可选值:
rolestring用户角色用于区分直播/游戏行业不同角色的用户,可选值(默认为普通用户):
ADMIN :房管/管理员
HOST :主播
SYSTEM :系统
USER :普通用户
sexint性别用于用户性别;
可选值: 0:男性、1:女性、2:性别不明
passThroughJson透传字段该字段内容会随着返回值一起返回

返回结果:#

放在HTTP Body中,采用Json格式,具体参数如下:

返回结果参数名参数类型参数说明是否必返规范
codeint返回码1100:成功1901:QPS超限1902:参数不合法1903:服务失败9100:余额不足9101:无权限操作
messagestring返回码描述和code对应:成功QPS超限参数不合法服务失败余额不足无权限操作
requestIdstring请求标识本次请求数据的唯一标识,用于问题排查和效果优化,强烈建议保存
riskLevelstring处置建议可能返回值:PASS:正常,建议直接放行REVIEW:可疑,建议人工审核REJECT:违规,建议直接拦截
riskLabel1string一级风险标签一级风险标签,当riskLevel为PASS时返回normal
riskLabel2string二级风险标签二级风险标签,当riskLevel为PASS时为空
riskLabel3string三级风险标签三级风险标签,当riskLevel为PASS时为空
riskDescriptionstring风险原因当riskLevel为PASS时为"正常"
riskDetailjson_object风险详情风险详情,详见riskDetail参数
tokenLabelsjson object辅助信息账号风险画像标签信息见下面详情内容。详见tokenLabels参数
auxInfojson_object辅助信息详见auxlnfo参数
allLabelsjson_array辅助信息命中的所有风险标签以及详情信息。详见allLabels参数
businessLabelsJson_array辅助信息命中的所有业务标签以及详细信息。详见businessLabels参数
tokenProfileLabelsjson_array辅助信息属性账号类标签。详见账号标签参数
tokenRiskLabelsjson_array辅助信息风险账号类标签。详见账号标签参数

其中auxInfo字段如下:

参数名称类型参数说明是否必返规范
filteredTextstring辅助信息敏感词被替换为*后的文本(该参数仅在命中敏感词时存在)
语境模型,联系方式相关风险不返回该字段
passThroughjson_object透传字段该字段内容与请求参数data中extra的passThrough的值相同。
contactResultjson_array辅助信息联系方式识别结果,包含识别出的微信、微博、QQ、手机号的字符串类型和内容。 详见contactResult参数

auxInfo中,contactResult数组每个元素的内容如下:

参数名称类型参数说明是否必返规范
contactTypeint辅助信息联系方式类型,可选值区间【0-3】,详情如下:0: 手机号
1: QQ号
2: 微信号
3: 微博号
contactStringstring辅助信息联系方式串

其中,riskDetail的内容如下:

返回结果参数名参数类型参数说明是否必返备注
matchedListsjson_array辅助信息命中的客户自定义名单列表。详 见matchedLists参数
riskSegmentsjson_array辅助信息,高风险内容片段检测文本包含涉政、暴恐、违禁、广告法等风险内容的时候存在详见riskSegments参 数

riskDetail中,matchedLists数组每个元素的内容如下:

返回结果参数名参数类型参数说明是否必返规范
namestring辅助信息命中的名单名称
wordsjson_array辅助信息命中的敏感词数组。详见words参数

matchedLists中,words数组每个元素的内容如下:

返回结果参数名参数类型参数说明是否必返规范
wordstring辅助信息命中的敏感词
positionint_array辅助信息敏感词所在位置

riskDetail中,riskSegments的内容如下:

返回结果参数名参数类型参数说明是否必返规范
segmentstring辅助信息高风险内容片段
positionint_array辅助信息高风险内容片段所在位置

其中,tokenLabels的详情内容:

返回结果参数名参数类型参数说明是否必返规范
UGC_account_riskjson_object辅助信息UGC内容相关风险。详见UGC_account_risk参数

tokenLabels中,UGC_account_risk的详情内容如下:

返回结果参数名参数类型参数说明是否必返规范
sexy_risk_tokenidfloat辅助信息色情账号风险分取值区间[0-1]

其中,allLabels的内容如下:

返回结果参数名参数类型参数说明是否必返规范
riskLabel1stringallLabels不为空时必返一级风险标签
riskLabel2stringallLabels不为空时必返二级风险标签
riskLabel3stringallLabels不为空时必返三级风险标签
riskDescriptionstringallLabels不为空时必返风险原因
probabilityfloat置信度可选值在0~1之间,值越大,可信度越高
注意:allLabels不为空时必返
riskDetailjson_object风险详情格式与上层riskDetail结构相同
注意:allLabels不为空时必返
riskLevelstring风险等级取值:REJECT 违规REVIEW 可疑

其中,businessLabels的内容如下:

返回结果参数名参数类型参数说明是否必返规范
businessLabel1stringbusinessLabels不为空时必返一级标签
businessLabel2stringbusinessLabels不为空时必返二级标签
businessLabel3stringbusinessLabels不为空时必返三级标签
businessDescriptionstringbusinessLabels不为空时必返标签描述
probabilityfloatbusinessLabels不为空时必返可选值在0~1之间,值越大,可信度越高置信度
businessDetailJson_object业务详情businessLabels不为空时必返

其中,tokenProfileLabels、tokenRiskLabels的内容如下:

返回结果参数名参数类型参数说明是否必返规范
label1string一级标签
label2string二级标签
label3string三级标签
descriptionstring标签描述
timestampInt打标签时间戳13位Unix时间戳,单位:毫秒

一级标签的内容如下:

一级标签一级标识类型规范
涉政politics监管标签type值为DEFAULT
暴恐violence监管标签type值为DEFAULT
色情porn监管标签type值为DEFAULT
违禁ban监管标签type值为DEFAULT
辱骂abuse监管标签type值为DEFAULT
广告法ad_law监管标签type值为DEFAULT
广告ad监管标签type值为DEFAULT
黑名单blacklist监管标签type值为DEFAULT
无意义meaningless监管标签type值为DEFAULT
隐私privacy监管标签type值为DEFAULT
网络诈骗fraud监管标签type值为FRUAD、UNPOACH
未成年人minor业务标签businessType值为MINOR

示例 #

请求示例#

{
"accessKey": "*************",
"appId": "default",
"eventId": "text",
"type": "DEFAULT",
"businessType": "MINOR",
"data": {
"text": "我12岁了,你呢,我要去天安门看毛主席照片",
"tokenId": "4567898765jhgfdsa",
"ip": "118.89.214.89",
"deviceId": "*************",
"nickname": "***********",
"extra": {
"topic": "12345",
"atId": "username1",
"room": "ceshi123",
"receiveTokenId": "username2",
"level": 1,
"role": "ADMIN"
}
}
}

返回示例#

{
"code": 1100,
"message": "成功",
"requestId": "cfd98ce4510efd74e3a5182d2b752ee9",
"riskLevel": "REJECT",
"riskLabel1": "politics",
"riskLabel2": "shezheng",
"riskLabel3": "shezheng",
"riskDescription": "涉政:涉政:涉政",
"riskDetail": {
},
"allLabels": [
{
"probability": 1,
"riskDescription": "涉政:国内领导人:历任国级领导",
"riskDetail": {
"riskSegments": [
{
"position": [
16,
17,
18
],
"segment": "毛主席"
},
{
"position": [
16,
17,
18
],
"segment": "毛主席"
}
]
},
"riskLabel1": "politics",
"riskLabel2": "guoneilingdaoren",
"riskLabel3": "lirenguojilingdao",
"riskLevel": "REJECT"
},
{
"probability": 1,
"riskDescription": "涉政:涉政:涉政",
"riskDetail": {
"riskSegments": [
{
"position": [
12,
13,
14
],
"segment": "天安门"
},
{
"position": [
16,
17,
18
],
"segment": "毛主席"
}
]
},
"riskLabel1": "politics",
"riskLabel2": "shezheng",
"riskLabel3": "shezheng",
"riskLevel": "REJECT"
},
{
"probability": 1,
"riskDescription": "涉政:核心领导:毛泽东",
"riskDetail": {
"riskSegments": [
{
"position": [
16,
17,
18
],
"segment": "毛猪稀"
},
{
"position": [
16,
17,
18,
16,
17,
18
],
"segment": "毛猪西"
},
{
"position": [
16,
17,
18
],
"segment": "猫主席"
},
{
"position": [
16,
17,
18
],
"segment": "猫朱熹"
},
{
"position": [
16,
17,
18
],
"segment": "毛主席"
}
]
},
"riskLabel1": "politics",
"riskLabel2": "hexinlingdao",
"riskLabel3": "maozedong",
"riskLevel": "REJECT"
}
],
"auxInfo": {
"contactResult": [
{
"contactString": "你呢",
"contactType": 3
}
],
"filteredText": "我12岁了,你呢,我要去***看***照片"
},
"businessLabels": [
{
"businessDescription": "未成年人:未成年人:未成年人",
"businessLabel1": "minor",
"businessLabel2": "minor",
"businessLabel3": "clear",
"businessDetail": {},
"probability": 1
}
]
}

加密传输#

在某些场景下,为保障数据安全,我们需要对请求体进行加密处理后再进行传输。若需开通加密传输方式,请联系数美科技客服人员。本节将详细介绍如何实现这一过程,重点聚焦于使用SM4国密算法进行加密的实践方法。

支持的加密方式#

目前系统支持的加密传输方式主要为:

  • SM4国密算法:适用于对安全性有较高要求的场景,符合国家密码管理局的相关标准。

配置与准备#

  1. 密钥管理:确保加密前,已根据规定配置好加密所需的密钥及组织唯一标识。这些密钥信息由系统管理员提供。
  2. 服务端配置:加密传输功能需预先在服务器端设置并上线。包括了密钥配置、组织唯一标识。

加密传输参数说明#

当决定采用加密传输时,请求中需包含特定参数以指示加密方式及加密内容,具体如下:

参数名称类型参数说明是否必传规范
encryptTypestring指定使用的加密方式。加密传输时必须提供;非加密传输可忽略。固定值 SM4 表示使用SM4国密算法进行加密。
encryptDatastring经过加密处理后的数据字符串。encryptType 相关联,加密传输时必填;否则无需提供。使用指定的加密算法(如SM4)对原始请求数据进行加密后得到的结果。

示例请求体结构#

一个采用SM4加密的数据传输请求实例,其请求体可能如下所示(仅展示加密相关参数):

注意: 在SM4加密的数据传输请求中,请求体要求加密内容为JSON格式字符串,例如:{\"field1\":\"敏感数据1\",\"field2\":\"敏感数据2\",\"field3\":\"敏感数据3\"} ,确保信息安全加密处理。

{
"accessKey": "xxx",
"appId": "xxx",
"eventId": "xxx",
"data": {
"encryptType": "SM4",
"encryptData": "ZGYwZTA2MmJhNTU5ZDhkMjBlZWY4MmYwZTYyNTU1OWFjYTI2OGM4ZGFjNjNiNzg4ZDU0MTljMDIzNDRiZDQ4MGU5ODMwYzhkZmI0YzBhMTQ5NWFiMmUxNWFkMjNmMTg1YmQ5YWEyNGM1ZTdkNTI0ZTVlYjc1ZTVhMjhkYTE5MjFiNDU0MzRjODI3NjY0YTgwZWEzMjMyNGQ2NDUyOGNjMQ=="
}
}

示例返回体结构#

{
"detail": {
"encryptType": "SM4",
"encryptData": "ZTY5M2E5YWIwZDIwYjU0OWJlYWVhNDg0NTMzYWIyMDU1N2RhZmQ0ZGM4OGY0NjNmMDFjZjI1MTA3YTdkMGY2ZmIyNzA2MDY0MDg1MGU2YmVhNGNmMjIyZjBhNGUyMGE2MWZkODNmYWNmZDA0YTFkNmI5Y2JhYWFmN2YzODVhYTk="
},
"code": 1100,
"message": "成功",
"requestId": "6f58f1d7540cfc6b5d7acc563d6efb6e",
"riskLevel": "PASS"
}

通过遵循上述指南,您可以确保敏感数据在传输过程中得到有效的保护,满足组织的安全合规要求。

附录: 国家码与国家对应关系表#

国家码(newCountryCode)国家(intl_phone_country)国家码(newCountryCode)国家(intl_phone_country)
0001['美国', '加拿大']0372['爱沙尼亚']
0007['俄罗斯', '哈萨克斯坦']0373['摩尔多瓦']
0020['埃及']0374['亚美尼亚']
0027['南非']0375['白俄罗斯']
0030['希腊']0376['安道尔']
0031['荷兰']0377['摩纳哥']
0032['比利时']0378['圣马力诺']
0033['法国']0379['梵蒂冈']
0034['西班牙']0380['乌克兰']
0036['匈牙利']0381['塞尔维亚']
0039['意大利']0382['黑山']
0040['罗马尼亚']0383['科索沃']
0041['瑞士']0385['克罗地亚']
0043['奥地利']0386['斯洛文尼亚']
0044['英国', '泽西岛', '马恩岛', '根西岛']0387['波黑']
0045['丹麦']0389['北马其顿']
0046['瑞典']0420['捷克']
0047['挪威', '斯瓦尔巴岛和扬马延岛']0421['斯洛伐克']
0048['波兰']0423['列支敦士登']
0049['德国']0500['福克兰群岛', '南乔治亚岛和南桑威奇群岛']
0051['秘鲁']0501['伯利兹']
0052['墨西哥']0502['危地马拉']
0053['古巴']0503['萨尔瓦多']
0054['阿根廷']0504['洪都拉斯']
0055['巴西']0505['尼加拉瓜']
0056['智利']0506['哥斯达黎加']
0057['哥伦比亚']0507['巴拿马']
0058['委内瑞拉']0508['圣皮埃尔和密克隆']
0060['马来西亚']0509['海地']
0061['澳大利亚', '赫德岛和麦克唐纳岛']0590['瓜德罗普', '圣巴泰勒米', '法属圣马丁']
0062['印尼', '印度尼西亚']0591['玻利维亚']
0063['菲律宾']0592['圭亚那']
0064['新西兰']0593['厄瓜多尔']
0065['新加坡']0594['法属圭亚那']
0066['泰国']0595['巴拉圭']
0081['日本']0596['马提尼克']
0082['韩国']0597['苏里南']
0084['越南']0598['乌拉圭']
0086['中国']0599['库拉索', '荷兰加勒比区', '荷属安的列斯']
0090['土耳其']0649['皮特凯恩']
0091['印度']0670['东帝汶']
0092['巴基斯坦']0673['文莱']
0093['阿富汗']0674['瑙鲁']
0094['斯里兰卡']0675['巴布亚新几内亚']
0095['缅甸']0676['汤加']
0098['伊朗']0677['所罗门群岛']
0210['西撒哈拉']0678['瓦努阿图']
0211['南苏丹']0679['斐济']
0212['摩洛哥']0680['帕劳']
0213['阿尔及利亚']0682['库克群岛']
0216['突尼斯']0683['纽埃']
0218['利比亚']0685['萨摩亚']
0220['冈比亚']0686['基里巴斯']
0221['塞内加尔']0687['新喀里多尼亚']
0222['毛里塔尼亚']0688['图瓦卢']
0223['马里']0689['法属波利尼西亚', '法属南部领地']
0224['几内亚']0690['托克劳']
0225['科特迪瓦']0691['密克罗尼西亚联邦']
0226['布基纳法索']0692['马绍尔群岛']
0227['尼日尔']0850['朝鲜']
0228['多哥']0852['中国']
0229['贝宁']0853['中国']
0230['毛里求斯']0855['柬埔寨']
0231['利比里亚']0856['老挝']
0232['塞拉利昂']0880['孟加拉国', '孟加拉']
0233['加纳']0886['中国']
0234['尼日利亚']0960['马尔代夫']
0235['乍得']0961['黎巴嫩']
0236['中非']0962['约旦']
0237['喀麦隆']0963['叙利亚']
0238['佛得角']0964['伊拉克']
0239['圣多美和普林西比']0965['科威特']
0240['赤道几内亚']0966['沙特阿拉伯']
0241['加蓬']0967['也门']
0242['刚果共和国', '刚果布']0968['阿曼']
0243['刚果民主共和国', '刚果金']0970['巴勒斯坦']
0244['安哥拉']0971['阿联酋']
0245['几内亚比绍']0972['以色列']
0246['英属印度洋领地']0973['巴林']
0248['塞舌尔']0974['卡塔尔']
0249['苏丹']0975['不丹']
0250['卢旺达']0976['蒙古']
0251['埃塞俄比亚']0977['尼泊尔']
0252['索马里']0992['塔吉克斯坦']
0253['吉布提']0993['土库曼斯坦']
0254['肯尼亚']0994['阿塞拜疆']
0255['坦桑尼亚']0995['格鲁吉亚']
0256['乌干达']0996['吉尔吉斯斯坦']
0257['布隆迪']0998['乌兹别克斯坦']
0258['莫桑比克']1242['巴哈马']
0260['赞比亚']1246['巴巴多斯']
0261['马达加斯加']1264['安圭拉']
0262['留尼汪']1268['安提瓜和巴布达']
0263['津巴布韦']1284['英属维尔京群岛']
0264['纳米比亚']1340['美属维尔京群岛']
0265['马拉维']1345['开曼群岛']
0266['莱索托']1441['百慕大']
0267['博茨瓦纳']1473['格林纳达']
0268['斯威士兰']1649['特克斯和凯科斯群岛']
0269['马约特', '科摩罗']1664['蒙塞拉特岛']
0290['圣赫勒拿']1670['北马里亚纳群岛']
0291['厄立特里亚']1671['关岛']
0297['阿鲁巴']1681['瓦利斯和富图纳']
0298['法罗群岛']1684['美属萨摩亚']
0299['格陵兰']1721['荷属圣马丁']
0350['直布罗陀']1758['圣卢西亚']
0351['葡萄牙']1767['多米尼克']
0352['卢森堡']1784['圣文森特和格林纳丁斯']
0353['爱尔兰']1787['波多黎各']
0354['冰岛']1809['多米尼加']
0355['阿尔巴尼亚']1868['特立尼达和多巴哥']
0356['马耳他']1869['圣基茨和尼维斯']
0357['塞浦路斯']1876['牙买加']
0358['芬兰', '奥兰']6721['南极洲']
0359['保加利亚']6722['科科斯(基林)群岛']
0370['立陶宛']6723['诺福克岛']
0371['拉脱维亚']6724['圣诞岛']

在线咨询