提交接口

2022.11.17 17:26:45

    投诉举报解决方案提交接口用于举报检测数据的提交。支持文本、图片、音频以及视频等多种检测数据类型。

    接口说明

    该接口为投诉举报解决方案数据提交接口,支持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 数据唯一标识
    自定义解析检测字段、
    解析不检测字段
    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
         ∟ 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 分类级别,0:正常,1:不确定,2:确定
         ∟ 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接入方法

    为方便 JAVA 开发者调试和接入API,我们提供了配套的开发工具集(SDK),用于简化API接入流程。SDK中各接口调用方式基本相同,接入方式统一,并提供了一些接口调用过程中常见的异常处理方案。以下介绍了SDK的使用流程,以及首次使用SDK的简单示例。

    如果您使用的是其他语言,请参考各语言示例demo

    • 准备工作

    准备步骤详见通用步骤

    • 使用方法

    使用方法可参考使用SDK

    Online Chat Tel:95163223