Agentes de voz
Tu agentecontesta el teléfono.
El mismo agente que responde en WhatsApp puede tomar una llamada. Zavu corre el pipeline completo — reconocimiento de voz, el modelo, síntesis — lo bastante cerca como para que la conversación no se sienta como una fila de espera.
- POST /v1/calls · entrantes y salientes
- roles del transcript · user · assistant · tool
- call.initiated → answered → completed
Una llamada
Una llamada es un transcript, un estado y un costo.
Recorre lo que devuelve GET /v1/calls/{callId} mientras la llamada ocurre: los turnos en orden, el objeto de la llamada llenándose campo a campo y los webhooks disparándose cuando de verdad se disparan.
Transcripción
ringing…
Objeto de la llamada
Webhooks
cost llega con el evento final: primero se cobra la llamada, después se despacha call.completed.
Un ejemplo trabajado, no una grabación. Los campos, los roles y los eventos son los que documenta la API; el costo que se muestra es ilustrativo y depende del destino y la duración.
Qué hace
Seis cosas que hace en cada llamada.
Contesta llamadas entrantes
Apunta un número a un sender cuyo agente tenga voz activada. El agente atiende, saluda y lleva la conversación.
Hace llamadas salientes
Un POST a /v1/calls marca al destinatario y conecta al agente. Puedes cambiar el saludo, el idioma o la duración solo para esa llamada.
Se puede interrumpir
Si la persona habla encima, el agente se calla. La interrupción viene activada; el silencio y la duración total tienen cada uno su propio límite.
Sigue el idioma de quien llama
Fija un idioma BCP-47, o pasa auto y el agente sigue a quien habla. Si elegiste una voz propia, se conserva: lo único que cambia es el idioma.
Transfiere a un humano
Dale un número al agente y recibe una herramienta de transferencia. Cuando la conversación necesita una persona, entrega la llamada en vez de improvisar.
Transcripción y costo por llamada
Cada turno queda en orden, incluidas las herramientas que el agente llamó. Cada llamada terminada trae su duración, por qué terminó y cuánto costó.
Configura
Todo lo que el agente hace en una llamada es un solo objeto.
Cambia un control y mira cómo cambia el cuerpo de la petición. Lo que sigue en su valor por defecto no se envía, como debe ser un PATCH.
El número del sender lo contesta el agente y se aceptan las llamadas salientes.
Se dice al conectar la llamada. Si lo dejas vacío, el agente espera a que hable la otra persona. Máximo 1000 caracteres.
auto detecta el idioma de quien llama y lo sigue. La voz que elegiste se conserva: lo único que cambia es el idioma.
Dos ids que aparecen en la especificación publicada. El catálogo completo de tu equipo se pide con GET /v1/agents/voices.
De 0.5 a 1.5, 1.0 es natural. Solo lo respetan las voces que permiten cambiar la velocidad.
Viene activada. El agente deja de hablar apenas la otra persona empieza.
De 1 a 120 minutos, 15 por defecto. La llamada termina sola al llegar al límite.
De 5 a 300 segundos, 30 por defecto. Cuánto espera el agente en silencio antes de cortar.
Guarda el audio de la llamada. Apagado si no lo enciendes.
Qué hace el agente cuando detecta una contestadora en una llamada saliente. Cuelga si no le indicas otra cosa.
Pon un número E.164 y el agente recibe una herramienta de transferencia para entregar la llamada.
{
"voice": {
"enabled": true,
"greeting": "Hola, gracias por llamar a Acme. ¿En qué puedo ayudarle?",
"language": "auto"
}
}La API
Cinco peticiones cubren toda la superficie.
La voz todavía no está generada en los SDKs, así que esto es curl y payloads crudos — las formas exactas que la API acepta y devuelve.
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" }
}'Cómo se llega
Tres pasos desde cero hasta un teléfono sonando.
- 01
Dale un número al sender
Compra un número con capacidad de voz, asócialo al sender y enciende el canal de voz.
- 02
Configura la voz del agente
Saludo, idioma, la voz que habla, cuánto espera en silencio, qué hacer si atiende una contestadora.
- 03
Llama, o recibe
Las entrantes funcionan apenas el número queda asociado. Las salientes son una petición cuando tu producto la necesite.
Antes de construir sobre esto
Lo que condiciona la voz, dicho sin rodeos.
- Voice Agents se habilita por equipo. Hasta que esté activo, todos los endpoints de llamadas devuelven 403 — pídenos habilitarlo.
- El agente del sender necesita voz encendida, y el sender necesita un número aprovisionado para llamadas. Encender voz sin número se rechaza en vez de guardarse.
- No se pueden hacer llamadas con una API key de modo de prueba.
- Se cobra por minuto conectado más telefonía, desde tu balance prepago. Al marcar se reserva una estimación corta y al colgar se cobra la duración real.
- Las llamadas no aparecen en las estadísticas ni en las ejecuciones de mensajería del agente — una llamada es una conversación, no un mensaje entrante. Se leen en /v1/calls.
Dale un número y empieza a hablar.
Empieza gratis, sin tarjeta. La voz se habilita por equipo — dinos y la activamos.