Skip to main content
El componente ThunderPhoneWidget muestra una barra de llamada con efecto de vidrio esmerilado y controles integrados para silenciar, finalizar la llamada y mostrar el estado de conexión. Es la forma más rápida de agregar IA de voz a una app de React.

Instalación

Uso básico

Debes importar el archivo CSS para que el widget se muestre correctamente. Sin él, el widget no tendrá estilos.

Propiedades

El componente acepta las siguientes propiedades mediante ThunderPhoneWidgetProps:

Ejemplos

Tema oscuro con color personalizado

Posición personalizada

Idioma, voz y contexto por sesión

Las props language, voice y context se reenvían a la solicitud de sesión (POST /widget/session) cuando inicia una llamada, reemplazando los valores predeterminados configurados del agente para esa sesión:
Usa context para proporcionar al agente conocimiento factual sobre la página en la que se encuentra el visitante: detalles del producto, precios o preguntas frecuentes específicas de la página. Se trunca del lado del servidor a 12,000 caracteres.

Con callbacks de eventos

Con estilos personalizados

Consulta la guía de estilos para ver todas las clases de CSS y propiedades personalizadas disponibles.

Con tono de llamada

Reproduce un sonido de teléfono sonando mientras se establece la conexión:
Usa un tono de llamada personalizado pasando la URL de un archivo de audio:
El tono de llamada se repite mientras el widget está en el estado connecting y se desvanece suavemente cuando el agente se conecta.

Con una base de API personalizada

Solo necesitas configurar apiBase si usas un endpoint de API autohospedado o con proxy. El valor predeterminado apunta a https://api.thunderphone.com/v1.

Manejo de errores

Cuando se activa el callback onError, recibe un objeto de error con dos campos: Los códigos de error comunes incluyen dominio no permitido, agente no encontrado y clave de API no válida.

Próximos pasos

Hook headless

¿Necesitas control total sobre la interfaz? Usa el hook useThunderPhone.

Estilos

Personaliza los colores, tamaños y la disposición con propiedades personalizadas de CSS.