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

  • 关于如何构造HTTP请求,请参考请求结构
  • 您也可以直接选用已构造好的HTTP请求,具体请参考SDK参考
说明 推荐您使用本文介绍的新版API,该版本经过全新设计更易使用;如果您使用旧版本SDK,您可以单击下载旧版本文档

描述

业务接口/green/voice/asyncscan

上传语音文件,异步检测语音文件是否包含违规内容。

使用限制
  • 支持的语音文件大小 < 100M
  • 支持的语音文件时长 < 30分钟

关于scene与label参数

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

在语音反垃圾中,scene与label的对应关系如下:
场景 描述 scene label
语音检测 识别语音文件中的违规信息。
说明 默认识别语言为中文。
antispam
  • normal 正常
  • spam:含垃圾信息
  • ad:广告
  • politics:涉政
  • abuse:辱骂
  • porn:色情
  • contraband:违禁
  • customized:用户自定义词库

请求参数

关于在请求中必须包含的公共请求参数,请参考公共参数

请求body是一个JSON对象,字段说明如下:
名称 类型 是否必需 描述
scenes String数组 指定检测场景,取值:antispam
callback 字符串 异步检测结果回调通知您的URL。支持HTTP和HTTPS。具体结构见callback
说明 该字段为空时,您必须定时检索检测结果。
seed 字符串 随机字符串,该值用于回调通知请求中的签名。
说明 提供 callback时,必须提供该参数。
tasks JSON数组 检测任务列表,包含一个或多个元素。JSON数组中的每个元素是一个结构体(Voice表),最多支持100个元素。每个元素的具体结构描述见task

callback说明

如果您在请求参数中指定了回调通知参数callback,被回调callback值,即一个http(s)协议接口的URL,则需要支持POST方法,传输数据编码采用utf-8,并且支持两个表单参数checksumcontent。系统将按以下描述的生成规则和格式设置checksum和content的值,调用您的callback接口返回检测内容。

您服务端接收到我们推送的结果后,返回的HTTP状态码为200时,表示推送成功,其他的HTTP状态码均视为您接收失败,我们将最多重复推送16次。

表 1. callback
名称 类型 是否必需 描述
checksum String 用户uid + seed + content拼成字符串,通过SHA256算法生产。用户UID即账号ID,您可在阿里云控制台上查询。为防篡改,您可以在获取到推送结果时,按此算法生成字符串,与checksum做一次校验。
content String JSON字符串格式,请自行解析反转成JSON对象。具体结构见data字段说明
表 2. task
名称 类型 是否必需 描述
clientInfo JSON结构体 客户端信息,参考公共参数中的公共查询参数。
服务器会把全局的 clientInfo和此处独立的 clientInfo合并。
说明 独立的 clientInfo优先级更高。
dataId String 用于标识一次调用。
type String 检测类型,语音文件的类型为:file
time long 内容创建/编辑时间,单位为ms。
url String 需要检测的语音文件的下载地址。

返回参数

返回结果说明,参见返回结果

返回body中的Data字段是JSON数组,每一个元素包含如下字段:
名称 类型 是否必需 描述
code 整形 错误码,和HTTP的status code一致。
msg 字符串 错误描述信息。
taskId String 该检测任务的ID。
dataId String 对应请求中的dataId

示例

请求示例
{
    "scenes":[
        "antispam"
    ],
    "tasks":[
        {
            "dataId":"1a90c9d6-6a81-42db-bbe1-e36102f3dd5e",
            "type":"file",
            "time":1520172334290,
            "url":"http://xxxxx.com/test.mp3"
        }
    ]
}
返回示例
{
  "msg": "OK",
  "code": 200,
  "requestId": "33921869-CF8A-4E62-8C31-44F37341FFC1",
  "data": [
    {
      "code": 200,
      "msg": "OK",
      "dataId": "voiceXtxl$ZwAww4z13yeo45@9-1mwd7N",
      "taskId": "voice3VayNFGf43J6S9mHYp1HYJ-123mfd"
    }
  ]
}