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-callpueden 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. Sintransporty 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
- Abre tu página por HTTPS y permite el micrófono.
- Inicia una llamada: debe dispararse
call_startedy deberías escuchar al agente. - 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.