Launcher
Muestra un botón flotante y crea el chat solo cuando el visitante lo abre.
Integra Platica Webchat con una sola etiqueta. Elige un launcher flotante, una experiencia inline o una página completa y controla su comportamiento con JavaScript.
Asistente Platica
Disponible
01 · Instalación
Solicita la clave pública de tu canal, autoriza el dominio donde se mostrará y pega el
loader antes de cerrar </body>.
Identifica el canal sin exponer secretos.
Registra cada origen donde usarás el widget.
Usa defer para no bloquear el contenido de tu sitio.
<script
src="https://chat.platica.mx/widget.js"
data-webchat="TU_CLAVE_PUBLICA"
defer>
</script>Importante: la clave pública identifica el canal; no es una credencial privada. No agregues secretos ni encabezados de autorización al navegador.
02 · Modos
Los tres modos usan la misma configuración publicada y se adaptan al viewport.
Muestra un botón flotante y crea el chat solo cuando el visitante lo abre.
Monta el chat inmediatamente en un contenedor de tu página.
Ocupa todo el viewport para soporte, onboarding o portales privados.
Ejemplos de integración
Launcher flotante, chat inline o una experiencia de página completa.
Botón flotante que crea el iframe al hacer clic.
<script
src="https://chat.platica.mx/widget.js"
data-webchat="TU_CLAVE_PUBLICA"
defer>
</script>03 · Configuración
La configuración publicada define apariencia, contenido y comportamiento. El loader la aplica dentro de un entorno aislado para evitar conflictos con los estilos del sitio.
Probar configuradorPosición, tamaño, forma, offsets, ícono, sombra, pulso y badge.
Dimensiones, separación, breakpoint móvil y pantalla completa.
Tema, color primario, radios, tipografía y colores semánticos.
Identidad, bienvenida, placeholders y etiquetas de disponibilidad.
Mensajes sugeridos, formulario pre-chat y estado por pestaña.
Activación, formatos permitidos y límites publicados por el canal.
04 · Capacidades
El widget cubre el recorrido completo desde la primera interacción hasta la continuidad con tu equipo.
05 · API JavaScript
Al cargar el script se expone window.PlaticaWebchat. Si omites la clave en
una acción, se usa la primera instancia disponible.
await window.PlaticaWebchat.init({
publicKey: 'TU_CLAVE_PUBLICA'
})
await window.PlaticaWebchat.mount({
publicKey: 'TU_CLAVE_PUBLICA',
target: '#mi-chat',
instanceId: 'soporte'
})
await window.PlaticaWebchat.open('TU_CLAVE_PUBLICA')
window.PlaticaWebchat.close('TU_CLAVE_PUBLICA')
window.PlaticaWebchat.expand('TU_CLAVE_PUBLICA')
window.PlaticaWebchat.collapse('TU_CLAVE_PUBLICA')
await window.PlaticaWebchat.refresh('TU_CLAVE_PUBLICA')
window.PlaticaWebchat.destroy('TU_CLAVE_PUBLICA')Crea una instancia launcher. Acepta publicKey y, opcionalmente, instanceId.
Monta una instancia inline en un selector CSS o HTMLElement.
Abre el panel de una instancia launcher.
Cierra el panel y devuelve el foco al launcher.
Expande el panel cuando la configuración permite pantalla completa.
Restaura el panel a su tamaño configurado.
Vuelve a consultar la configuración publicada y redibuja la instancia.
Elimina la instancia y libera listeners y cambios de scroll.
06 · Eventos
El widget emite eventos en window. Todos incluyen la clave pública en event.detail.publicKey; el evento de error añade un mensaje diagnóstico.
El panel terminó de abrirse.
El panel fue cerrado.
No fue posible abrir el chat.
window.addEventListener('platica:webchat:opened', (event) => {
console.log('Chat abierto', event.detail.publicKey)
})
window.addEventListener('platica:webchat:closed', (event) => {
console.log('Chat cerrado', event.detail.publicKey)
})
window.addEventListener('platica:webchat:error', (event) => {
console.error('No se pudo abrir el chat', event.detail.message)
})07 · Adjuntos
Cuando el canal habilita adjuntos, el visitante puede enviar JPG, PNG o WebP desde el composer. Los archivos se validan antes de incorporarse a la conversación.
08 · Handover humano
Cuando una persona se incorpora, el chat muestra el cambio dentro del historial y conserva el contexto. Los mensajes humanos usan la identidad configurada para el operador o, si no existe, la identidad del asistente.
Sistema
Un miembro del equipo se unió a la conversación.
09 · Seguridad
La integración del navegador usa únicamente una clave pública. Las decisiones sensibles permanecen fuera del código de tu sitio.
Cada canal limita los orígenes desde donde puede iniciarse una conversación.
La UI vive separada de los estilos del host y valida el origen de sus mensajes.
Usa solo TU_CLAVE_PUBLICA. Nunca insertes credenciales privadas en HTML o JavaScript.
Sirve tu sitio por HTTPS y conserva la URL oficial de widget.js sin copiar su bundle.
El navegador recibe únicamente opciones necesarias para representar el chat.
Los formatos, cantidades y tamaños se comprueban antes de mostrar un adjunto.
10 · Troubleshooting
Empieza por la carga del script, la clave pública y la autorización del dominio.
Confirma que widget.js cargó, que data-webchat usa tu clave pública, que el canal está habilitado y que el dominio actual está autorizado.
Crea el elemento target antes de ejecutar el script y verifica que el selector de data-target coincida exactamente.
Espera a que termine de cargar widget.js. Usa defer, el evento load del script o llama la API después de insertar el loader.
Publica la configuración y ejecuta refresh('TU_CLAVE_PUBLICA') para volver a cargarla sin recargar la página.
Escucha platica:webchat:error y revisa la clave pública, la conectividad y la autorización del dominio. No expongas credenciales privadas para resolverlo.
Siguiente paso
Explora visualmente las opciones y exporta una configuración para tu canal.