Documentación
API de Llamadas (voz).md

Migrar llamadas web a v3

⚠️ Fecha límite: 30 de septiembre de 2026. Desde esa fecha, las integraciones que crean llamadas web con /v2/create-web-call pueden dejar de funcionar sin aviso. Las llamadas telefónicas (/v2/create-phone-call) y el resto de la API no cambian.

Esta guía es para quienes integraron llamadas web (el botón "hablar con el agente" en un sitio o app) con la API de Llamadas de Anunzi. Si usas el widget de voz de Anunzi (el código que se copia desde el panel), no tienes que hacer nada: ya está actualizado.


Resumen de cambios

Antes (v2) Ahora (v3)
Ruta POST /v2/create-web-call POST /v3/create-web-call
Cuerpo agent_id, metadata, retell_llm_dynamic_variables… Igual
Respuesta Objeto completo de la llamada + access_token Solo call_id, access_token y datos de conexión (transport, url, ice_servers)
Frontend startCall({ accessToken }) startCall({ accessToken, callId, transport, url, iceServers }) con el SDK v3
Autenticación API Key en Authorization: Bearer Igual: tu API Key de Anunzi (anz_live_…)

Paso 1 — Backend: cambiar la ruta y devolver los datos de conexión

Cambia v2 por v3 en la URL. El cuerpo no cambia:

curl --request POST \
     --url https://calls.anunzi.net/v3/create-web-call \
     --header 'Authorization: Bearer anz_live_TU_API_KEY' \
     --header 'Content-Type: application/json' \
     --data '{ "agent_id": "agent_3f9c1a7b2e4d5c6f" }'

Tu backend tiene que devolverle al frontend toda la respuesta (no solo el token):

{
  "call_id": "Kx2pYnWVmlR3eDsT1Qva59fHgJzLcAXb",
  "access_token": "eyJhbGciOi...",
  "transport": "gateway",
  "url": "wss://…",
  "ice_servers": [ { "urls": ["stun:…"] } ]
}

Si tu código leía otros campos de la respuesta de v2 (call_status, agent_version, metadata…), ahora obtenlos con Obtener llamada usando el call_id.

⚠️ La creación de la llamada va siempre en tu servidor. Nunca pongas la API Key en el código del navegador.


Paso 2 — Frontend: usar el SDK v3 y pasarle los datos de conexión

Reemplaza el SDK de llamadas web que tengas instalado (la versión 2.x deja de funcionar el 18 de octubre de 2026) por el SDK de Anunzi, que se importa desde nuestro dominio:

import { VoiceClient } from 'https://panel.anunzi.net/voice/web-sdk.php';
const client = new VoiceClient();

Y al iniciar la llamada, pasa todos los datos que devolvió tu backend:

// Antes (v2)
await client.startCall({ accessToken: call.access_token });

// Ahora (v3)
await client.startCall({
  accessToken: call.access_token,
  callId:      call.call_id,
  transport:   call.transport,
  url:         call.url,
  iceServers:  call.ice_servers,
});

Los eventos (call_started, call_ended, agent_start_talking, agent_stop_talking, error) y stopCall() no cambian.

⚠️ El error más común al migrar: pasar solo el accessToken. Sin transport y los demás datos, el SDK usa otro tipo de conexión y la llamada no conecta (queda "conectando" o se corta al instante).


Paso 3 — Probar

  1. Abre tu página por HTTPS y permite el micrófono.
  2. Inicia una llamada: debe dispararse call_started y deberías escuchar al agente.
  3. Cuelga y consulta la llamada con Obtener llamada: debe aparecer con su transcripción.

Si algo falla, abre la consola del navegador y revisa la respuesta de tu backend: tiene que incluir transport. Si necesitas ayuda, contacta con soporte indicando el call_id y la hora de la prueba.


Ejemplo completo

Ver Crear llamada web para un ejemplo completo de página con botón de llamar y colgar.

Esc