AI4CALL Widget
Una línea de código para que tus visitantes hablen con el asistente IA de voz directamente desde el navegador.
📑
1
Inicio rápido
Copia y pega en tu HTML. Listo.
🔑
¿Dónde encuentro mi apikey?
En el portal AI4CALL, en la ficha de tu asistente. Tiene el formato
ai4call_sk_xxxxxxxx. 2
Parámetros
Todos los data-* disponibles en el script tag.
| data-apikey | cadena | Apikey del asistente AI4CALL. Identifica qué asistente responde a la llamada. |
| Parámetro | Valores | Descripción |
|---|---|---|
| data-mode | embed fixed api |
embed = el botón aparece donde colocas el script tag. fixed = botón flotante en una esquina, siempre visible. api = sin interfaz, solo API JavaScript. |
| data-style | pill round square minimal pulse gradient outline 3d glass neon |
Estilo gráfico del botón. Ver galería de estilos. |
| data-color | #hex |
Color principal del botón. |
| data-position | bottom-right bottom-left top-right top-left bottom-center |
Posición del botón. Solo para mode=fixed. |
| data-text | texto libre | Texto del botón (p. ej. "Habla con Mario"). |
| data-hide-branding | true false |
Oculta "Powered by AI4CALL". Sujeto al plan contractual. |
| Parámetro | Valores | Descripción |
|---|---|---|
| data-cid-name | texto libre | Nombre CallerID personalizado visible para el asistente. |
| data-cid-num | número | Número CallerID personalizado. |
| Parámetro | Valores | Descripción |
|---|---|---|
| data-lang | it en fr es |
Idioma de los textos automáticos (Conexión, En llamada, Colgar). |
3
Galería de estilos
10 estilos disponibles. Elige el color y el estado para ver la vista previa.
4
Comportamiento
El botón cambia automáticamente de aspecto según el estado de la llamada.
💡
Sin modal, sin popup. Un único botón que cambia de estado. ¿Varios asistentes en la misma página? Solo una llamada a la vez: los otros se desactivan automáticamente.
5
Ejemplos
Snippets listos para copiar y pegar para cada escenario.
Ejemplo mínimo
Estilo y texto personalizados
Flotante abajo a la izquierda
Con CallerID personalizado
Galería — varios asistentes en la misma página
Todos los parámetros
6
API JavaScript
Para desarrolladores que quieran crear su propia interfaz personalizada.
Usa data-mode="api" para no tener interfaz del widget. Construye tu UI con las funciones JavaScript expuestas.
| Función | Parámetros | Descripción |
|---|---|---|
| AI4CALL.call(opts) | {cidName, cidNum} |
Inicia la llamada al asistente. |
| AI4CALL.hangup() | — | Cuelga la llamada en curso. |
| AI4CALL.getState() | — | Devuelve el estado: idle, calling, connected. |
| AI4CALL.onStateChange(fn) | fn(state, secs) |
Callback en cada cambio de estado. secs = duración de la llamada en segundos. |
Botón único con toggle
CallerID dinámico con usuario autenticado
👤
Escenario: el usuario está logueado en tu sitio
Si tu sitio tiene una zona privada con autenticación, puedes pasar el número de teléfono del usuario logueado como CallerID. El asistente IA sabrá quién está llamando y podrá responder de forma personalizada.
⚙️
Cómo funciona
El CallerID se pasa como cabecera SIP al asistente IA. Si el asistente está configurado con una herramienta MCP de búsqueda de clientes, puede reconocer el número y personalizar la conversación: "Buenos días Mario, ¿en qué puedo ayudarle?"
Ejemplo PHP — inyectar los datos del usuario en el template
⚠️
Nota de seguridad
El CallerID se establece en el cliente, así que el usuario podría modificarlo. No lo uses para autenticación o acceso a datos sensibles. Úsalo como pista para el asistente IA, no como garantía de identidad.
7
Requisitos técnicos
Lo que necesitas para que el widget funcione.
WebRTC
El navegador debe soportar WebRTC. Todos los navegadores modernos lo hacen: Chrome, Firefox, Safari, Edge.
Micrófono
El navegador pedirá permiso en el primer click. Si el usuario lo rechaza, la llamada no puede iniciarse.
HTTPS
Obligatorio. WebRTC y el acceso al micrófono requieren una conexión segura.
Sin dependencias
El widget carga todo de forma autónoma (~15KB). La librería SIP se carga en segundo plano tras 3 segundos, sin bloquear la página.