> For the complete documentation index, see [llms.txt](https://digitalsac.gitbook.io/digicalls/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://digitalsac.gitbook.io/digicalls/dispositivo/gravacao.md).

# Gravação

O DigiCalls pode gravar chamadas em **mp3** (local no servidor) ou enviar para **S3/R2** configurado por usuário.

### Modos

| Modo      | Quem configura          | Armazenamento                                |
| --------- | ----------------------- | -------------------------------------------- |
| **Local** | Admin (servidor)        | Disco do servidor (`WACALLS_RECORDINGS_DIR`) |
| **S3/R2** | Usuário (menu Gravação) | Bucket próprio                               |

### Habilitar gravação na chamada

Ao originar via API:

```json
POST /api/sessions/{sid}/calls
{ "phone": "5511999998888", "record": true }
```

A gravação só ocorre se o usuário dono do device tiver modo habilitado.

### Configurar S3 (usuário)

```
GET  /api/me/recording
PUT  /api/me/recording
```

Body exemplo:

```json
{
  "enabled": true,
  "mode": "s3",
  "bucket": "meu-bucket",
  "region": "auto",
  "endpoint": "https://....r2.cloudflarestorage.com",
  "accessKey": "...",
  "secretKey": "...",
  "prefix": "digicalls/"
}
```

### Baixar gravação

#### Painel / sessão autenticada

```
GET /api/calls/{callId}/recording
```

#### API key (integração)

```
GET /api/recordings/{callId}
Header: X-Api-Key: dgu_...
```

Retorna stream `audio/wav` ou redirect/proxy S3 conforme config.

### Histórico

```
GET /api/sessions/{sid}/history
GET /api/devices/{token}/calls
```

Campo `recordingKey` quando disponível.

### Disponibilidade

Gravações locais ficam disponíveis logo após a chamada. Upload S3 pode levar alguns segundos.

### WABA oficial

Gravação em linhas **oficiais** ainda em evolução — priorize QR para gravação production hoje.

### Retenção

* **Local:** limitada por disco (`WACALLS_RECORD_MIN_FREE_BYTES` pode pausar gravações)
* **S3:** política do seu bucket (lifecycle rules)

### Campanhas

Campanhas podem usar áudio pré-gravado; gravação de chamadas atendidas segue regras acima.

### Privacidade

Informe contatos sobre gravação conforme LGPD/políticas da sua empresa.
