文本防刷版开发文档
防刷版说明
防刷版将融合反作弊能力综合判定内容安全检测结果,目前易盾支持如下两种防刷版接入方式,对比如下:
API防刷版 | SDK防刷版 | |
---|---|---|
接入方式 | 服务器API接口 | 前端接入SDK+服务器API接口 |
传入参数 | 防刷字段(手机号、账号、IP)+自有设备信息(deviceid、deviceType)+自定义扩展字段 | 易盾SDK的token+防刷字段(手机号、账号、IP)+自定义扩展字段 |
优势说明 | 接入简单 | 易盾SDK可获取更多设备信息,效果更有保障 |
效果说明 | 对比非防刷版,效果有较高提升 | 对比非防刷版,效果显著提升 |
请根据自身产品情况选择接入不同模式的防刷版检测,API防刷版请直接从步骤2:接入文本检测API 开始接入。
SDK防刷版-开发流程图
步骤1:接入反作弊SDK
接入请参考:http://support.dun.163.com/documents/15588071870066688?docId=70966851765719040&locale=zh-cn
步骤2:接入文本检测API
接口地址
http://as.dun.163.com/v4/text/check
接口描述
建议您使用POST请求, 且仅接受 application/x-www-form-urlencoded 编码格式。
根据发布的内容、发布者、ip、设备id等信息来检测是否为需拦截内容。接口同步返回易盾内容安全服务实时反垃圾引擎检测结果,产品可以根据该结果对数据进行初步过滤。该接口返回结果状态分以下三种:
- 不通过:表示是确认内容非法,产品可对数据做删除隐藏处理。
- 嫌疑:表示该内容疑似非法,需内容安全云服务离线检测模块进一步确认处理,确认结果需产品自行定期调用文本人工检测结果获取获取,产品对嫌疑数据可以做特殊策略处理,如本人可见等。
- 通过:反垃圾云服务实时反垃圾引擎未识别为非法内容,产品对该类数据可以直接放过,发表成功。反垃圾云服务离线检测模块也会对这些数据做进一步分析处理,分析结果需产品自行定期调用文本人工检测结果获取获取。
文本限制
单次请求<10000字符,字段长度超过10000字符,会截取前面10000字符进行检测和存储;
请求参数
公共参数已省略,详细见 请求公共参数,其他参数如下:
基本参数
参数名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
dataId | String | Y | 128 | 数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给客户经理查询 |
content | String | Y | 5000 | 用户发表内容,建议对内容中JSON、表情符、HTML标签、UBB标签等做过滤,只传递纯文本,以减少误判概率 |
title | String | N | 512 | 内容标题,适用于贴子、博客的文章标题等场景,建议抄送,辅助机审策略精准调优 |
dataType | Number | N | 4 | 子数据类型,与易盾内容安全服务约定即可 |
version | String | Y | 4 | 接口版本号,可选值 v4.2 |
callback | String | N | 2^16-1 | 数据回调参数,调用方根据业务情况自行设计,当调用文本离线结果获取接口时,该接口会原样返回该字段,详细见文本离线检测结果获取。作为数据处理标识,因此该字段应该设计为能唯一定位到该次请求的数据结构,如对用户的昵称进行检测,dataId可设为用户标识(用户ID),用户修改多次,每次请求数据的dataId可能一致,但是callback参数可以设计成定位该次请求的数据结构,比如callback字段设计成json,包含dataId和请求的时间戳等信息,当然如果不想做区分,也可以直接把callback设置成dataId的值。 |
publishTime | Number | N | 13 | 发表时间,UNIX 时间戳(毫秒值) |
callbackUrl | String | N | 256 | 人工审核结果回调通知到客户的URL。主动回调数据接口超时时间设置为2s,为了保证顺利接收数据,需保证接收接口性能稳定并且保证幂等性。 |
checkLabels | String | N | 512 | 业务过检分类,如果没有勾选分类提交返回参数错误,您可指定多个垃圾类别进行机器检测,多个垃圾类别以逗号分隔("100,200"),指定后业务配置过检分类即失效,过检分类列表:100:色情,200:广告,260:广告法,300:暴恐,400:违禁,500:涉政,600:谩骂,700:灌水 |
用户扩展参数
根据用户信息输出用户画像,并与易盾自有画像库比对,辅助反垃圾结果判定
参数名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
ip | String | N | 128 | 用户IP地址,防刷版专属字段,建议抄送 |
account | String | N | 128 | 用户唯一标识,与易盾账号画像库匹配,建议抄送,辅助机审策略精准调优 |
phone | string | N | 64 | 手机号,与易盾风险库匹配,防刷版专属字段,建议抄送 |
nickname | String | N | 128 | 用户昵称,建议抄送,辅助机审策略精准调优 |
gender | Number | N | 4 | 用户性别,0未知,1男,2女,在社交、直播场景建议抄送,辅助策略精准调优 |
age | Number | N | 4 | 用户年龄,0未知,在社交场景建议抄送,辅助策略精准调优 |
level | Number | N | 4 | 用户等级,0未知,1初级,2中级,3高级,其他值请与易盾策略约定,建议抄送,辅助策略精准调优 |
registerTime | Number | N | 13 | 注册时间,UNIX 时间戳(毫秒值) |
friendNum | Number | N | 20 | 好友数,在社交、直播场景中使用,建议抄送 |
fansNum | Number | N | 20 | 粉丝数,在社交、直播场景中使用,建议抄送 |
isPremiumUse | Number | N | 4 | 是否付费用户,0为默认值,1为付费,建议抄送,易盾将结合该信息综合判断 |
role | string | N | 32 | 用户类型角色,可针对不同的角色配置不同的策略。角色与易盾策略约定即可 |
设备扩展参数
根据设备信息输出设备画像,并与易盾自有设备画像库比对,辅助反垃圾结果判定
参数名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
token | String | N | 256 | 来自易盾反作弊SDK返回的token,SDK防刷版建议必传,若接入API防刷版,则为空 |
deviceId | String | N | 128 | 用户设备 id,与易盾设备画像库匹配,明文请转大写传入;MD5加密请明文转大写后MD5计算,再转大写传入,建议抄送 |
deviceType | Number | N | 4 | 用户设备id的类型,0:其他,10:IMEI,11:AndroidID,12:IDFA,13:IDFV,14:MAC ,20:IMEI_MD5,21:AndroidID_MD5,22:IDFA_MD5,23:IDFV_MD5,24:MAC_MD5 |
mac | String | N | 64 | 用户设备mac信息,与易盾设备画像库匹配,建议抄送 |
imei | String | N | 64 | 国际移动设备识别码,与易盾设备画像库匹配,建议抄送 |
idfa | String | N | 64 | iOS设备标识码,与易盾设备画像库匹配,建议抄送 |
idfv | String | N | 64 | iOS设备标识码 ,与易盾设备画像库匹配,建议抄送 |
场景扩展参数
场景扩展参数,有助于通过业务场景维度辅助反垃圾结果判定
参数名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
receiveUid | String | N | 64 | 接受消息的用户标识,私聊/评论回复场景使用,易盾可根据该id关联检测,辅助机审策略精准调优 |
groupId | String | N | 32 | 群聊id,群聊场景使用,建议抄送,辅助机审策略精准调优 |
roomId | String | N | 32 | 聊天室/直播/游戏房间,派对房/直播场景使用,可根据不同的房间设置不同策略,建议抄送,辅助机审策略精准调优 |
topic | String | N | 128 | 文章/帖子id,发帖/动态场景使用,易盾可根据该id,关联检测,辅助机审策略精准调优 |
commentId | String | N | 32 | 主评论id,围绕主评论盖楼场景使用,建议抄送,辅助机审策略精准调优 |
commodityId | String | N | 32 | 商品id,直播卖货/商品介绍场景使用,可根据商品类型设置策略,建议抄送,辅助机审策略精准调优 |
relatedKeys | String | N | 512 | String数组,多个关联Key以逗号分隔("xxx,xxx"),最多三个Key,单个Key长度不超过128,适用于私聊/评论/跟帖等情况同一用户或不同用户发送多条违规内容关联检测的场景。如需要检测同一评论下的同一用户或不同用户发送违规内容盖楼场景,Key传值方式可以为("评论ID用户ID,评论ID") |
extStr1 | String | N | 128 | 自定义扩展参数 |
extStr2 | String | N | 128 | 自定义扩展参数 |
extLon1 | Long | N | 2^63-1 | 自定义扩展参数 |
extLon1 | Long | N | 2^63-1 | 自定义扩展参数 |
云信IM开启反作弊检测参数
参数名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
token | String | N | 256 | 来自易盾反作弊SDK返回的token,SDK防刷版建议必传,若接入API防刷版,则为空 |
phone | String | N | 64 | 手机号,与易盾风险库匹配,防刷版专属字段,建议抄送 |
String | N | 64 | 用户邮箱 | |
extension | json | N | 512 | 反作弊自定义扩展字段,请参考上述用户,设备,场景拓展参数 |
响应结果
响应字段如下,响应通用字段已省略,详细见响应通用字段:
result数据结构
参数名称 | 类型 | 描述 |
---|---|---|
antispam | json对象 | 文本反垃圾检测结果 |
anticheat | json对象 | 反作弊检测结果,如有需要请联系您的专属商务,未开通状态下此数组返回为空 |
emotionAnalysis | json对象 | 情感分析检测结果,如有需要请联系您的专属商务,未开通状态下此数组返回为空 |
userRisk | json对象 | 用户画像检测结果,如有需要请联系您的专属商务,未开通状态下此数组返回为空 |
反垃圾结果
antispam 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
action | Number | 检测结果,0:通过,1:嫌疑,2:不通过 |
censorType | Number | 审核模式,0:纯机审,1:机审+部分人审,2:机审+全量人审 |
strategyVersion | String | 策略版本号,策略更新时该参数会更新,可用于追溯策略调优效果 |
taskId | String | 本次请求数据标识,可以根据该标识查询数据最新结果 |
lang | json数组 | 语种代码数组,详见 语种代码表 |
isRelatedHit | boolean | 是否关联检测命中,true:关联检测命中,false:原文命中 |
labels | json数组 | 分类信息 |
labels 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
label | Number | 分类信息,100:色情,200:广告,260:广告法,300:暴恐,400:违禁,500:涉政,600:谩骂,700:灌水,900:其他,1100:涉价值观 |
subLabels | json数组 | 细分类信息,可能包含多个,可能为空 |
level | Number | 分类级别,0:通过, 1:嫌疑,2:不通过 |
details | json对象 | 其他信息 |
subLabels 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
subLabel | Number | 细分类,详细编码请参考下方对应细分类编码对应表 |
自定义细分类
易盾支持subLabel自定义细分类过检并返回,如有需求,可联系您的专属安全策略经理添加。
details 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
hint | json数组 | 线索信息,用于定位文本中有问题的部分,辅助人工审核 |
hitInfos | json数组 | 线索详细信息 |
hitInfos 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
hitType | Number | 线索分类信息,返回10:表示命中用户自定义添加用户名单,返回11:表示命中用户自定义添加ip名单,返回30:表示命中用户自定义添加敏感词,返回140:标识命中反作弊(hitReason为反作弊命中原因,1:数据异常 2:行为模型 3:设备模型 4:业务类型 5:校验异常 6:模拟器 7:越狱或root 8:浏览器异常 9:ip异常 10:易盾黑名单 11:自定义黑名单 12:自定义白名单) |
hitClues | String | hitTyp命中30自定义添加敏感词,返回命中的自定义敏感词内容,如果没有命中hitType:30,则不返回该字段 |
情感分析结果
emotionAnalysis 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
taskId | String | 本次请求数据标识,可以根据该标识查询数据最新结果 |
sentiment | String | negative(负向情绪),neutral(中性情绪),positive(正向情绪),unknown(未知) |
positiveProb | Number | 0~1,代表正向情绪倾向,分数越高,正向情绪越高 |
negativeProb | number | 0~1,代表负向情绪倾向,分数越高,负向情绪越高 |
反作弊结果
anticheat 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
taskId | String | 本次请求数据标识,可以根据该标识查询数据最新结果 |
action | Number | 检测结果,0:通过,10:嫌疑,20:不通过 |
hitInfos | List | 命中信息,例如:[{"hitType":5,"hitMsg":"无SDK数据"}],其中hitType类型为int,含义是命中类型,详见 hitType返回码及含义表 ,hitMsg类型为String,含义是命中详情,可定制返回值。 |
用户画像结果
userRisk 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
taskId | String | 本次请求数据标识,可以根据该标识查询数据最新结果 |
dataId | String | 本次请求提交的客户数据标识 |
account | String | 用户账号信息 |
accountLevel | Number | 用户账号风险等级,0:正常,1:嫌疑,2:确定 |
响应示例
结果为不通过时,输出示例如下:
{
"code":200,
"msg":"ok",
"result":{
"antispam":{
"taskId":"fx6sxdcd89fvbvg4967b4787d78a",
"action":1,
"censorType":0,
"lang":[
"en",
"vi"
],
"isRelatedHit":false,
"labels":[
{
"label":100,
"level":1,
"details":{
"hint":[
"xxx,ooo"
],
"hitInfos":[
]
},
"subLabels":[
{
"subLabel":"100002"
}
]
}
]
},
"emotionAnalysis":{
"taskId":"fx6sxdcd89fvbvg4967b4787d78a",
"sentiment":"positive",
"positiveProb":0.95,
"negativeProb":0.05
},
"anticheat":{
"taskId":"fx6sxdcd89fvbvg4967b4787d78a",
"action":0,
"hitInfos":[
{
"hitType":0
}
]
},
"userRisk":{
}
}
}
结果为通过时,输出示例如下:
{
"code":200,
"msg":"ok",
"result":{
"antispam":{
"taskId":"fx6sxdcd89fvbvg4967b4787d78a",
"action":0,
"censorType":0,
"lang":[
"en",
"vi"
],
"isRelatedHit":false,
"labels":[]
},
"emotionAnalysis":{
"taskId":"fx6sxdcd89fvbvg4967b4787d78a",
"sentiment":"positive",
"positiveProb":0.95,
"negativeProb":0.05
},
"anticheat":{
"taskId":"fx6sxdcd89fvbvg4967b4787d78a",
"action":0,
"hitInfos":[
{
"hitType":0
}
]
},
"userRisk":{
}
}
}