Agentes de voz
Seu agenteatende o telefone.
O mesmo agente que responde no WhatsApp pode atender uma chamada. A Zavu roda o pipeline inteiro — reconhecimento de fala, o modelo, síntese — perto o suficiente para a conversa não parecer uma fila de espera.
- POST /v1/calls · recebidas e de saída
- papéis do transcript · user · assistant · tool
- call.initiated → answered → completed
Uma chamada
Uma chamada é um transcript, um status e um custo.
Percorra o que GET /v1/calls/{callId} devolve enquanto a chamada acontece: os turnos em ordem, o objeto da chamada preenchendo campo a campo e os webhooks disparando nos momentos em que realmente disparam.
Transcrição
ringing…
Objeto da chamada
Webhooks
cost chega com o evento final: a chamada é cobrada primeiro, o call.completed é despachado depois.
Um exemplo trabalhado, não uma gravação. Os campos, os papéis e os eventos são os que a API documenta; o custo mostrado é ilustrativo e depende do destino e da duração.
O que faz
Seis coisas que ele faz em cada chamada.
Atende chamadas recebidas
Aponte um número para um sender cujo agente tenha voz ativada. O agente atende, cumprimenta e conduz a conversa.
Faz chamadas
Um POST em /v1/calls disca para o destinatário e conecta o agente. Dá para trocar a saudação, o idioma ou a duração só naquela chamada.
Pode ser interrompido
Se a pessoa fala por cima, o agente para. A interrupção vem ligada; silêncio e duração total têm cada um seu limite.
Segue o idioma de quem liga
Fixe um idioma BCP-47, ou passe auto e o agente segue quem fala. Se você escolheu uma voz própria, ela é mantida — só o idioma muda.
Transfere para um humano
Dê um número ao agente e ele ganha uma ferramenta de transferência. Quando a conversa precisa de uma pessoa, ele passa a chamada em vez de improvisar.
Transcrição e custo por chamada
Cada turno fica registrado em ordem, incluindo as ferramentas que o agente chamou. Cada chamada encerrada traz duração, por que terminou e quanto custou.
Configure
Tudo o que o agente faz numa chamada é um objeto só.
Mude um controle e veja o corpo da requisição mudar junto. O que continua no padrão fica de fora, como um PATCH deve ser.
O número do sender é atendido pelo agente e as chamadas de saída são aceitas.
Falada quando a chamada conecta. Deixe vazia e o agente espera a pessoa falar primeiro. Máximo de 1000 caracteres.
auto detecta o idioma de quem liga e segue. A voz que você escolheu é mantida — só o idioma muda.
Dois ids que aparecem na especificação publicada. O catálogo completo do seu time vem de GET /v1/agents/voices.
De 0.5 a 1.5, 1.0 é natural. Só é respeitado pelas vozes que permitem mudar a velocidade.
Vem ligada. O agente para de falar assim que a pessoa começa.
De 1 a 120 minutos, 15 por padrão. A chamada termina sozinha ao chegar no limite.
De 5 a 300 segundos, 30 por padrão. Quanto o agente espera em silêncio antes de encerrar.
Guarda o áudio da chamada. Desligado até você ligar.
O que o agente faz ao detectar uma secretária eletrônica numa chamada de saída. Desliga, salvo instrução em contrário.
Coloque um número E.164 e o agente ganha uma ferramenta de transferência para passar a chamada.
{
"voice": {
"enabled": true,
"greeting": "Olá, obrigado por ligar para a Acme. Como posso ajudar?",
"language": "auto"
}
}A API
Cinco requisições cobrem toda a superfície.
Voz ainda não é gerada nos SDKs, então aqui é curl e payload cru — as formas exatas que a API aceita e devolve.
curl -X POST https://api.zavu.dev/v1/calls \
-H "Authorization: Bearer $ZAVU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+56912345678",
"senderId": "sender_12345",
"language": "es-ES",
"greeting": "Hola, le llamamos de Acme por su cita de mañana.",
"maxDurationMinutes": 10,
"metadata": { "campaign": "appointment_reminders" }
}'Como chegar lá
Três passos do zero até um telefone tocando.
- 01
Dê um número ao sender
Compre um número com capacidade de voz, ligue-o ao sender e ative o canal de voz.
- 02
Configure a voz do agente
Saudação, idioma, a voz que fala, quanto espera em silêncio, o que fazer com uma secretária eletrônica.
- 03
Ligue, ou receba
As recebidas funcionam assim que o número é ligado. As de saída são uma requisição quando seu produto precisar.
Antes de construir em cima disso
O que condiciona a voz, sem rodeios.
- Voice Agents é habilitado por time. Enquanto não estiver ligado, todos os endpoints de chamada retornam 403 — peça para habilitarmos.
- O agente do sender precisa de voz ligada, e o sender precisa de um número provisionado para chamadas. Ligar voz sem número é recusado, não guardado.
- Não é possível fazer chamadas com uma API key de modo de teste.
- A cobrança é por minuto conectado mais telefonia, do seu saldo pré-pago. Uma estimativa curta é reservada ao discar e a duração real é cobrada ao desligar.
- Chamadas não aparecem nas estatísticas nem nas execuções de mensageria do agente — uma chamada é uma conversa, não uma mensagem recebida. Leia em /v1/calls.
Dê um número e ele começa a falar.
Comece grátis, sem cartão. A voz é habilitada por time — fale conosco e ativamos.