单次同步检测
2024.11.21 16:52:06
易盾内容安全文本单次同步检测接口可以根据发布的内容、发布者、ip、设备等信息来检测是否为需拦截内容。接口同步返回易盾内容安全服务实时内容安全引擎检测结果,产品可以根据该结果对数据进行初步过滤。
接口说明
对于需要进行初步过滤的数据,该接口同步返回文本检测结果,建议http协议接口调用,该接口返回的文本结果状态分以下三种:
- 不通过:表示是确认内容非法,产品可对数据做删除隐藏处理
- 嫌疑:表示该内容疑似非法,需内容安全云服务离线检测模块进一步确认处理,确认结果需产品自行定期调用文本结果获取接口-轮询模式或文本结果获取接口-推送模式获取,产品对嫌疑数据可以做特殊策略处理,如本人可见等
- 通过:表示内容安全云服务实时引擎未识别为非法内容,产品对该类数据可以直接放过,发表成功。内容安全云服务离线检测模块也会对这些数据做进一步分析处理,分析结果需产品自行定期调用文本结果获取接口-轮询模式或文本结果获取接口-推送模式获取
鉴权说明
易盾内容安全服务使用签名方法对接口进行鉴权,所有接口每一次请求都需要包含签名信息(signature参数),以验证用户身份,防止信息被恶意篡改。目前支持MD5,SHA1,SHA256,SM3几种加密算法,详细信息,请参见接口鉴权
文本要求
- 文本限制:单次请求≤1万字符,字段长度超过1万字符,需要您自行截取前面1万字符再进行检测和存储
检测耗时
文本检测接口的响应时间依赖文本的长度,根据不同长度建议适当调整接口超时时间,200字以内建议200ms,200字以上建议1s
历史版本
请求
请求地址
名称 | 值 |
---|---|
HTTP URL | http://as.dun.163.com/v5/text/check |
HTTP Method | POST |
请求头
名称 | 类型 | 描述 |
---|---|---|
Content-Type | String | 固定值:"application/x-www-form-urlencoded" |
请求参数
请求参数由公共参数和业务参数两部分组成
公共参数
公共参数包含密钥信息和参数签名信息,公共参数详细见请求公共参数
业务参数
名称 | 类型 | 是否必填 | 最大长度 | 描述 |
---|---|---|---|---|
dataId | String | 是 | 128 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
content | String | 是 | 10000 | 用户发表内容,建议对内容中json、表情符、HTML标签、UBB标签等做过滤,只传递纯文本,以减少误判概率 |
relateContext | String | 否 | 10000 | 用户传入的关联检测历史文本,用于和新一段文本关联过检,如有需要请联系对应策略经理配置,本字段才会生效 |
title | String | 否 | 512 | 内容标题,适用于帖子、博客的文章标题等场景,建议抄送,辅助机审策略精准调优 |
dataType | Number | 否 | 4 | 子数据类型,用于区分过滤标注完全一致的不同模块数据,与易盾内容安全服务约定即可 |
version | String | 是 | 4 | 接口版本号,可选值v5.3 |
callback | String | 否 | 2^16-1 | 数据回调参数,调用方根据业务情况自行设计,当调用文本结果获取接口-轮询模式或文本结果获取接口-推送模式时,该接口会原样返回该字段,详细见文本离线检测结果获取。作为数据处理标识,因此该字段应该设计为能唯一定位到该次请求的数据结构,如对用户的昵称进行检测,dataId可设为用户标识(用户ID),用户修改多次,每次请求数据的dataId可能一致,但是callback参数可以设计成定位该次请求的数据结构,比如callback字段设计成json,包含dataId和请求的时间戳等信息,当然如果不想做区分,也可以直接把callback设置成dataId的值 |
publishTime | Number | 否 | 13 | 发表时间,UNIX 时间戳(毫秒值) |
callbackUrl | String | 否 | 256 | 人工审核结果回调通知到客户的URL。主动回调数据接口超时时间设置为2s,为了保证顺利接收数据,需保证接收接口性能稳定并且保证幂等性 |
censorExt | String | 否 | 1024 | 人审标签扩展字段,可传入任意标签内容,用于在人审模板(审核模板配置请参考人工审核模板高级配置)时指定数据并配置特殊审核逻辑。一次传入支持多个标签,标签间使用英文逗号","隔开,不支持大写英文字母,请全部使用小写 |
checkLabels | String | 否 | 512 | 业务自定义过检分类,请谨慎写入,并与策略经理充分沟通,以免引起漏判,如果没有勾选分类提交返回参数错误,您可指定多个垃圾类别进行机器检测,多个垃圾类别以逗号分隔("100,200"),指定后业务配置过检分类即失效,过检分类列表,100:色情,200:广告,260:广告法,300:暴恐,400:违禁,500:涉政,600:谩骂,700:灌水,900:其他,1100:涉价值观 |
checkStrategyGroupIds | String | 否 | 512 | 业务指定过检策略组id,多个策略组id以逗号分隔("xxx,xxx"),最多支持传20个 |
category | String | 否 | 128 | 来源,用于展示渠道名称,应用名称等 |
subProduct | String | 否 | 32 | 业务结算id(自定义),业务方传入参数,用于资源账单统计,如需开启请联系易盾策略经理。开启之后资源账单按套餐结算sheet增加subProduct维度的数据请求量、检测量、消耗金额的统计 |
token | String | 否 | 256 | 内容安全与反作弊融合版专属字段,来自易盾反作弊SDK返回的token,接入SDK必传,请联系您的专属策略经理获取相关开发文档 |
riskControlToken | String | 否 | 15000 | 来自易盾智能风控SDK返回的token,接入SDK必传,接入流程请参考智能风控融合版说明文档,建议客户端获取token后30分钟内及时提交检测。 |
riskControlBusinessId | String | 否 | 256 | 调用易盾智能风控getToken时使用智能风控业务id,接入流程请参考智能风控融合版说明文档 |
业务扩展参数
建议您将发布内容的用户信息、设备信息、场景信息同步传入,易盾将结合用户风险画像、设备风险画像、场景化策略全方位检测内容风险,检测结果更精准。请参见业务扩展参数
请求体示例
content=网易易盾&version=v5.3&dataId=163&signature=xxx&secretId=xxx&businessId=xxx×tamp=1646984669446&nonce=12353
响应
响应结果
响应字段如下,响应通用字段已省略,详细见响应公共字段:
名称 | 类型 | 是否返回 | 最低版本 | 描述 |
---|---|---|---|---|
result | Object | 是 | v5.1 | 文本回调结果 |
∟ antispam | Object | 是 | v5.1 | 文本内容安全检测结果 |
∟ taskId | String | 是 | v5.1 | 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟ dataId | String | 是 | v5.1 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟ suggestion | Number | 是 | v5.1 | 建议动作,0:通过,1:嫌疑,2:不通过 |
∟ label | Number | 是 | v5.1 | 命中分类,分类信息,100:色情,200:广告,260:广告法,300:暴恐,400:违禁,500:涉政,600:谩骂,700:灌水,900:其他,1100:涉价值观 |
∟ secondLabel | String | 否 | v5.3 | 命中二级标签细分类 |
∟ thirdLabel | String | 否 | v5.3 | 命中三级标签细分类 |
∟ customAction | Number | 否 | v5.1 | 自定义动作,0:通过,2:不通过。customAction字段用于saas审核系统-机审标准集中的自定义调度功能,将易盾机器检测嫌疑结果通过配置映射为业务自己的自定义动作,可参考图片流程:https://nos.netease.com/yidun/bceb8815e1f50c2339899976e9a2ec28.png |
∟ suggestionLevel | Number | 否 | v5.2 | 嫌疑级别,针对部分定制策略支持命中嫌疑时返回,1:低嫌疑,2:高嫌疑,对通用策略、模型结果暂不支持,v5.2版本新增,默认不返回,如果需要返回请联系策略经理配置 |
∟ resultType | Number | 是 | v5.1 | 结果类型,1:机器结果,2:人审结果 |
∟ censorType | Number | 是 | v5.1 | 审核模式,0:纯机审,1:机审+部分人审,2:机审+全量人审 |
∟ strategyVersions | Object[] | 否 | v5.1 | 策略版本号,策略更新时该参数会更新,可用于追溯策略调优效果。如需开启请联系策略经理 |
∟ label | Number | 是 | v5.1 | 示例值:100,分类信息,100:色情,200:广告,260:广告法,300:暴恐,400:违禁,500:涉政,600:谩骂,700:灌水,900:其他,1100:涉价值观 |
∟ version | String | 是 | v5.1 | 版本号 |
∟ isRelatedHit | Boolean | 是 | v5.1 | 是否命中关联检测,true:关联检测命中,false:原文命中 |
∟ relatedHitType | Number | 否 | v5.1 | 关联检测命中类型,开启关联检测后返回。1:关联检测命中且原文命中,2:关联检测命中且原文没命中,3:关联检测没命中且原文命中 |
∟ filteredContent | String | 否 | v5.3 | 过滤后文本内容,当命中信息中包含敏感词时,将敏感词内容用*代替后返回,*号数量与敏感词字数相同;若未命中敏感词,则不返回 |
∟ mergeHints | String[] | 否 | v5.3 | 文本命中线索内容,若文本多个位置内容存在风险,会将所有线索内容合并在一起返回 |
∟ labels | Object[] | 是 | v5.1 | 命中的分类信息,检测通过情况labels默认返回为空 |
∟ label | Number | 是 | v5.1 | 命中分类,分类信息,100:色情,200:广告,260:广告法,300:暴恐,400:违禁,500:涉政,600:谩骂,700:灌水,900:其他,1100:涉价值观 |
∟ rate | Number | 是 | v5.2 | 置信度分数,0-1之间取值,1为置信度最高,0为置信度最低(v5.2及以上开始支持) |
∟ level | Number | 是 | v5.1 | 命中级别,示例值:1:嫌疑,2:不通过,0:正常,特殊策略下可返回“level=0”的数据,如果需要返回可以找策略经理配置 |
∟ subLabels | Object[] | 否 | v5.1 | 细分类信息,可能包含多个 |
∟ subLabel | String | 是 | v5.1(v5.3及以上开始支持返回三级标签) | 末级标签,可能是二级或三级(v5.3及以上开始支持返回三级标签),层级见subLabelDepth,详细编码请参考标签对照表,请定期通过标签接口获取最新的标签信息,避免遗漏新标签风险 |
∟ subLabelDepth | Number | 是 | v5.3 | 末级标签的标签层级,目前支持的层级:2,3;v5.3及以上开始支持 |
∟ secondLabel | String | 是 | v5.3 | 命中二级标签细分类 |
∟ thirdLabel | String | 否 | v5.3 | 命中三级标签细分类 |
∟ rate | Number | 否 | v5.2 | 置信度分数,0-1之间取值,1为置信度最高,0为置信度最低(v5.2及以上支持) |
∟ politicalSentiment | Number | 否 | v5.2 | 涉政正负向属性,正向-0、负向-1、中性-2。如有需要请联系您的专属商务,未开通状态下不返回(v5.2及以上开始支持) |
∟ details | Object | 否 | v5.1 | 命中的详细信息 |
∟ keywords | Object[] | 否 | v5.1 | 命中的敏感词信息 |
∟ word | String | 是 | v5.1 | 自定义敏感词内容 |
∟ libInfos | Object[] | 否 | v5.3 | 命中的自定义库信息 |
∟ type | Number | 是 | v5.3 | 库类型,1:自定义用户名单库,2:自定义ip名单库 |
∟ entity | String | 是 | v5.3 | 自定义用户名单信息,自定义ip名单信息 |
∟ releaseTime | Number | 是 | v5.3 | 名单解封时间,时间戳单位毫秒 |
∟ anticheat | Object | 否 | v5.1 | 命中的反作弊信息 |
∟ type | Number | 是 | v5.1 | 反作弊命中类型,详见hitType返回码及含义表 |
∟ rules | Object[] | 否 | v5.3 | 命中用户自定义的规则信息 |
∟ name | String | 是 | v5.3 | 规则名 |
∟ hitInfos | Object[] | 否 | v5.1 | 命中的线索信息 |
∟ value | String | 是 | v5.1 | 线索内容 |
∟ positions | Object[] | 是 | v5.1 | 线索位置,数据起始位置为0,如果返回线索信息中包含emoij表情,一般emoij表情占2位 |
∟ fieldName | String | 是 | v5.1 | 位置类型,content:正文,title:标题 |
∟ startPos | Number | 是 | v5.1 | 线索开始坐标 |
∟ endPos | Number | 是 | v5.1 | 线索结束坐标 |
∟ emotionAnalysis | Object | 否 | v5.1 | 文本情感分析检测结果,如有需要请联系您的专属商务,未开通状态下不返回 |
∟ taskId | String | 是 | v5.1 | 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟ dataId | String | 是 | v5.1 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟ details | Object[] | 否 | v5.1 | 命中的详细信息 |
∟ positiveProb | Number | 是 | v5.1 | 正向情绪倾向,取值0-1,分数越高,正向情绪越高 |
∟ negativeProb | Number | 是 | v5.1 | 负向情绪倾向,取值0-1,分数越高,负向情绪越高 |
∟ sentiment | String | 是 | v5.1 | 情感类型,negative(负向情绪),neutral(中性情绪),positive(正向情绪),unknown(未知) |
∟ anticheat | Object | 否 | v5.1 | 文本反作弊检测结果,如有需要请联系您的专属商务,未开通状态下不返回 |
∟ taskId | String | 是 | v5.1 | 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟ dataId | String | 是 | v5.1 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟ details | Object[] | 否 | v5.1 | 命中的详细信息 |
∟ suggestion | Number | 是 | v5.1 | 检测结果,0:通过,10:嫌疑,20:不通过 |
∟ hitInfos | Object[] | 是 | v5.1 | 命中信息 |
∟ hitType | Number | 是 | v5.1 | 反作弊命中类型,详见hitType返回码及含义表 |
∟ hitMsg | String | 是 | v5.1 | 反作弊命中详情,可定制返回值 |
∟ userRisk | Object | 否 | v5.1 | 文本用户画像检测结果,如有需要请联系您的专属商务,未开通状态下不返回 |
∟ taskId | String | 是 | v5.1 | 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟ dataId | String | 是 | v5.1 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟ details | Object[] | 否 | v5.1 | 命中的详细信息 |
∟ account | String | 否 | v5.1 | 账号信息 |
∟ accountLevel | Number | 否 | v5.1 | 账号等级,0:低风险,1:中风险,2:高风险 |
∟ acDetails | Object[] | 否 | v5.1 | 风险详情,如果同时命中多个类型,则会返回所有风险信息 |
∟ riskType | String | 是 | v5.1 | yin_liu_hei_chan(引流黑产),qi_zha_xian_yi(欺诈嫌疑),she_jiao_la_ren(社交拉人) |
∟ riskLevel | Number | 是 | v5.1 | 账号等级,0:低风险,1:中风险,2:高风险 |
∟ riskScore | String | 是 | v5.1 | 风险分值 0-1 |
∟ language | Object | 否 | v5.1 | 文本语种检测结果,如有需要请联系您的专属商务,未开通状态下不返回 |
∟ taskId | String | 是 | v5.1 | 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟ dataId | String | 是 | v5.1 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟ details | Object[] | 否 | v5.1 | 命中的详细信息 |
∟ type | String | 是 | v5.1 | 语种代码详见,语种代码表 |
∟ riskControl | Object | 否 | v5.5 | 智能风控检测结果,如有需要请联系您的专属商务,未开通状态下不返回(v5.5及以上版本支持) |
∟ taskId | String | 是 | v5.5 | 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟ dataId | String | 是 | v5.5 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟ details | Object[] | 否 | v5.5 | 智能风控命中详情 |
∟ riskLevel | Number | 是 | v5.5 | 风险等级:0 正常,1 低风险,2 中风险,3 高风险,4 可信源。 风险等级只会返回一个,取本次命中的最高风险等级 |
∟ hitInfos | Object[] | 否 | v5.5 | 备注 |
∟ type | String | 是 | v5.5 | 命中的风险标签编号 |
∟ name | String | 是 | v5.5 | 命中的风险标签对应的名称,命中的标签的上下级名称采用‘-’进行拼接 |
∟ aigcPrompt | Object | 否 | v5.1 | aigc提示分析结果,如有需要请联系您的专属商务,未开通状态下不返回 |
∟ taskId | String | 是 | v5.1 | 易盾侧机审数据唯一标识,能够根据该值定位到该条数据,如对检测结果有异议,可以发送该值给策略经理查询 |
∟ dataId | String | 是 | v5.1 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟ details | Object[] | 是 | v5.1 | aigc提示分析详情 |
∟ type | Number | 是 | v5.1 | prompt分类的枚举值,1, "需拦截" 2, "需正向引导" 3, "准确回答" 4, "需拦截/正向引导" |
∟ answer | String | 否 | v5.1 | 回答 |
∟ source | Number | 否 | v5.1 | 标记对外输出内容由知识库结果还是大模型生成的结果(0代表知识库,1代表大模型,2代表自定义代答知识库) |
∟ libId | String | 否 | v5.1 | 代答知识库的唯一标识,能够根据该值定位到该条知识库信息,如果对数据结果有异议,可以发送改值给策略经理查询 |
∟ answerId | String | 否 | v5.1 | 代答知识库内每个答案的唯一标识,能够根据该值定位到该条答案信息,如果对数据结果有异议,可以发送改值给策略经理查询 |
响应体示例
{
"code":200,
"msg":"ok",
"result":{
"antispam":{
"dataId":"1678256782070",
"suggestion":1,
"customAction":0,
"censorType":0,
"isRelatedHit":false,
"censorTime":1678256782119,
"resultType":1,
"taskId":"fx6sxdcd89fvbvg4967b4787d78a",
"labels":[
{
"subLabels":[
{
"subLabel":"200009",
"subLabelDepth":2,
"details":{
"hitInfos":[
{
"positions":[
{
"fieldName":"content",
"startPos":0,
"endPos":3
}
],
"value":"加微信"
}
]
},
"secondLabel":"200009"
}
],
"level":1,
"rate":0.5,
"label":200
}
]
},
"emotionAnalysis":{
"taskId":"fx6sxdcd89fvbvg4967b4787d78a",
"dataId":"dataId",
"details":[
{
"positiveProb":0.5,
"negativeProb":0,
"sentiment":"positive"
}
]
},
"anticheat":{
"taskId":"fx6sxdcd89fvbvg4967b4787d78a",
"dataId":"dataId",
"details":[
{
"suggestion":20,
"hitInfos":[
{
"hitType":5,
"hitMsg":"无SDK数据"
}
]
}
]
},
"userRisk":{
"taskId":"hfy5g22yezojhvd8t8kb66qg00309r8q",
"dataId":"dataIdvalue",
"details":[
{
"account":"account",
"accountLevel":1,
"acDetails":[
{
"riskType":"yin_liu_hei_chan",
"riskLevel":2,
"riskScore":0.4
}
]
}
]
},
"language":{
"taskId":"fx6sxdcd89fvbvg4967b4787d78a",
"dataId":"dataId",
"details":[
{
"type":"zh"
}
]
}
}
}
示例代码
服务端 SDK 接入
推荐使用我们提供的服务端 SDK 进行接入(目前支持 Java 和 Go 两种语言),不但可以节省接入成本,实现更快速的集成,并享有灵活的请求配置选项,同时 SDK 内置了错误重试、熔断降级等功能,提升服务可用性。点击 服务端 SDK 接入指引 了解更多。