> 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/digicalls-sdk/referencia/tipos.md).

# Tipos

Referência dos tipos principais exportados por `@digitalsac/digicalls-sdk`.

### Config

```typescript
interface DigiCallsConfig {
  baseUrl: string;
  tokens?: string[];
  deviceNames?: Record<string, string>;
  micDeviceId?: string;
  outputDeviceId?: string;
}
```

### Peer

```typescript
interface Peer {
  phone: string;
  name?: string;
  avatar?: string;
}
```

### Device (snapshot)

```typescript
{
  token: string;
  sessionId: string;
  name: string;
  number: string;
  connected: boolean;
}
```

### Eventos SSE (`BrokerEvent`)

| `type`             | Campos úteis                                                  |
| ------------------ | ------------------------------------------------------------- |
| `incoming`         | `sessionId`, `id`, `peer`                                     |
| `incoming-claimed` | `sessionId`, `id`, `owner`                                    |
| `call-status`      | `id`, `status` (`connected`, …)                               |
| `call-ended`       | `id`, `reason`                                                |
| `call-peer`        | `peerPhone`, `peerName`, `peerAvatar`                         |
| `call-peer-mute`   | `sessionId`, `id`, `muted` (`boolean`) — mute do interlocutor |
| `call-list`        | lista de chamadas ativas (pode incluir `peerMuted?: boolean`) |
| `session-list`     | devices do usuário                                            |
| `session-qr`       | `qr` string                                                   |
| `auth-state`       | `state`, `paired`                                             |

### Status de chamada (backend)

```typescript
type CallStatus = "starting" | "ringing" | "connected" | "ended";
```

### End reasons (exemplos)

Valores comuns em `call-ended.reason`:

* `user_ended`
* `disconnected`
* `remote_hangup`
* `failed`
* `timeout`

### Autenticação HTTP

| Esquema        | Header                          | Uso             |
| -------------- | ------------------------------- | --------------- |
| Device token   | `Authorization: Bearer dev_…`   | SDK / webphone  |
| Sessão usuário | `Authorization: Bearer <login>` | Painel          |
| API key        | `X-Api-Key: dgu_…`              | Provisionamento |

### OpenAPI

Especificação completa: <https://calls.digitalsac.io/docs/> ou `GET /api/openapi.yaml`.
