本文提供了调用文件检测任务的具体内容,帮助您编写程序构建HTTP调用请求。

使用说明

业务接口:/green/file/asyncscan,表示文件异步检测1.0。

提交文件检测任务,自动解析文件内容,并分别检测其中的图片和文本内容。

使用方法和付费价格与图片检测以及文本反垃圾一致。文本按照请求数收费,一次请求支持检测5000字符;图片按照实际图片数收费。

使用限制
  • 支持的文件类型:
    • 支持检测以下文件中的文本内容。

      PDFWORDTXTPPTEXCELOUTLOOKVISIOZIPTARRTF

    • 支持检测PDF文件中的图片内容。
  • 支持的文件大小:5 MB以内。

关于scene与label参数

在提交检测任务时,您需要指定scenes场景参数;而在检测返回结果中,则包含与您指定的场景对应的label结果分类参数。

在文件内容反垃圾中,scene与label的对应关系如下。
场景描述imageScenes或textSceneslabel
文件中图片检测识别文件中的图片包含的特定信息。传入imageScenes,取值范围:
  • porn:鉴黄
  • ad:广告
  • terrorism:暴恐涉政
  • sface:敏感人脸
  • qrcode:二维码
  • live:不良场景
  • logo:logo识别
  • ocr:OCR图文识别
特定场景对应的label取值与图片检测一致。
文件中文本检测识别文件中的文本包含的特定信息。传入textScenes,取值:antispam特定场景对应的label取值与文本反垃圾一致。

QPS限制

本接口的单用户QPS限制为5次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。

请求参数

说明 检测文本需要传入textScenes;检测图片需要传入imageScenes。每个场景的使用方法和结果与图片检测和文本反垃圾相同。
名称类型是否必须示例值描述
bizTypeStringdefault该字段用于标识您的业务场景。您可以通过内容安全控制台创建业务场景(具体操作,请参见自定义机审标准)。
textScenesStringArray["antispam"]检测内容包含文本时,指定检测场景,取值:antispam
说明 该参数与imageScenes不可同时为空。
imageScenesStringArray["porn","ad"]检测内容包含图片时,指定检测场景,可选值包括:
  • porn:鉴黄
  • ad:广告
  • terrorism:暴恐涉政
  • sface:敏感人脸
  • qrcode:二维码
  • live:不良场景
  • logo:logo识别
说明
  • 支持多场景(scenes)一起检测,比如使用scenes=[“porn”,“terrorism”],对一张图片同时进行鉴黄和暴恐识别。
  • 该参数与textScenes不可同时为空。
callbackStringhttp://www.aliyundoc.com/xx.json

检测结果回调通知您的URL,支持使用HTTP和HTTPS协议的地址。该字段为空时,您必须定时轮询检测结果。

callback接口必须支持POST方法、UTF-8编码的传输数据,以及表单参数checksumcontent。内容安全按照以下规则和格式设置checksumcontent,调用您的callback接口返回检测结果。
  • checksum:字符串格式,由用户uid + seed + content拼成字符串,通过SHA256算法生成。用户UID即阿里云账号ID,可以在阿里云控制台查询。为防篡改,您可以在获取到推送结果时,按上述算法生成字符串,与checksum做一次校验。
    说明 用户UID必须是阿里云账号的UID,而不是RAM用户的UID。
  • content:JSON字符串格式,请自行解析反转成JSON对象。关于content结果的示例,请参见查询检测结果的返回示例。
说明 您的服务端callback接口收到内容安全推送的结果后,如果返回的HTTP状态码为200,则表示接收成功,其他的HTTP状态码均视为接收失败。接收失败时,内容安全将最多重复推送16次检测结果,直到接收成功。重复推送16次后仍未接收成功,则不再推送,建议您检查callback接口的状态。
seedStringtest该值用于回调通知请求中的签名。
说明 传入callback时,该字段必须提供。
cryptTypeStringSHA256使用回调通知时(callback),设置对回调通知内容进行加密的算法。内容安全会将返回结果(由用户uid + seed + content拼接的字符串)按照您设置的加密算法加密后,再发送到您的回调通知地址。取值:
  • SHA256(默认):使用SHA256加密算法。
  • SM3:使用国密HMAC-SM3加密算法,返回十六进制的字符串,且字符串由小写字母和数字组成。

    例如,abc经国密SM3加密后返回66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0

tasksJSONArray指定检测对象,JSON数组中的每个元素是一个检测任务Object。最多支持100个元素,即每次提交100条内容进行检测,支持100个元素的前提是需要将并发任务调整到100个以上。关于每个元素的具体结构描述,请见task
表 1. task
名称类型是否必须示例值描述
clientInfoJSONObject{"userId":"28645****","userNick":"Mike","userType":"others"}

客户端信息,请参见公共参数中的公共查询参数。

服务器会把全局的clientInfo和此处独立的clientInfo合并。
说明 独立的clientInfo优先级更高。
dataIdStringtest2NInmO$tAON6qYUrtCRgLo-1mwxdi数据ID。需要保证在一次请求中所有的ID不重复。
urlStringhttps://www.aliyundoc.com/tfs/TB1urBOQFXXXXbMXFXXXXXXXXXX-1442-257.pdf
检测对象的URL。
  • 公网HTTP/HTTPS URL,且长度不超过2048个字符。
  • 阿里云OSS提供的文件路径。您需要先授权内容安全访问OSS存储空间,仅限相同区域的OSS空间。更多信息,请参见授权内容安全访问OSS存储空间

    文件路径格式:oss://<bucket-name>.<endpoint>/<object-name>

content结果示例
{
    "code": 200,
    "msg": "OK",
    "dataId": "videoId xxx",
    "taskId": "taskId xxx",
    "results": [
        {
            "label": "porn",
            "rate": 99.2,
            "scene": "porn",
            "suggestion": "block"
        }
    ]
}

返回数据

名称类型示例值描述
codeInteger200错误码,和HTTP状态码一致。

更多信息,请参见公共错误码

taskIdStringfile_t_7Efx6ndTriK5Xx$rD2RFkr-1oB8zu该检测任务的ID。
dataIdStringtestCvlKbUe4U@6uT6XJxh3G5-1oB8zu对应的请求中的dataId
msgStringOK请求信息的响应消息。

示例

请求示例
http(s)://[Endpoint]/green/file/asyncscan
&<公共请求参数>
{
    "bizType": "aligreen-test",
    "textScenes": [
        "antispam"
    ],
    "imageScenes": [
        "porn",
        "ad"
    ],
    "tasks": [
        {
            "dataId": "test2NInmO$tAON6qYUrtCRgLo-1mwxdi",
            "url": "https://www.aliyundoc.com/tfs/TB1urBOQFXXXXbMXFXXXXXXXXXX-1442-257.pdf"
        },
        {
            "dataId": "test2NInmO$tAON6qYUrtCRgLo-aksdjak",
            "url": "https://www.aliyundoc.com/tfs/TB1urBOQFXXXXbMXFXXXXXXXXXX-1442-257.pdf"
        }
    ]
}
返回示例
{
    "code": 200,
    "data": [
        {
            "code": 280,
            "dataId": "testCvlKbUe4U@6uT6XJxh3G5-1oB8zu",
            "msg": "PROCESSING - queue",
            "taskId": "file_t_7Efx6ndTriK5Xx$rD2RFkr-1oB8zu"
        }
    ],
    "msg": "OK",
    "requestId": "B15C5A4F-9752-4F25-9DF8-9FF3446E72C9"
}