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.

GET/v1/calls/call_abc123·inbound
ringing·00:00

Transcripción

ringing…

Objeto de la llamada

statusringing
durationSeconds
turnCount0
endReason
cost

Webhooks

call.initiated00:00

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.

voice
Voz activada

El número del sender lo contesta el agente y se aceptan las llamadas salientes.

Saludo

Se dice al conectar la llamada. Si lo dejas vacío, el agente espera a que hable la otra persona. Máximo 1000 caracteres.

Agregar saludos por idioma
Idiomaauto

auto detecta el idioma de quien llama y lo sigue. La voz que elegiste se conserva: lo único que cambia es el idioma.

Vozpor defecto

Dos ids que aparecen en la especificación publicada. El catálogo completo de tu equipo se pide con GET /v1/agents/voices.

voiceSpeed1.00

De 0.5 a 1.5, 1.0 es natural. Solo lo respetan las voces que permiten cambiar la velocidad.

Interrupción

Viene activada. El agente deja de hablar apenas la otra persona empieza.

maxCallDurationMinutes15 min

De 1 a 120 minutos, 15 por defecto. La llamada termina sola al llegar al límite.

maxIdleSeconds30 s

De 5 a 300 segundos, 30 por defecto. Cuánto espera el agente en silencio antes de cortar.

Grabar llamadas

Guarda el audio de la llamada. Apagado si no lo enciendes.

Si atiende una contestadora

Qué hace el agente cuando detecta una contestadora en una llamada saliente. Cuelga si no le indicas otra cosa.

Transferir a un humano

Pon un número E.164 y el agente recibe una herramienta de transferencia para entregar la llamada.

agent.voice
{
  "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.

  1. 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.

  2. 02

    Configura la voz del agente

    Saludo, idioma, la voz que habla, cuánto espera en silencio, qué hacer si atiende una contestadora.

  3. 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.

Agentes de voz | Contestan y hacen llamadas con IA — Zavu | Zavu