> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.callix.dev.br/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.callix.dev.br/_mcp/server.

# Escopo e limites

## O que está e o que não está coberto

O SDK cobre **voz**. Os três pacotes não expõem chat, WhatsApp, e-mail ou qualquer canal além de telefonia — toda a superfície pública é telefônica. Integrações de outros canais seguem por caminhos distintos da plataforma.

Dentro de voz, a operação do agente tem duas origens de chamada: a campanha entrega a chamada ao agente, e o agente disca manualmente. É o que `CallInfo` reflete — os dois únicos formatos de contexto que o SDK entrega são `campaign` e `manual`.

| Origem da chamada                                     | Suportada | Contexto de negócio entregue                     |
| ----------------------------------------------------- | --------- | ------------------------------------------------ |
| **Campanha** — o discador entrega a chamada ao agente | Sim       | campanha, lista e contato, estruturados          |
| **Manual** — o agente disca para um número            | Sim       | qualificações disponíveis para o pós-atendimento |

> **Warning**
>
> **Atendimento receptivo de fila não é atendido pelo SDK.** Uma operação que precise receber chamadas de fila continua na tela de operação da Callix para essa parte. Vale confirmar a origem das chamadas antes de dimensionar a integração: se a operação for majoritariamente receptiva, o SDK cobre menos do que parece à primeira vista.

### Outros limites

* **Não é SDK de supervisão nem de relatório.** Há exatamente um evento público (`userSessionDropped`). O monitoramento da operação continua pela API e pelos relatórios da plataforma.
* **Execução em browser.** Depende de WebRTC e de microfone; não atende cenários de automação sem interface.
* **Mobile via WebView.** O exemplo React Native de referência não integra o SDK nativamente — ele carrega a aplicação web dentro de uma WebView. É um caminho funcional, distinto de um app nativo.

> **Note**
>
> **Faltou alguma capacidade?** Se o caso de uso do seu projeto não é coberto pelo que está descrito aqui — receptivo de fila, outro canal, uma capacidade que fez falta — escreva para **[produtos@callix.com.br](mailto:produtos@callix.com.br)** com o assunto *Caso de uso - SDK*.

## Comportamentos que exigem decisão

### O operador entra em operação automaticamente

Ao inicializar o SDK, o operador vai de `starting` direto para `idle`, sem comando explícito. Na prática, abrir a tela coloca o agente online e elegível a receber discagem de campanha. Se a aba ficar aberta em segundo plano, o agente pode receber chamada sem atender, o que gera abandono e afeta o resultado da campanha como um todo.

Não há parâmetro de inicialização para alterar esse comportamento. A abordagem é chamar `goOffline()` ou `enterOnBreak()` assim que o estado deixa `starting`, conforme a política de operação desejada.

### Uma sessão por usuário

Criar uma sessão invalida as anteriores do mesmo login Callix. Duas abas da aplicação competem entre si, e o uso simultâneo da tela nativa da Callix derruba a sessão do SDK. A integração precisa garantir uma sessão ativa por agente e tratar o evento `userSessionDropped`, comunicando a situação na interface em vez de degradar silenciosamente.

### Escala do controle de volume

A referência do controle de volume indica a faixa `0–100`, enquanto o exemplo oficial e o comportamento esperado do elemento de áudio operam em `0–1`. Recomenda-se adotar `0–1` e confirmar o comportamento em teste antes de expor o controle ao agente.

## Pré-requisitos e questões de escopo

O que precisa estar definido antes de estimar:

| Questão                                                                   | O que a resposta determina                                                                                  |
| ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| A tela de atendimento é construída em React?                              | Sim → uso do pacote de hooks, caminho documentado. Não → integração pelo núcleo, sem exemplo de referência. |
| Existe backend próprio, capaz de guardar um segredo?                      | Pré-requisito. Sem servidor não há forma segura de emitir o token de sessão.                                |
| A aplicação é servida por HTTPS?                                          | Pré-requisito. Sem contexto seguro o browser não concede acesso ao microfone.                               |
| Como o usuário da aplicação se relaciona com o usuário da Callix?         | O token é emitido por login Callix; esse mapeamento é o ponto de partida da integração.                     |
| As chamadas nascem de campanha, de discagem manual, ou de fila receptiva? | Campanha e manual são cobertas pelo SDK. Fila receptiva não é.                                              |
| O agente mantém a tela aberta durante todo o turno?                       | Define o tratamento do estado inicial automático e da sessão única.                                         |
| Qual time assume a implementação?                                         | Determina a profundidade técnica das próximas conversas e o formato do acompanhamento.                      |