图片防刷版开发文档
防刷版说明
防刷版将融合反作弊能力综合判定内容安全检测结果,目前易盾支持如下两种防刷版接入方式,对比如下:
API防刷版 | SDK防刷版 | |
---|---|---|
接入方式 | 服务器api接口 | 前端接入SDK+服务器API接口 |
获取信息 | 防刷字段(手机号、邮箱号、用户名、IP)+自定义扩展字 | 设备基本信息+设备指纹+防刷业务数据防刷字段(手机号、邮箱号、用户名、IP)+自定义扩展字 |
优势说明 | 接入简单 | 获取信息更多 |
效果说明 | 对比非防刷版,效果有较高提升 | 对比非防刷版,效果显著提升 |
请根据自身产品情况选择接入不同模式的防刷版检测;
SDK防刷版开发文档
开发流程图
步骤1:接入反作弊SDK
接入请参考:http://support.dun.163.com/documents/15588071870066688?docId=70966851765719040&locale=zh-cn
步骤2:接入图片检测api,传入反作弊token字段
接口地址
http://as.dun.163.com/v4/image/check
接口描述
建议您使用POST请求, 且仅接受 application/x-www-form-urlencoded 编码格式。
该接口同步返回内容安全服务实时反垃圾引擎检测结果,产品根据图片分类结果,做图片初步过滤。由于网络环境及图片本身大小的影响(建议产品对图片进行压缩后,再过反垃圾检测),部分图片可能出现下载超时情况,该部分数据会返回检测失败,请重新检测。机器离线检测后,可能会有部分不确定的数据需要人工进一步确认。离线检测结果及人工确认结果需产品自行定期调用图片离线检测结果获取。
图片限制
◆ 目前支持的图片文件格式有:jpg, png, bmp, gif, webp, tiff;
◆ 支持图片大小:单张<10M;
◆ 图片尺寸大小:不小于 50px*50px;
◆ gif图长图说明:易盾自动将gif图长图截帧过检,最多5张,gif图长图均按照实际截图张数进行计费;
◆ 长图定义:长宽比大于5的图片
请求参数
公共参数已省略,详细见 请求公共参数
基本参数
参数名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
images | String(json数组) | Y | 32张或10MB | images为json数组,支持批量检测 |
version | String | Y | 4 | 接口版本v4 |
images参数结构说明
字段名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
name | String | Y | 1024 | 图片名称(或图片标识), 该字段为回调信号字段,产品可以根据业务情况自行设计,如json结构、或者为图片url均可 |
type | Number | Y | 4 | 类型,分别为1:图片URL,2:图片BASE64值 |
data | String | Y | 32张或者10MB | 图片内容,如type=1,则该值为图片URL,如type=2,则该值为图片BASE64值。图片URL检测单次请求最多支持32张,图片BASE64值检测单次请求大小限制为最多10MB |
callbackUrl | String | N | 256 | 离线结果回调通知到客户的URL。主动回调数据接口超时时间设置为2s,为了保证顺利接收数据,需保证接收接口性能稳定并且保证幂等性。 |
业务参数
业务扩展参数,有助于通过业务维度辅助反垃圾结果判定,建议传入。
参数名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
用户信息 | - | N | - | 用户信息包含账号、昵称、等级、角色等,请查看 业务扩展参数—用户信息 |
设备信息 | - | N | - | 设备信息包含设备ID、设备ID类型等,请查看 业务扩展参数—设备信息 |
场景信息 | - | N | - | 场景信息包含私聊、群聊、直播、帖子等场景字段,请查看 业务扩展参数—场景信息 |
ip | String | N | 32 | 用户IP地址 |
checkLabels | String数组 | N | 64 | 接口指定过检分类,可多选,指定后业务配置过检分类即失效,过检分类列表:100:色情,110:性感低俗,200:广告,210:二维码,260:广告法,300:暴恐,400:违禁,500:涉政,1100:涉价值观 |
反垃圾防刷版专属字段
如在您的内容检测场景中,存在一定作弊行为,建议开启反垃圾防刷版,如下参数,需开启反垃圾防刷功能后,传入方可生效,如需开启,请联系您的专属商务
参数名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
token | String | N | 256 | 来自易盾反作弊SDK返回的token,接入SDK必传 |
phone | String | N | 11 | 用户手机号 |
String | N | 64 | 用户邮箱 | |
extension | json | N | 512 | 扩展字段 |
响应结果
响应字段如下,响应通用字段已省略,详细见 响应通用字段 :
反垃圾结果
antispam 数组数据结构
参数名称 | 类型 | 描述 |
---|---|---|
name | String | 图片名称(或图片标识) |
taskId | String | 本次请求数据标识,可以根据该标识查询数据最新结果 |
status | Number | 图片检测状态码,定义为:0:检测成功,610:图片下载失败,620:图片格式错误,630:其它 |
action | json对象 | 建议动作,2:建议删除,1:建议审核,0:建议通过 |
labels | json数组 | 分类信息 |
labels 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
label | Number | 分类信息,100:色情,110:性感低俗,200:广告,210:二维码,260:广告法,300:暴恐,400:违禁,500:涉政,900:其他,1100:涉价值观 |
subLabels | json数组 | 细分类信息,可能包含多个,可能为空 |
level | json对象 | 分类级别,0:正常,1:不确定,2:确定 |
rate | Number | 置信度分数,0-1之间取值,1为置信度最高,0为置信度最低。若level为正常,置信度越大,说明正常的可能性越高。若level为不确定或确定,置信度越大,说明垃圾的可能性越高 |
subLabels 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
subLabel | Number | 细分类,详细编码请参考下方对应细分类编码 对照表 |
rate | Number | 置信度分数,0-1之间取值,1为置信度最高,0为置信度最低 |
details | json对象 | hitInfos:命中详细信息,针对subLabel的补充说明 |
自定义细分类
易盾支持sublabel自定义细分类过检并返回,如有需求,可联系您的专属运营经理添加。
API防刷版开发文档
接口地址
http://as.dun.163.com/v4/image/check
接口描述
该接口同步返回内容安全服务实时反垃圾引擎检测结果,产品根据图片分类结果,做图片初步过滤。由于网络环境及图片本身大小的影响(建议产品对图片进行压缩后,再过反垃圾检测),部分图片可能出现下载超时情况,该部分数据会返回检测失败,请重新检测。机器离线检测后,可能会有部分不确定的数据需要人工进一步确认。离线检测结果及人工确认结果需产品自行定期调用图片离线检测结果获取。
图片限制
◆ 目前支持的图片文件格式有:jpg, png, bmp, gif, webp, tiff;
◆ 支持图片大小:单张<10M;
◆ 图片尺寸大小:不小于 50px*50px;
◆ gif图长图说明:易盾自动将gif图长图截帧过检,最多5张,gif图长图均按照实际截图张数进行计费;
◆ 长图定义:长宽比大于5的图片
请求参数
公共参数已省略,详细见 请求公共参数
基本参数
参数名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
images | String(json数组) | Y | 32张或10MB | images为json数组,支持批量检测 |
version | String | Y | 4 | 接口版本v4 |
images参数结构说明
字段名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
name | String | Y | 1024 | 图片名称(或图片标识), 该字段为回调信号字段,产品可以根据业务情况自行设计,如json结构、或者为图片url均可 |
type | Number | Y | 4 | 类型,分别为1:图片URL,2:图片BASE64值 |
data | String | Y | 32张或者10MB | 图片内容,如type=1,则该值为图片URL,如type=2,则该值为图片BASE64值。图片URL检测单次请求最多支持32张,图片BASE64值检测单次请求大小限制为最多10MB |
callbackUrl | String | N | 256 | 离线结果回调通知到客户的URL。主动回调数据接口超时时间设置为2s,为了保证顺利接收数据,需保证接收接口性能稳定并且保证幂等性。 |
业务参数
业务扩展参数,有助于通过业务维度辅助反垃圾结果判定,建议传入。
参数名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
ip | String | N | 32 | 用户IP地址 |
account | String | N | 128 | 用户唯一标识,如果无需登录则为空 |
deviceType | Number | N | 4 | 用户设备类型,1:web, 2:wap, 3:android, 4:iphone, 5:ipad, 6:pc, 7:wp |
deviceId | String | N | 128 | 用户设备 id |
反垃圾防刷版专属字段
如在您的内容检测场景中,存在一定作弊行为,建议开启反垃圾防刷版,如下参数,需开启反垃圾防刷功能后,传入方可生效,如需开启,请联系您的专属商务
参数名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
String | N | 64 | 用户邮箱 | |
phone | String | N | 11 | 用户手机号 |
extension | json | N | 512 | 扩展字段 |
扩展参数
参数名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
checkLabels | String数组 | N | 64 | 接口指定过检分类,可多选,指定后业务配置过检分类即失效,过检分类列表:100:色情,110:性感低俗,200:广告,210:二维码,300:暴恐,400:违禁,500:涉政 |
响应结果
响应字段如下,响应通用字段已省略,详细见 响应通用字段 :
反垃圾结果
antispam 数组数据结构
参数名称 | 类型 | 描述 |
---|---|---|
name | String | 图片名称(或图片标识) |
taskId | String | 本次请求数据标识,可以根据该标识查询数据最新结果 |
status | Number | 图片检测状态码,定义为:0:检测成功,610:图片下载失败,620:图片格式错误,630:其它 |
action | json对象 | 建议动作,2:建议删除,1:建议审核,0:建议通过 |
labels | json数组 | 分类信息 |
labels 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
label | Number | 分类信息,100:色情,110:性感低俗,200:广告,210:二维码,300:暴恐,400:违禁,500:涉政,900:其他 |
subLabels | json数组 | 细分类信息,可能包含多个,可能为空 |
level | json对象 | 分类级别,0:正常,1:不确定,2:确定 |
rate | Number | 置信度分数,0-1之间取值,1为置信度最高,0为置信度最低。若level为正常,置信度越大,说明正常的可能性越高。若level为不确定或确定,置信度越大,说明垃圾的可能性越高 |
subLabels 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
subLabel | Number | 细分类,详细编码请参考下方对应细分类编码 对照表 |
rate | Number | 置信度分数,0-1之间取值,1为置信度最高,0为置信度最低 |
details | json数组 | hitInfos:命中详细信息,针对subLabel的补充说明 |
自定义细分类
易盾支持sublabel自定义细分类过检并返回,如有需求,可联系您的专属运营经理添加。
响应示例
输出结果:
注:分类信息,100:色情,110:性感低俗,200:广告,210:二维码,300:暴恐,400:违禁,500:涉政
{
"code": 200,
"msg": "ok",
"antispam": [{
"taskId": "2930cd4b13464676a0779ef09706e700",
"status": 0,
"action": 2,
"name": "1234",
"labels": [{
"label": 500,
"level": 2,
"rate": 1.0,
"subLabels": [{
"subLabel": 50003,
"rate": 1.0,
"details": {
"hitInfos": ["XXX"]
}
}]
}, {
"label": 200,
"level": 1,
"rate": 1.0,
"subLabels": []
}, {
"label": 100,
"level": 0,
"rate": 0.9999522,
"subLabels": []
}, {
"label": 110,
"level": 0,
"rate": 0.9999522,
"subLabels": []
}, {
"label": 210,
"level": 0,
"rate": 1.0,
"subLabels": []
}, {
"label": 300,
"level": 0,
"rate": 0.9642776,
"subLabels": []
}, {
"label": 400,
"level": 0,
"rate": 1.0,
"subLabels": []
}]
}, {
"taskId": "0f6260acdb7647e281e41874189206e9",
"status": 0,
"action": 2,
"name": "1234",
"labels": [{
"label": 500,
"level": 2,
"rate": 1.0,
"subLabels": [{
"subLabel": 50003,
"rate": 1.0,
"details": {
"hitInfos": ["XXX"]
}
}]
}, {
"label": 200,
"level": 1,
"rate": 1.0,
"subLabels": []
}, {
"label": 100,
"level": 0,
"rate": 0.9999522,
"subLabels": []
}, {
"label": 110,
"level": 0,
"rate": 0.9999522,
"subLabels": []
}, {
"label": 210,
"level": 0,
"rate": 1.0,
"subLabels": []
}, {
"label": 300,
"level": 0,
"rate": 0.92121917,
"subLabels": []
}, {
"label": 400,
"level": 0,
"rate": 1.0,
"subLabels": []
}]
}],
"ocr": [{
"taskId": "2930cd4b13464676a0779ef09706e700",
"name": "1234",
"details": [{
"content": "直播CCTV1综合",
"background": "complex",
"lineContents": [{
"lineContent": "直播",
"polygon": [0.7745177268981933, 0.09276469945907592, 0.8768445968627929, 0.0939750075340271, 0.8766385078430176, 0.1636715531349182, 0.7743116855621338, 0.16246124505996704]
}, {
"lineContent": "CCTV1",
"polygon": [0.12932851314544677, 0.09998217821121216, 0.23668222427368163, 0.10091289281845092, 0.2365492343902588, 0.16227685213088988, 0.12919551134109497, 0.16134613752365112]
}, {
"lineContent": "综合",
"polygon": [0.14835870265960693, 0.15775651931762696, 0.23298816680908202, 0.15898795127868653, 0.23278720378875734, 0.21423439979553222, 0.14815772771835328, 0.21300296783447265]
}]
}]
}, {
"taskId": "0f6260acdb7647e281e41874189206e9",
"name": "1234",
"details": [{
"content": "直播CCTV1综合",
"background": "complex",
"lineContents": [{
"lineContent": "直播",
"polygon": [0.7745157241821289, 0.09276466369628907, 0.8768444061279297, 0.09396190643310547, 0.876640510559082, 0.1636584758758545, 0.7743117809295654, 0.1624612331390381]
}, {
"lineContent": "CCTV1",
"polygon": [0.1293278932571411, 0.0999821662902832, 0.23668241500854492, 0.100907301902771, 0.2365502119064331, 0.16227684020996094, 0.1291956901550293, 0.16135170459747314]
}, {
"lineContent": "综合",
"polygon": [0.14835870265960693, 0.15775651931762696, 0.23298816680908202, 0.15898795127868653, 0.23278720378875734, 0.21423439979553222, 0.14815772771835328, 0.21300296783447265]
}]
}]
}]
"face": [{
"taskId": "57132814c2a24350a337d0a76dd49bbf",
"name": "xxxx",
"details": [{
"faceNumber": 1,
"faceContents": [{
"name": "XXXX",
"x1": 0.41362658,
"y1": 0.18348134,
"x2": 0.50894177,
"y2": 0.37411177
}]
}]
}]
}