upload_red_packet_voice
上传用于语音红包验证的音频并取得验证结果。
此接口在已认证的服务连接中调用,账号须属于当前框架且处于在线状态。self_id 与 protocol_id 共同选择账号。
本地文件只可从管理员允许的媒体目录读取;不允许任意读取框架数据、密钥或系统文件。也可使用本服务的 file_transfer 已完成上传引用。
适用协议
Android(手机 / 平板);Linux QQ 支持情况待核验。
调用方式
Free 不可调用。Plus 每次调用核对当前 QQ 最新等级,至少需要 32 级;Pro 不设这项 QQ 等级门槛。语音红包领取材料同样受此限制。
向已认证的 WebSocket 连接发送:
json
{
"type": "action",
"id": "example-1",
"action": "upload_red_packet_voice",
"params": {
"self_id": 123456789,
"protocol_id": 0,
"red_packet": {
"title": "example",
"listid": "example",
"authkey": "example",
"channel": 1,
"pay_flag": 1,
"hb_from": 1,
"msg_random": 1,
"client_seq": 1,
"grab_uin_list": []
},
"sender_id": 1,
"file_path": "data/media-downloads/example.png"
}
}响应通过相同 id 对应请求。连接、HTTP 调用与错误处理见通信协议。
参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
self_id | integer | 是 | 当前框架内的账号 QQ 号 |
protocol_id | integer | 是 | 账号协议配置 ID;从 get_protocol_list 获取,必须显式传入,0 也是有效 ID |
red_packet | object | 是 | 红包参数对象,详见下方结构 |
red_packet.title | string | 见说明 | 收到的红包标题,沿用消息事件中的值 |
red_packet.listid | string | 见说明 | 消息事件中的红包编号 |
red_packet.authkey | string | 见说明 | 消息事件中的红包认证键 |
red_packet.channel | integer | 见说明 | 上游红包通道值 |
red_packet.pay_flag | integer | 见说明 | 消息事件中的红包支付标识 |
red_packet.hb_from | integer | 见说明 | 消息事件中的红包来源标识 |
red_packet.msg_random | integer | 见说明 | 上游消息随机数 |
red_packet.client_seq | integer | 见说明 | 客户端序列号 |
red_packet.grab_uin_list | integer[] | 见说明 | 红包消息中的领取目标 QQ 列表 |
sender_id | integer | 是 | 发送红包或转发资源的 QQ 号 |
file_path | string | 二选一 | 文件来源;本地文件须在管理员允许的媒体目录内,或使用 transfer:// 引用 |
base64 | string | 二选一 | 音频 Base64 内容,与 file_path 二选一 |
返回值
以下为成功响应的 data,错误通过 ok: false 与 error 返回。
| 字段 | 类型 | 说明 |
|---|---|---|
status | integer | 处理状态 |
degree | string | 语音匹配评分 |
voice_rate_id | string | 语音红包验证结果标识 |
matched | boolean | matched |
