> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Integração com a Vonage

## Visão geral

Conecte o ElevenLabs Agents a chamadas da API de Voz ou da API de Vídeo da Vonage usando um [aplicativo conector WebSocket](https://github.com/nexmo-se/elevenlabs-agent-ws-connector). Isso permite streaming de áudio bidirecional em tempo real para casos de uso como chamadas PSTN, troncos SIP e clientes WebRTC.

## Como funciona

O conector Node.js conecta a Vonage à ElevenLabs:

1. A Vonage inicia uma conexão WebSocket com o conector para uma chamada ativa.
2. O conector estabelece uma conexão WebSocket com o endpoint do ElevenLabs Agents.
3. O áudio é retransmitido: Vonage (L16) -> Connector -> ElevenLabs (base64) e vice-versa.
4. O conector gerencia eventos de conversa (`user_transcript`, `agent_response`, `interruption`).

## Configuração

### 1. Obtenha suas credenciais da ElevenLabs

* **Chave de API**: As chaves de API ficam na [aba API Keys da página Developers](https://elevenlabs.io/app/developers), acessível pelo link na barra lateral.
* **ID do agente**: Encontre o agente no [painel do ElevenAgents](https://elevenlabs.io/app/agents/agents/). Depois de selecionar o agente, clique no botão de configurações e selecione "Copy Agent ID".

### 2. Configure o conector

Clone o repositório e configure o arquivo de ambiente.

```bash
git clone https://github.com/nexmo-se/elevenlabs-agent-ws-connector.git
cd elevenlabs-agent-ws-connector
cp .env.example .env
```

Adicione suas credenciais ao `.env`:

**`.env`**

```bash title=".env"
ELEVENLABS_API_KEY = YOUR_API_KEY;
ELEVENLABS_AGENT_ID = YOUR_AGENT_ID;
```

Instale as dependências: `npm install`.

### 3. Exponha o conector (desenvolvimento local)

Use o ngrok ou um serviço semelhante para criar uma URL pública para o conector (porta padrão 6000).

```bash
ngrok http 6000
```

Anote a URL pública de `Forwarding` (por exemplo, `xxxxxxxx.ngrok-free.app`). **Não inclua `https://`** ao configurar a Vonage.

### 4. Execute o conector

Inicie o aplicativo:

```bash
node elevenlabs-agent-ws-connector.cjs
```

### 5. Configure o aplicativo de voz da Vonage

Seu aplicativo da Vonage precisa se conectar ao endpoint WebSocket do conector (`wss://YOUR_CONNECTOR_HOSTNAME/socket`). Essa é a URL do ngrok da etapa 3.

* **Use o aplicativo de exemplo**: Configure o [aplicativo de exemplo da Vonage](https://github.com/nexmo-se/voice-to-ai-engines) com `PROCESSOR_SERVER` definido como o nome de host do seu conector.
* **Atualize um aplicativo existente**: Modifique seu [Nexmo Call Control Object](https://developer.vonage.com/en/voice/voice-api/ncco-reference) para incluir uma ação `connect` direcionada ao URI WebSocket do conector (`wss://...`) com `content-type: audio/l16;rate=16000`. Transmita os parâmetros de consulta necessários, como `peer_uuid` e `webhook_url`.

### 6. Teste

Faça uma chamada recebida ou efetuada pelo seu aplicativo da Vonage para interagir com o agente da ElevenLabs.

## Implantação na nuvem

Para produção, implante o conector em um provedor de hospedagem estável (por exemplo, Vonage Cloud Runtime) com um nome de host público.