# 获取来访录音信息

## 接口信息

- **路径**：POST `/api/beauty/v1/visit/audios`
- **说明**：根据接访单ID获取绑定的录音信息

## 请求参数

### Body参数（JSON）

| 参数 | 必选 | 类型 | 默认值 | 描述 |
|------|------|------|--------|------|
| estateId | 是 | integer | - | 项目ID |
| externalVisitIds | 是 | string[] | - | 三方来访ID数组，长度1~10 |

### 请求示例

```json
{
  "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 | 销售人员姓名 |

### 响应示例

```json
{
  "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": "张三"
      }
    ]
  }
}
```

## 业务逻辑

1. 一个来访单可能包含多个录音片段
2. 录音URL有效期为7天，过期需重新获取
3. 如果来访单未绑定录音，records为空数组

## 错误码

| code | msg | 说明 |
|------|-----|------|
| 0 | success | 成功 |
| 1001 | 参数错误 | 请求参数不合法 |
| 1002 | 未授权 | access_token无效或过期 |
| 1003 | 项目不存在 | estateId不存在 |

## 使用场景

1. 获取某个客户来访记录的所有录音
2. 批量下载录音文件
3. 为后续ASR分析提供录音ID


