有奖捉虫:行业应用 & 管理与支持文档专题 HOT

实时语音审核、第三方语音流及音频文件审核回调说明

实时语音审核第三方语音流或音频文件审核 的回调均为服务端回调,且回调参数一致,详情如下文所述。

网络协议

如果在请求参数中指定了回调地址参数 Callback,即一个 HTTP(S) 协议接口的 URL,则需要支持 POST 方法,传输数据编码采用 UTF-8。

URL Query 参数

名称
类型
是否必需
描述
Signature
string
签名,具体见下方 签名生成 说明。

签名生成

Signature = Base64 ( HMAC-SH1 ( strContent, SecretKey ))
strContent:签名原文串,为 POST+body 的整个 JSON 内容(长度以 Content-Length 为准)。
body:回调给业务的 JSON 内容,下方 回调示例 中的全部内容即为 body。
SecretKey:密钥,为应用的 SecretKey,可通过 控制台 > 应用详情 查看。
HMAC-SH1:签名算法。
Base64:加密函数,进行 Base64 编码后,即可生成 Signature 签名。
将 Signature 加到 url 的参数里,即可生成最终的回调请求。

回调示例

{
"Code": 0,
"DataId": "1400000000_test_data_id",
"ScanFinishTime": 1566720906,
"HitFlag": true,
"Live": false,
"Msg": "",
"ScanPiece": [{
"DumpUrl": "",
"HitFlag": true,
"MainType": "abuse",
"RoomId": "123",
"OpenId": "1111",
"Info":"",
"Offset": 0,
"Duration": 3400,
"PieceStartTime":1574684231,
"SubLabel": "PersonalAttack",
"ScanDetail": [{
"EndTime": 1110,
"KeyWord": "违规字",
"Label": "abuse",
"Rate": "90.00",
"StartTime": 1110
}, {
"EndTime": 1380,
"KeyWord": "违规字",
"Label": "abuse",
"Rate": "90.00",
"StartTime": 930
}, {
"EndTime": 1560,
"KeyWord": "违规字",
"Label": "abuse",
"Rate": "90.00",
"StartTime": 930
}, {
"EndTime": 2820,
"KeyWord": "违规字",
"Label": "abuse",
"Rate": "90.00",
"StartTime": 2490
}]
}],
"ScanStartTime": 1566720905,
"Scenes": [
"default"
],
"Status": "Success",
"TaskId": "6330xxxx-9xx7-11ed-98e3-52xxxxe4ac3b",
"Url": "https://xxx/xxx.m4a"
}
说明
回调详细字段说明见结构:DescribeScanResult
默认接口请求频率限制:1000次/秒。

语音消息审核回调说明

语音消息审核回调中,下载语音完成回调转文本完成回调为客户端回调,在客户端接口中,除会返回原先的 code、filepath、fileid 外,还会增加 auditResult 的回调数据。审核结果回调为服务端回调。

客户端回调示例

FileDownloadDelegateImpl filedAudioDownloadDelegate = new FileDownloadDelegateImpl(delegate (int code, string filepath, string fileid, string auditResult) {
showLoadingView(false, "");
if (code == 0)
{
showWarningText("下载成功");
InputField field = transform.Find("downloadFilePath").GetComponent<InputField>();
field.text = filepath;
InputField audioInput = transform.Find("auditResult").GetComponent<InputField>();
audioInput.text = auditResult;

}
else
{
showWarningText("下载失败" + Convert.ToString(code));
InputField field = transform.Find("downloadFilePath").GetComponent<InputField>();
field.text = "";
InputField audioInput = transform.Find("auditResult").GetComponent<InputField>();
audioInput.text = auditResult;
}
});

语音消息审核回调参数

名称
类型
描述
user_Id
Integer
业务方用户 ID
audit_res
Integer
审核状态,对应如下:
1:审核完成
2:审核中
3:语言不支持
4:没有勾选该语言送
DataId
Integer
数据唯一标识
HitFlag
Boolean
是否违规:true 违规,false 不违规
Label
string
审核结果标签,对应如下:

normal:正常文本
porn:色情
abuse:谩骂
ad:广告
customized:自定义词库
illegal:违法
moan: 呻吟/娇喘
AsrText
string
语音转文本结果
Array of ScanDetail
包含语音消息的审核结果和违规内容
RequestId
Integer
唯一请求ID,用于跟踪查询问题

ScanDetail 数据结构

名称
类型
描述
Label
String
审核结果标签
Rate
String
机器判断当前违规类型的置信度,取值范围:0~100。分数越高,表示越有可能属于当前的违规类型
KeyWords
Array of String
违规关键词
StartTime
Integer
违规事件开始时间,单位为毫秒(ms)
EndTime
Integer
违规事件结束时间,单位为毫秒(ms)

审核结果回调示例

{
"user_id": 3333XXXX112221,
"audit_res": 1,
"DataId": "D3667B11-XXXX-XXXX-XXXX-14699D372EBB",
"HitFlag": true,
"Label": "abuse",
"AsrText": "识别文本",
"ScanDetail": [
{
"Label": "abuse",
"Rate": "90",
"KeyWord": [
"违规字",
"违规字"
]
}
],
"RequestId": "fe656b61-XXXX-XXXX-XXXX-b0e7ad972656"
}