实时语音审核、第三方语音流及音频文件审核回调说明
网络协议
如果在请求参数中指定了回调地址参数 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"}
语音消息审核回调说明
语音消息审核回调中,下载语音完成回调、转文本完成回调为客户端回调,在客户端接口中,除会返回原先的 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"}