轮询模式

2023.09.27 10:14:31

    文档解决方案结果获取的轮询模式用于获取文档异步检测结果或人工审核结果,客户可以通过轮询调用该接口获取数据。轮询模式与推送模式互斥,只能选取一种模式进行结果获取。

    接口说明

    该接口返回文档异步检测结果或人工审核结果,需要客户通过该接口进行定时轮询获取,当提交检测接口参数callbackUrl为空时,表示结果通过该接口获取,结果可以根据提交检测时返回的taskId对应。

    鉴权说明

    易盾内容安全服务使用签名方法对接口进行鉴权,所有接口每一次请求都需要包含签名信息(signature 参数),以验证用户身份,防止信息被恶意篡改。目前支持MD5,SHA1,SHA256,SM3几种加密算法,详细信息,请参见接口鉴权

    结果说明

    • 获取结果后,下次调用,不会再次返回之前获取过的结果
    • 接口一次最多返回200个结果,结果数据默认保留7天,7天不获取会失效
    • 接口请求频率应小于10s/20次,过快服务器会拒绝处理,客户可以根据业务需求进行适当调整

    接口耗时

    结果获取接口的响应很快,正常50ms内返回结果,业务方根据需求适当调整超时时间,建议为1s

    历史版本

    v1版本文档解决方案结果获取轮询模式请点此查看

    请求

    请求地址

    名称
    HTTP URL https://as.dun.163.com/v2/file/callback/results
    HTTP Method POST

    请求头

    名称 类型 描述
    Content-Type String 固定值:"application/x-www-form-urlencoded"

    请求参数

    请求参数由公共参数和业务参数两部分组成

    公共参数

    公共参数包含密钥信息和参数签名信息,公共参数详细见请求公共参数

    业务参数

    名称 类型 是否必填 最大长度 描述
    version String 4 接口版本,当前版本为v2.0
    yidunRequestId String 64 幂等参数说明

    请求体示例

    version=v2&signature=xxx&secretId=xxx&nonce=xxxx&timrstamp=1659673551000
    

    响应

    该接口可以返回人工审核结果或异步机器检测结果,两类结果响应字段有一定区分,可根据resultType字段进行区分解析,为了方便阅读,下面响应结果分为:人工审核响应结果以及异步检测相应结果

    异步检测结果

    响应字段如下,响应公共字段已省略,详细见响应公共字段,resultType为1时表示机器检测结果,详细字段信息如下:

    名称 类型 是否返回 描述
    result Object[] 文档机器审核结果
     ∟ antispam Object 文档内容安全检测结果
      ∟ taskId String 检测任务ID,示例值:"fx6sxdcd89fvbvg4967b4787d78a"
      ∟ dataId String 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给客户经理查询
      ∟ suggestion Number 建议动作,0:通过,1:嫌疑,2:不通过
      ∟ resultType Number 结果类型,1:机器结果,2:人审结果
      ∟ failureReason Number 检测失败原因: 1000:文档大小超过上限,1001:文档格式不支持,1002:文档下载失败,1004:文件数超限,2000:文档内容提取失败,2001:文档内容提取超时,2002:内容加密,3000:文档检测失败,3001:文档文本检测失败,3002:文档图片检测失败,3003:检测超时
      ∟ label Number 整体垃圾分类,0:正常,100:色情,200:广告,260:广告法,300:暴恐,400:违禁,500:涉政,600:谩骂,700:灌水,900:其他,1100:涉价值观
      ∟ evidences Object 机审证据信息
       ∟ texts Object[] 文本证据信息
        ∟ taskId String 当前分段检测数据标识
        ∟ sequence Number 当前文本在原始文档中的分段(5000字符/段)序号
        ∟ startText String 每段文本的起始20个字符
        ∟ endText String 每段文本的结尾20个字符
        ∟ suggestion Nunber 建议动作,0:通过,1:嫌疑,2:不通过
        ∟ page Nunber 证据文本所在文档页码,目前仅对pdf格式生效,返回pdf文档对应页码
        ∟ labels Object[] 命中的分类信息
         ∟ label Nunber 命中分类,分类信息,100:色情,200:广告,260:广告法,300:暴恐,400:违禁,500:涉政,600:谩骂,700:灌水,900:其他,1100:涉价值观
         ∟ level Nunber 命中级别,示例值:1:嫌疑,2:不通过
         ∟ subLabels Object[] 细分类信息,可能包含多个,具体数据结构如下
          ∟ subLabel String 细分类,详细编码请参考下方对应细分类编码对照表
          ∟ details Object 命中的详细信息
           ∟ keywords Object[] 命中的敏感词信息
            ∟ word String 敏感词内容
           ∟ libInfos Object[] 命中的自定义库信息
            ∟ type Number 库类型,1:自定义用户名单库,2:自定义ip名单库
            ∟ entity String 自定义库实体
           ∟ hitInfos Object[] 命中的线索信息
            ∟ value String 线索内容
            ∟ positions Object[] 线索位置
             ∟ fieldName String 位置类型,content:正文,title:标题
             ∟ startPos Number 线索开始坐标
             ∟ endPos Number 线索结束坐标
       ∟ images Object[] 图片证据信息
        ∟ taskId String 当前图片检测数据标识
        ∟ sequence Number 当前图片在原始文档中的序号
        ∟ imageUrl String 图片下载地址
        ∟ suggestion Number 分类级别,0:正常,1:不确定,2:确定
        ∟ page Nunber 证据图片所在文档页码,目前仅对pdf格式生效,返回pdf文档对应页码
        ∟ labels Object[] 命中的分类信息
         ∟ label Nunber 分类信息,100:色情,110:性感低俗,200:广告,210:二维码,260:广告法,300:暴恐,400:违禁,500:涉政,800:恶心类,900:其他,1100:涉价值观
         ∟ level Nunber 分类级别,0:正常,1:不确定,2:确定
         ∟ rate Nunber 置信度分数,0-1之间取值,1为置信度最高,0为置信度最低。若level为正常,置信度越大,说明正常的可能性越高。若level为不确定或确定,置信度越大,说明垃圾的可能性越高
         ∟ subLabels Object[] 细分类信息,可能包含多个,具体数据结构如下
          ∟ subLabel String 细分类,细分类编码 对照表
          ∟ 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的解释
           ∟ hitInfos Object[] 命中的线索信息
            ∟ value String 图片中包含的可识别内容
            ∟ group String value对应的分组名称,用于对value的解释
            ∟ x1 Number 位置信息,对应目标矩形左上角横坐标相对坐标
            ∟ y1 Number 位置信息,对应目标矩形左上角纵坐标相对坐标
            ∟ x2 Number 位置信息,对应目标矩形右下角横坐标相对坐标
            ∟ y2 Number 位置信息,对应目标矩形右下角纵坐标相对坐标
           ∟ anticheat Object 命中的反作弊信息
            ∟ hitType Number 反作弊命中类型,详见hitType返回码及含义表
       ∟ audios Object[] 音频检测结果
        ∟ taskId String 检测任务 ID,示例值:"38e08da8d2574df4bd2eca9b5153df72"
        ∟ sequence Number 当前音频在原始文档中的序号
        ∟ audioUrl String 音频Url地址
        ∟ level Nunber 命中级别,示例值:1:嫌疑,2:不通过
        ∟ segments Object[] 音频数据所在断句详细信息
         ∟ startTime Number 断句开始时间点,单位秒
         ∟ endTime Number 断句结束时间点,单位秒
         ∟ type Number 断句类型,0:语音识别,1:声纹检测
         ∟ leaderName String 领导人名,若命中领导人声纹,返回对应的领导人名
         ∟ content String 音频数据所在断句语音识别原文内容,支持返回异常数据所在断句内容或全部原文内容
         ∟ labels Object[] 分类信息
          ∟ label Number 分类信息,分类信息,100:色情,200:广告,260:广告法,300:暴恐,400:违禁,500:涉政,600:谩骂,1100:涉价值观
          ∟ level Number 分类级别,0:通过,1:嫌疑,2:不通过
          ∟ subLabels Object[] 命中细分类信息
           ∟ subLabel String 细分类,详细编码请参考细分类编码对应表
           ∟ details Object 其他信息
            ∟ hitInfos Object[] 证据信息
             ∟ value String 命中的敏感词或者声纹检测的分值
             ∟ songName String 命中的涉政歌曲名称
            ∟ keywords Object[] 自定义敏感词线索分类信息
             ∟ word String 自定义添加敏感词
            ∟ libInfos Object[] 自定义名单线索分类信息
             ∟ listType Number 名单类型
             ∟ entity String 名单内容
       ∟ videos Object[] 视频检测结果
        ∟ taskId String 检测任务 ID,示例值:"38e08da8d2574df4bd2eca9b5153df72"
        ∟ status Number 检测状态,2:检测成功,3:检测失败
        ∟ sequence Number 当前视频在原始文档中的序号
        ∟ videoUrl String 视频Url地址
        ∟ level Nunber 命中级别,示例值:1:嫌疑,2:不通过
        ∟ pictures Object[] 截图证据信息
         ∟ type Number 截图类型,1:图片,2:视频
         ∟ url String 截图下载地址
         ∟ startTime Number 证据开始相对时间,单位为毫秒,调用方获取后可自行格式化为可视化时间,如:149000 转换为"00:02:29"
         ∟ endTime Number 证据结束相对时间,单位为毫秒,调用方获取后可自行格式化为可视化时间,如:149000 转换为"00:02:29"
         ∟ frontPics Object[] 关联信息-命中前截图信息
          ∟ url String 命中前截图下载地址
         ∟ backPics Object[] 关联信息-命中后截图信息
          ∟ url String 命中前截图下载地址
         ∟ 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 String 细分类,详细编码请参考下方对应细分类编码 对照表
           ∟ 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 Number 历史针对该数据源图片命中所有次数
             ∟ value String 图片中包含的可识别内容
             ∟ group String value对应的分组名称,用于对value的解释
            ∟ hintInfos Object[] 命中的线索信息
             ∟ value String 图片中包含的可识别内容
             ∟ group String value对应的分组名称,用于对value的解释
             ∟ x1 Number 位置信息,对应目标矩形左上角横坐标相对坐标
             ∟ y1 Number 位置信息,对应目标矩形左上角纵坐标相对坐标
             ∟ x2 Number 位置信息,对应目标矩形右下角横坐标相对坐标
             ∟ y2 Number 位置信息,对应目标矩形右下角纵坐标相对坐标

    人工审核响应结果

    响应字段如下,响应公共字段已省略,详细见响应公共字段,resultType为2时表示人工审核结果,详细字段信息如下:

    名称 类型 是否返回 描述
    result Object[] 文档人工审核结果
     ∟ antispam Object 文档内容安全检测结果
      ∟ taskId String 检测任务ID,示例值:"fx6sxdcd89fvbvg4967b4787d78a"
      ∟ dataId String 上传数据唯一标识,能够根据该值定位到该条数据,如对数据结果有异议,可以发送该值给客户经理查询
      ∟ suggestion Number 建议动作,0:通过,1:嫌疑,2:不通过
      ∟ resultType Number 结果类型,1:机器结果,2:人审结果
      ∟ censorLabels Object[] 审核标签信息
       ∟ code String 标签标识
       ∟ desc String 标签描述
       ∟ customCode String 自定义标签code
       ∟ name String 审核标签名称
      ∟ reviewEvidences Object 人审证据信息
       ∟ reason String 原因
       ∟ remark String 备注
       ∟ detail Object 详情
        ∟ text Object[] 文本证据信息
         ∟ text String 文本证据
         ∟ reason String 文本判定原因
        ∟ image Object[] 图片证据信息
         ∟ url String 图片url地址
         ∟ reason String 图片判定原因
        ∟ audios object[] 音频证据信息
         ∟ url String 音频证据地址
         ∟ originUrl String 音频原始地址
         ∟ startTime String 断句开始时间点,单位秒
         ∟ endTime String 断句结束时间点,单位秒
         ∟ reason String 音频判定原因
        ∟ videos object[] 音视频证据信息
         ∟ url String 视频截图地址
         ∟ hitId String taskId值
         ∟ audios object[] 音频证据信息
          ∟ url String 音频断句url地址
          ∟ startTime String 音频断句开始时间点,单位秒
          ∟ endTime String 音频断句结束时间点,单位秒
          ∟ reason String 音频判定原因
         ∟ videos object[] 视频证据信息
          ∟ url String 视频截图地址
          ∟ startTime String 视频截图开始时间点,单位秒
          ∟ endTime String 视频截图结束时间点,单位秒
          ∟ reason String 视频判定原因
      ∟ censorSource Number 审核来源,0:易盾人审,1:客户审核,2:易盾机审,3:用户质检,4:易盾质检
      ∟ censorRound Number 审核轮数,普通审核审核轮数为0,高级审核:1-第1轮人审,2-第2轮人审,以此类推,saas人工审核模板配置请参考人工审核模板设置说明文档
      ∟ censorTime Number 审核时间

    响应示例

    异步检测结果响应示例

    {
        "code": 200,
        "msg": "ok",
        "result": [
            {
                "antispam": {
                    "dataId": "1631624661543",
                    "taskId": "9183116cf3e6445aa1fe62596689785d",
                    "resultType": 1,
                    "suggestion": 0,
                    "evidences": {
                        "texts": [
                            {
                                "taskId": "80594e188cb1476faf7e9af0d5674cea",
                                "sequence": 0,
                                "startText": "哈哈",
                                "endText": "嗯嗯",
                                "suggestion": 0,
                                "labels": [],
                                "page": 2
                            },
                            {
                                "taskId": "658b05b4d17b49b9a68bead9780cd80a",
                                "sequence": 1,
                                "startText": "n",
                                "endText": "n",
                                "suggestion": 0,
                                "labels": [
                                    {
                                        "label": 500,
                                        "level": 2,
                                        "subLabels": [
                                            {
                                                "subLabel": "500013",
                                                "details": {
                                                    "hitInfos": [
                                                        {
                                                            "positions": [
                                                                {
                                                                    "fieldName": "content",
                                                                    "startPos": 388,
                                                                    "endPos": 391
                                                                }
                                                            ],
                                                            "value": "xxx"
                                                        }
                                                    ]
                                                }
                                            }
                                        ]
                                    }
                                ],
                                "page": 3
                            }
                        ],
                        "images": [
                            {
                                "taskId": "57a2ecf017b94f4592b5f82659e40e0b",
                                "sequence": 0,
                                "imageUrl": "https://iamge-url",
                                "suggestion": 0,
                                "labels": [
                                    {
                                        "label": 500,
                                        "level": 0,
                                        "rate": 1.0
                                    },
                                    {
                                        "label": 300,
                                        "level": 0,
                                        "rate": 1.0,
                                        "labels": [
                                            {
                                                "label": 400,
                                                "level": 1,
                                                "rate": 0.9804,
                                                "subLabels": [
                                                    {
                                                        "subLabel": "40009",
                                                        "rate": 0.9643,
                                                        "details": {
                                                            "hitInfos": [
                                                                {
                                                                    "value": "fire",
                                                                    "group": "违禁"
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "subLabel": "40010",
                                                        "rate": 0.9964,
                                                        "details": {
                                                            "hitInfos": [
                                                                {
                                                                    "value": "skull",
                                                                    "group": "违禁"
                                                                }
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        ]
                                    },
                                    {
                                        "label": 100,
                                        "level": 0,
                                        "rate": 0.9999
                                    },
                                    {
                                        "label": 400,
                                        "level": 0,
                                        "rate": 1.0
                                    },
                                    {
                                        "label": 200,
                                        "level": 0,
                                        "rate": 1.0
                                    }
                                ],
                                "page": 3
                            }
                        ]
                    }
                }
            }
        ]
    }
    

    人工审核结果响应示例

    {
        "code":200,
        "msg":"ok",
        "result":[
            {
                "antispam":{
                    "dataId":"1631625592988",
                    "taskId":"a20f4815fb624f0ba9b02463f5715cb9",
                    "reviewEvidences":{
                        "remark":"",
                        "detail":{
                            "text":[
                                {
                                    "text":"xxxx",
                                    "reason":"好"
                                }
                            ],
                            "image":[
                                {
                                    "url":"https://immage-url",
                                    "reason":"图片标注"
                                }
                            ]
                        }
                    },
                    "censorLabels":[
                        {
                            "code":"1600762076926",
                            "customCode":"自定义标签编码",
                            "name":"审核标签名称",
                            "desc":""
                        },
                        {
                            "code":"1600759147543",
                            "customCode":"自定义标签编码",
                            "name":"审核标签名称",
                            "desc":""
                        }
                    ],
                    "censorTime":1631625622490,
                    "resultType":2,
                    "censorSource":1,
                    "censorRound":0,
                    "suggestion":0,
                    "evidences":{
    
                    }
                }
            }
        ]
    }
    

    接入示例代码

    开发工具集(SDK)接入

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

    • 准备工作

    准备步骤详见通用步骤

    • 使用方法

    该接口的使用方法可参考SDK demo

    API接入

    如果您选择非SDK接入,使用API方式接入,请参考各开发语言汇总示例代码

    该接口的使用方法具体示例如下:

    PHP示例代码
    Python示例代码
    go示例代码
    Nodejs示例代码
    C#示例代码
    JAVA示例代码

    Online Chat Tel:95163223 Free trial