- 从服务器拉取完整代码 - 按框架规范整理项目结构 - 配置 Drone CI 测试环境部署 - 包含后端(FastAPI)、前端(Vue3)、管理端 技术栈: Vue3 + TypeScript + FastAPI + MySQL
2.1 KiB
2.1 KiB
获取来访录音信息
接口信息
- 路径:POST
/api/beauty/v1/visit/audios - 说明:根据接访单ID获取绑定的录音信息
请求参数
Body参数(JSON)
| 参数 | 必选 | 类型 | 默认值 | 描述 |
|---|---|---|---|---|
| estateId | 是 | integer | - | 项目ID |
| externalVisitIds | 是 | string[] | - | 三方来访ID数组,长度1~10 |
请求示例
{
"estateId": 516799468310364162,
"externalVisitIds": ["visit_001", "visit_002"]
}
响应结果
Body结构
| 参数 | 类型 | 说明 |
|---|---|---|
| records | list | 录音文件列表 |
| └─ id | bigint | 录音ID |
| └─ externalVisitId | string | 三方接访单ID |
| └─ fileUrl | varchar | 录音地址(7天有效) |
| └─ startTime | datetime | 录音开始时间(yyyy-MM-dd HH:mm:ss) |
| └─ endTime | datetime | 录音结束时间(yyyy-MM-dd HH:mm:ss) |
| └─ duration | bigint | 文件时长(毫秒) |
| └─ fileSize | bigint | 文件大小(字节) |
| └─ consultantPhone | varchar | 销售人员手机号 |
| └─ consultantName | varchar | 销售人员姓名 |
响应示例
{
"code": 0,
"msg": "success",
"data": {
"records": [
{
"id": 123456,
"externalVisitId": "visit_001",
"fileUrl": "https://example.com/audio/123456.mp3",
"startTime": "2025-01-15 10:30:00",
"endTime": "2025-01-15 10:35:00",
"duration": 300000,
"fileSize": 2048000,
"consultantPhone": "13800138000",
"consultantName": "张三"
}
]
}
}
业务逻辑
- 一个来访单可能包含多个录音片段
- 录音URL有效期为7天,过期需重新获取
- 如果来访单未绑定录音,records为空数组
错误码
| code | msg | 说明 |
|---|---|---|
| 0 | success | 成功 |
| 1001 | 参数错误 | 请求参数不合法 |
| 1002 | 未授权 | access_token无效或过期 |
| 1003 | 项目不存在 | estateId不存在 |
使用场景
- 获取某个客户来访记录的所有录音
- 批量下载录音文件
- 为后续ASR分析提供录音ID