Puedes hacer todo esto sin cURL: la página del panel Widgets web
(
/dashboard/web-widgets) crea el widget, configura su modo
y agente, administra los dominios permitidos y te proporciona el fragmento de inserción.Requisitos previos
1
Crea un agente
El agente cuyo prompt y voz ejecutarán la sesión del widget. Configura
widget_enabled: true (el valor predeterminado).2
Decide el modo de enrutamiento
mode="agent"— un agente estático por clave. La opción más sencilla.mode="webhook"— tu servidor elige el agente para cada visitante mediante un webhookweb.incoming. Úsalo para usuarios con sesión iniciada, pruebas A/B o enrutamiento por página.
3
Enumera los dominios permitidos
Las claves publicables están bloqueadas por origen. Debes indicar cada nombre de host
que incorporará el widget.
localhost / 127.0.0.1 siempre están
permitidos durante el desarrollo local.Crea una clave publicable
key que comienza con pk_live_.... Las claves publicables
son públicas por diseño — es seguro incluirlas en tu paquete de front-end.
Consulta la referencia de claves publicables para ver
todos los campos.
Integra el widget en tu sitio
En la documentación del SDK del widget se incluyen tres opciones de integración:Componente de React
<ThunderPhoneWidget publishableKey="pk_live_..." />.Hook sin interfaz
useThunderPhone() para interfaces personalizadas.Etiqueta de script de CDN
ThunderPhone.mount({...}) para sitios sin empaquetador.publishableKey y muestran el botón
del micrófono junto con el elemento de audio durante la llamada.
El context del widget se trunca a 12,000 caracteres (aproximadamente 3,400
tokens de texto típico en inglés) y cuenta para el
recargo por tamaño de prompt.
Webhooks del modo widget
Cuandomode="webhook", ThunderPhone llama a tu webhook_url al iniciar cada
sesión con una carga útil web.incoming. Devuelve la configuración del agente
que quieres ejecutar para ese visitante — sigue el mismo
esquema de respuesta que las
llamadas telefónicas:
Observa las sesiones
Las sesiones del widget aparecen enGET /v1/calls con
direction="widget" — misma transcripción, grabación, evaluación y
facturación que las llamadas telefónicas. Filtra por direction para crear un
panel exclusivo para widgets.
Próximos pasos
Referencia del SDK del widget
Detalles de integración con React / hook / CDN.
Configuración dinámica por llamada
Implementa el flujo
mode="webhook" de principio a fin.Referencia de claves publicables
Todos los campos del recurso de clave.
API de sesiones de micrófono
Omite el widget; controla LiveKit directamente para interfaces personalizadas.