提交接口
投诉举报解决方案提交接口用于举报检测数据的提交。支持文本、图片、音频以及视频等多种检测数据类型。
接口说明
该接口为投诉举报解决方案数据提交接口,支持http协议接口调用。可以配置结果同步返回或者结果异步返回:
-
文本、图片类型:可配置结果同步返回或异步返回
-
音频、视频类型:仅支持异步返回
默认都是异步返回结果,如果需要设置同步返回结果,请联系易盾策略经理进行配置。
鉴权说明
易盾内容安全服务使用签名方法对接口进行鉴权,所有接口每一次请求都需要包含签名信息(signature 参数),以验证用户身份,防止信息被恶意篡改。目前支持MD5,SHA1,SHA256,SM3几种加密算法,详细信息,请参见接口鉴权
检测数据要求
请求体限制:所有请求参数大小总和不能超过10M
文本要求
- 文本限制:单次请求<5000字符,字段长度超过5000字符,会提示参数错误。
图片要求
- 图片支持类型:URL
- 图片支持格式:PNG、JPG、JPEG、BMP、GIF、WEBP、TIFF、ICO、HEIC
- 图片大小(适用于同步和异步检测): 单张<10M,像素建议不低于50px*50px,像素过低会影响识别效果
- 图片下载:下载时间限制为5秒内,如果下载时间超过5秒,接口检测失败
- 截帧说明:易盾自动将GIF图,长图(长宽比大于5的图片)截帧过检,最多5张,GIF图,长图均按照实际截图张数进行计费
音频要求
- 音频支持类型:URL
- 音频支持格式:wav、mp3、aac、amr、3gp、m4a、wma、ogg、ape、flac、alac、wavpack、silk_v3等
- 音频大小: 音频文件大小不超过550M
- 音频时长: 时长小于5小时
- 音频下载:下载时间限制为5秒内,如果下载时间超过5秒,接口检测失败
视频要求
- 视频支持类型:URL
- 视频支持格式:flv、mkv 、mp4 、rmvb 、avi 、wmv、3gp、ts、mov、rm、mpeg、wmf等
- 视频时长: 时长小于5小时
- 视频下载:下载时间限制为5秒内,如果下载时间超过5秒,接口检测失败
检测耗时
投诉举报解决方案检测接口根据设置的同步或异步返回的方式不同,接口耗时也不同,具体超时时间设置建议如下:
结果异步返回: 此时接口只是接收保存提交的检测任务,检测流程是异步进行的,整体耗时较短,建议设置为200ms
结果同步返回: 此时接口会执行同步检测流程,并同步返回检测结果
-
文本检测结果同步返回,响应时间依赖文本的长度,根据不同长度建议适当调整接口超时时间,200字以内建议200ms,200字以上建议设置为1s
-
图片检测结果同步返回,响应时间依赖图片的下载时间,请保证被检测图片所在的存储服务稳定可靠,建议适当调整接口超时时间,建议设置为10s
请求
名称 | 值 |
---|---|
HTTP URL | https://as.dun.163.com/v1/report/submit |
HTTP Method | POST |
请求头
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Content-Type | String | 是 | 固定值:"application/x-www-form-urlencoded" |
请求参数
请求参数由公共参数和业务参数两部分组成。
公共参数
公共参数包含密钥信息和参数签名信息,具体的公共参数请参考请求公共参数。
业务参数
名称 | 类型 | 必填 | 最大长度 | 描述 |
---|---|---|---|---|
version | String | Y | 4 | 接口版本号,可选值v1 |
ip | String | N | 128 | 用户IP地址,建议抄送,辅助机审策略精准调优 |
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,可选值-10000~10000 |
publishTime | Number | N | 13 | 举报时间,UNIX 时间戳(毫秒值) |
dataId | String | N | 128 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
account | String | N | 128 | 举报人账号 |
scenarios | String | N | 64 | 举报场景 |
reportType | String | N | 64 | 举报类型 |
reportedId | String | Y | 64 | 被举报人账号 |
roomId | String | N | 64 | 被举报群号或房间号 |
content | Object[] | N | 150000 | 举报内容,格式为json数组格式,支持多种类型内容同时提交过检,包括文本,图片,点播语音,点播音视频 |
∟type | String | Y | 10 | 类型,分别为text-文本,image-图片,audio-点播语音,audiovideo-点播视频 |
∟ data | String | Y | 5000 | 检测数据,类型为text时最多传入20条文本内容,每条最长5000字符;类型为image时最多传入50张图片url,每张最长512字符;类型为audio时最多传入5条语音url,每条最长512字符;类型为audiovideo时最多传入5条音视频url,每条最长512字符 |
∟dataId | String | N | 128 | 数据唯一标识 |
evidence | Object[] | N | 150000 | 用户举报证据,格式为json数组格式,支持多种类型内容同时过检,包括文本,图片,点播语音,点播音视频 |
∟type | String | Y | 10 | 类型,分别为text-文本,image-图片,audio-点播语音,audiovideo-点播视频 |
∟data | String | Y | 5000 | 检测数据,类型为text时最多传入20条文本内容,每条最长5000字符;类型为image时最多传入50张图片url,每张最长512字符;类型为audio时最多传入5条语音url,每条最长512字符;类型为audiovideo时最多传入5条音视频url,每条最长512字符 |
∟dataId | String | N | 128 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
dunEvidence | Object | N | 150000 | 易盾信息证据,格式为json格式,支持直播音频,直播视频 |
∟type | String | Y | 10 | 类型,分别为liveaudiovideo-直播音视频,liveaudio-直播音频 |
∟taskId | String | Y | 32 | 直播音视频/直播音频提交数据时易盾返回的taskId |
∟timeRange | Number | N | 64 | 回溯时间范围,从举报时间(字段publishTime)往前回溯的时长,单位s,默认90 |
∟dataId | String | N | 128 | 数据唯一标识 |
chatRecords | Object[] | N | 150000 | 聊天纪录,请按照自定义不解析字段传入,格式为json数组 的字符串格式传入,支持包括文本,图片,点播语音,点播音视频,最多200条纪录 |
∟type | String | Y | 10 | 内容数据类型,分别为text:文本,image:图片,audio:点播语音,audiovideo:音视频 |
∟data | String | Y | 500 | 数据内容,类型为text时为文本内容,其它类型时为单条url |
∟time | String | N | 64 | 时间,审核页面会原样展示 |
∟userId | String | N | 64 | 发送人账号,一般为举报人账号或者被举报人账号 |
∟nickname | String | N | 64 | 本次说话人昵称 |
自定义解析检测字段、 解析不检测字段 |
Object[] | N | 150000 | 格式同content字段。业务方自定义的解析检测或者解析不检测字段,支持同时设置多个自定义字段。确定字段名称、检测配置要求后,请联系易盾策略经理进行配置。注意:只要字段内容需要解析并展示在审核区域,就需要按此字段格式接入。 |
自定义不解析字段 | String | N | 1024 | 业务自定义非解析检测字段,非解析检测字段无法切换为检测字段。确认字段名称、非检测配置后,请联系易盾策略经理进行配置。支持同时设置多个自定义不解析字段,字段内容将展示在扩展信息区域,辅助人工审核。 |
callback | String | N | 512 | 数据回调参数,调用方根据业务情况自行设计,当调用举报解决方案异步接口获取结果时,该接口会原样返回该字段。作为数据处理标识,因此该字段应该设计为能唯一定位到该次请求的数据结构,如对用户的昵称进行检测,dataId可设为用户标识(用户ID),用户修改多次,每次请求数据的dataId可能一致,但是callback参数可以设计成定位该次请求的数据结构,比如callback字段设计成json,包含dataId和请求的时间戳等信息,当然如果不想做区分,也可以直接把callback设置成dataId的值。 |
callbackUrl | String | N | 1024 | 异步结果回调通知到客户的URL。主动回调数据接口超时时间设置为2s,为了保证顺利接收数据,需保证接收接口性能稳定并且保证幂等性。 |
请求体示例
reportedId=user008
&content=[{"type":"image","data":"https://url/image1.jpg","dataId":"01"},{"type":"text","data":"检测文本","dataId":"02"}]
&version=v1
&signature=xxx
&secretId=xxx
响应
响应结果
根据配置的同步结果返回和异步结果不同,响应结果也有一定的区别,响应公共字段已省略,详细见响应公共字段。
结果异步返回
默认情况下是异步返回结果。
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
result | Object | 是 | 投诉举报结果 |
∟ antispam | Object | 是 | 检测任务提交结果 |
∟ taskId | String | 是 | 本次请求数据标识,可以根据该标识查询数据最新结果 |
∟dataId | String | 否 | 数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟callback | String | 否 | 数据回调参数,请求参数中传来的callback字段原样返回 |
同步返回结果
在开启文本和图片同步结果返回的情况下,返回的结果结构如下:
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
result | Object | 是 | 投诉举报结果 |
∟antispam | Object | 是 | 机器检测结果 |
∟taskId | String | 是 | 本次请求数据标识,可以根据该标识查询数据最新结果 |
∟dataId | String | 否 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟callback | String | 否 | 数据回调参数,请求参数中传来的callback字段原样返回 |
∟suggestion | Number | 是 | 建议动作,0:通过,1:嫌疑,2:不通过 |
∟resultType | Number | 是 | 结果类型,1:机器结果,2:人审结果 |
∟checkStatus | Number | 是 | 检测状态, 1:检测中 2:检测成功 3:检测失败 |
∟evidences | Object | 否 | 机审证据信息 |
∟texts | Object[] | 否 | 文本检测结果 |
∟ dataId | String | 否 | 检测子数据数据唯一标识 |
∟ field | String | 是 | 数据来源字段名。当数据来自提交接口的 content 时,此字段值为 content,当数据来自提交接口自定义字段时,此字段值为自定义字段名 |
∟ suggestion | Number | 是 | 建议动作,0:通过,1:嫌疑,2:不通过 |
∟ resultType | Number | 是 | 结果类型,1:机器结果,2:人审结果 |
∟ censorType | Number | 是 | 审核模式,0:纯机审,1:机审+部分人审,2:机审+全量人审 |
∟ strategyVersions | Object[] | 否 | 策略版本号,策略更新时该参数会更新,可用于追溯策略调优效果 |
∟ label | Number | 是 | 分类,示例值:100 |
∟ version | String | 是 | 版本号 |
∟ isRelatedHit | Boolean | 是 | 是否关联检测命中,true:关联检测命中,false:原文命中 |
∟ labels | Object[] | 是 | 命中的分类信息 |
∟ label | Number | 是 | 命中分类,示例值:100 |
∟ level | Number | 是 | 命中级别,示例值:1:嫌疑,2:不通过,0:正常,特殊策略下可返回“level=0”的数据,如果需要返回可以找策略经理配置 |
∟ subLabels | Object[] | 否 | 细分类信息,可能包含多个 |
∟ subLabel | Number | 是 | 细分类,详细编码请参考下方对应细分类编码对照表 |
∟ details | Object | 否 | 命中的详细信息 |
∟ keywords | Object[] | 否 | 命中的敏感词信息 |
∟ word | String | 是 | 敏感词内容 |
∟ libInfos | Object[] | 否 | 命中的自定义库信息 |
∟ type | Number | 是 | 库类型,1:自定义用户名单库,2:自定义ip名单库 |
∟ entity | String | 是 | 自定义库实体 |
∟ hintInfos | Object[] | 否 | 命中的线索信息 |
∟ value | String | 是 | 线索内容 |
∟ positions | Object[] | 是 | 线索位置 |
∟ startPos | Number | 是 | 线索开始坐标 |
∟ endPos | Number | 是 | 线索结束坐标 |
∟ images | Object[] | 否 | 图片检测结果 |
∟ dataId | String | 否 | 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给策略经理查询 |
∟ field | String | 是 | 数据来源字段名。当数据来自提交接口的 content 时,此字段值为 content,当数据来自提交接口自定义字段时,此字段值为自定义字段名 |
∟ name | String | 是 | 图片名称(或图片标识) |
∟ status | Number | 是 | 检测状态:2 检测成功、3 检测失败 |
∟ failureReason | Number | 否 | 检测失败原因,当status为3(检测失败)时返回:610 图片下载失败、620 图片格式错误、630 检测成功、630 其他 |
∟ suggestion | Number | 是 | 建议动作,0:通过,1:嫌疑,2:不通过 |
∟ resultType | Number | 是 | 结果类型,1:机器结果,2:人审结果 |
∟ labels | Object[] | 是 | 命中的分类信息 |
∟ label | Number | 是 | 分类信息,100:色情,110:性感低俗,200:广告,210:二维码,260:广告法,300:暴恐,400:违禁,500:涉政,800:恶心类,900:其他,1100:涉价值观 |
∟ level | Number | 是 | 命中级别,示例值:1:嫌疑,2:不通过,0:正常,特殊策略下可返回“level=0”的数据,如果需要返回可以找策略经理配置 |
∟ rate | Number | 是 | 置信度分数,0-1之间取值,1为置信度最高,0为置信度最低。若level为正常,置信度越大,说明正常的可能性越高。若level为不确定或确定,置信度越大,说明垃圾的可能性越高 |
∟ subLabels | Object[] | 是 | 细分类信息,可能包含多个 |
∟ subLabel | Number | 是 | 细分类,详细编码请参考下方对应细分类编码 对照表 |
∟ rate | Number | 是 | 置信度分数,0-1之间取值,1为置信度最高,0为置信度最低 |
∟ details | Object | 否 | 命中的详细对象信息 |
∟ keywords | Object[] | 否 | 命中的自定义敏感词信息 |
∟ word | string | 是 | 敏感词内容 |
∟ x1 | Number | 否 | 位置信息,对应目标矩形左上角横坐标相对坐标 |
∟ y1 | Number | 否 | 位置信息,对应目标矩形左上角纵坐标相对坐标 |
∟ x2 | Number | 否 | 位置信息,对应目标矩形右下角横坐标相对坐标 |
∟ y2 | Number | 否 | 位置信息,对应目标矩形右下角纵坐标相对坐标 |
∟ libInfos | Object[] | 是 | 命中的自定义图片名单信息 |
∟ entity | String | 是 | 该图片命中自定义图片名单对应原始添加的根源图片url |
∟ hitCount | String | 是 | 历史针对该数据源图片命中所有次数 |
∟ value | String | 否 | 图片中包含的可识别内容 |
∟ group | String | 否 | value对应的分组名称,用于对value的解释 |
∟ hintInfos | Object[] | 是 | 命中的线索信息 |
∟ value | String | 是 | 图片中包含的可识别内容 |
∟ group | String | 否 | value对应的分组名称,用于对value的解释 |
∟ x1 | Number | 否 | 位置信息,对应目标矩形左上角横坐标相对坐标 |
∟ y1 | Number | 否 | 位置信息,对应目标矩形左上角纵坐标相对坐标 |
∟ x2 | Number | 否 | 位置信息,对应目标矩形右下角横坐标相对坐标 |
∟ y2 | Number | 否 | 位置信息,对应目标矩形右下角纵坐标相对坐标 |
响应示例
结果异步返回示例
{
"code": 200,
"msg": "ok",
"result": {
"antispam": {
"dataId": "131246",
"callback": "i am callback",
"taskId": "jk5wux0l0u6zjmotwc088svg05009pgr"
}
}
}
结果同步返回示例
开启在线结果返回的文本和图片
{
"code": 200,
"msg": "ok",
"result": {
"antispam": {
"checkStatus": 2,
"dataId": "131246",
"suggestion": 2,
"callback": "i am callback",
"evidences": {
"images": [
{
"dataId": "792707",
"field": "image1",
"suggestion": 2,
"censorType": 0,
"name": "81uoe1igu601b2v2wfoik3fg05009pgr",
"resultType": 1,
"labels": [
{
"subLabels": [
{
"subLabel": "50003",
"rate": 1.0,
"details": {
"hitInfos": [
{
"y1": 0.1756,
"y2": 0.7165,
"x1": 0.1711,
"x2": 0.8457,
"value": "李四"
}
]
}
}
],
"level": 2,
"rate": 1.0,
"label": 500
},
{
"level": 0,
"rate": 1.0,
"label": 300
}
],
"status": 2
}
],
"texts": [
{
"dataId": "192470",
"field": "image1",
"suggestion": 2,
"censorType": 0,
"isRelatedHit": false,
"resultType": 1,
"labels": [
{
"subLabels": [
{
"subLabel": "100080",
"details": {
"hitInfos": [
{
"positions": [
{
"fieldName": "content",
"startPos": 0,
"endPos": 2
}
],
"value": "测试"
},
{
"positions": [
{
"fieldName": "content",
"startPos": 23,
"endPos": 24
}
],
"value": "江"
}
],
"keywords": [
{
"word": "测试"
}
]
}
},
{
"subLabel": "100002"
}
],
"level": 2,
"label": 100
},
{
"subLabels": [
{
"subLabel": "500001",
"details": {
"hitInfos": [
{
"positions": [
{
"fieldName": "content",
"startPos": 15,
"endPos": 18
}
],
"value": "测试1"
}
]
}
},
{
"subLabel": "500013",
"details": {
"hitInfos": [
{
"positions": [
{
"fieldName": "content",
"startPos": 15,
"endPos": 18
}
],
"value": "测试2"
}
]
}
}
],
"level": 2,
"label": 500
},
{
"level": 0,
"label": 200
},
{
"level": 0,
"label": 260
}
]
}
]
},
"resultType": 1,
"taskId": "81uoe1igu601b2v2wfoik3fg05009pgr"
}
}
}
响应返回码
响应返回码见:响应返回码
示例代码
服务端 SDK 接入
推荐使用我们提供的服务端 SDK 进行接入(目前支持 Java 和 Go 两种语言),不但可以节省接入成本,实现更快速的集成,并享有灵活的请求配置选项,同时 SDK 内置了错误重试、熔断降级等功能,提升服务可用性。点击 服务端 SDK 接入指引 了解更多。