Resolución de problemas: WhatsApp y chat web
WhatsApp y el chat web son canales de texto que funcionan con el mismo asistente que el teléfono. En WhatsApp, la causa casi siempre está en la conexión con Meta (tokens, secreto de la aplicación, suscripciones del webhook); en el chat web, en el código de tu sitio web y en los sitios web permitidos. A continuación tienes los problemas más comunes.
Síntomas, causas y soluciones
| Síntoma | Causa probable | Solución |
|---|---|---|
| Falla la verificación del webhook de WhatsApp | El Token de verificación no coincide, WhatsApp nunca se ha activado o la URL de callback es incorrecta | Vuelve a copiar Token de verificación y URL del webhook desde la pestaña Canales e introdúcelos de nuevo en Meta |
| Los mensajes de WhatsApp no reciben respuesta | Secreto de la aplicación incorrecto, Token de acceso caducado, campo messages sin suscribir, número sin registrar, ID del número de teléfono incorrecto, WhatsApp desactivado, sin suscripción activa, contacto bloqueado o la conversación está con el equipo | Mira si el mensaje está en la Bandeja y revisa los puntos de más abajo |
| Tu respuesta de WhatsApp falla después de 24 horas | La ventana de mensajes de WhatsApp se ha cerrado | Espera un mensaje nuevo del cliente o llámalo |
| El asistente no mira las imágenes | Interpretar imágenes está desactivado | Activa la opción en la pestaña Canales |
| Los mensajes de voz no se entienden | Los mensajes de voz no son compatibles | El asistente pide texto con una frase fija; esa frase no se puede cambiar |
| El widget de chat web no aparece | Código incompleto, nombre incorrecto en data-slug, chat web desactivado, sitio web no permitido, sin suscripción activa o bloqueador de anuncios | Revisa la consola del navegador, Activar el chat web y Sitios web permitidos |
| La página de chat lista para usar no funciona | El chat web está desactivado en la pestaña Canales o no hay ninguna suscripción activa | Activa la opción Activar el chat web o elige un plan |
setContext da un error o no hace nada | Se llama antes de que se cargue widget.js, supera los 8 KiB o la conversación está con el equipo | Llama a setContext cuando widget.js se haya cargado y mantén el contexto pequeño |
| Los mensajes del equipo no se envían | Rol Lector, conversación terminada o Meta rechaza el mensaje | Pide a un Editor o a un Administrador que responda, o espera un mensaje nuevo del cliente |
Falla la verificación del webhook de WhatsApp
Al guardar el webhook, Meta comprueba que conocemos el token de verificación y que la URL de callback responde.
- Abre Asistentes, elige el asistente, ve a la pestaña Canales y abre la tarjeta WhatsApp. Vuelve a copiar Token de verificación (cuidado con los espacios al principio o al final). Si todavía no hay token, activa primero la opción Activar WhatsApp; para ello necesitas un plan con WhatsApp.
- Comprueba que la URL de callback en Meta es exactamente la URL del webhook de esa tarjeta:
https://<api-domain>/webhooks/whatsapp. - Vuelve a guardar el webhook en Meta.
Consulta WhatsApp.
Los mensajes de WhatsApp no reciben respuesta
Mira primero si el mensaje está en la Bandeja.
Si no está, no nos ha llegado o no se ha procesado. Revisa en la pestaña Canales (tarjeta WhatsApp) y en Meta:
- Secreto de la aplicación debe coincidir exactamente con el de tu aplicación de Meta. Si es incorrecto o está vacío, nuestra comprobación de firma falla y el mensaje se rechaza.
- El campo
messagesdebe estar marcado en las suscripciones del webhook en Meta. - El número de teléfono debe estar registrado en Meta para la Cloud API.
- ID del número de teléfono debe ser el ID del número al que escribe el cliente; si no, no podemos vincular el mensaje al asistente.
- La opción Activar WhatsApp debe estar activada y Token de acceso debe estar rellenado.
- Necesitas una suscripción activa. Sin ella, los mensajes entrantes se ignoran.
- Los mensajes de un contacto marcado como Bloqueado se ignoran. Puedes verlo en Clientes → Contactos.
Si el mensaje está, hay dos causas:
- Token de acceso ha caducado. Usa un token permanente de System User en lugar de un token temporal de la consola de desarrolladores y pégalo en Token de acceso.
- La conversación está Con un compañero. El asistente está en pausa y solo vuelve a responder cuando eliges Devolver al asistente en la conversación.
Tu respuesta de WhatsApp falla después de 24 horas
WhatsApp solo permite respuestas libres en las 24 horas siguientes al último mensaje del cliente. El asistente siempre responde justo después de un mensaje del cliente, así que esto no le afecta; se aplica a las respuestas de tu equipo desde la Bandeja. Meta rechaza ese mensaje después de 24 horas. Entonces ves un error y el cliente no recibe nada, aunque el mensaje aparezca en la transcripción al recargar. No enviamos plantillas de mensaje a los clientes, así que espera a que el cliente vuelva a escribir o llámalo. Es una norma de WhatsApp, no un ajuste de Yarla.
El asistente no mira las imágenes
Si un cliente envía una foto de una fuga y el asistente responde con una frase fija diciendo que no puede ver imágenes, Interpretar imágenes está desactivado. El texto que acompaña a la foto tampoco recibe respuesta. Activa la opción en la pestaña Canales (tarjeta WhatsApp) para que el asistente pueda mirar la foto y responder sobre ella. Si llega la misma frase con la opción activada, no se ha podido obtener la foto de Meta; pide al cliente que lo intente de nuevo.
Los mensajes de voz no se entienden
Los mensajes de voz por WhatsApp no son compatibles. El asistente responde con una frase fija y pide al cliente que envíe su pregunta por escrito. Esa frase no se puede cambiar, ni siquiera con una regla en las instrucciones. En la Bandeja solo aparece (voice message), así que tu equipo tampoco puede escucharlo.
El widget de chat web no aparece
Si algo falla durante la carga, el widget no muestra ningún aviso: simplemente no aparece. Por eso, revisa estos puntos.
- Abre la consola del navegador (F12) y busca errores de
widget.jsy/public/chat/<slug>/config. Un 404 significa que el nombre dedata-slugno existe; un 403, que tu sitio web no está permitido o que no hay ninguna suscripción activa. - Vuelve a copiar el código de Código para tu sitio web en la pestaña Canales (tarjeta Chat web) y ponlo en todas las páginas donde deba aparecer el chat.
data-slugdebe ser exactamente el Nombre del enlace público ydata-apidebe estar incluido. Si cambias ese nombre más adelante, el código anterior deja de funcionar. - Comprueba que la opción Activar el chat web está activada. Si no lo está, el widget no aparece y la consola no muestra ningún error.
- Comprueba Sitios web permitidos. Vacío significa cualquier sitio web. Si tiene entradas, la dirección de tu sitio web debe figurar exactamente, con
https://y sin ruta; conwwwy sinwwwson dos direcciones distintas. Si activas el chat con la lista vacía, rellenamos el sitio web de tu empresa, conwwwy sinwww. Si el chat está en otro dominio o subdominio, añádelo también. - Comprueba que tienes una suscripción activa. Sin ella, el widget no aparece.
- Prueba en una ventana privada sin bloqueador de anuncios.
Consulta Chat web.
La página de chat lista para usar no funciona
La Página de chat lista para usar sí muestra un aviso; en estos casos, el widget de tu propio sitio no aparece. Si la página indica "Este chat está desactivado en este momento.", el chat web está desactivado para este asistente. Activa la opción Activar el chat web en la pestaña Canales; el aviso desaparece al recargar la página. Si la página indica "Este chat no está disponible", no hay ninguna suscripción activa.
Sitios web permitidos solo se aplica al widget en otros sitios web: la página de chat lista para usar también se abre con la lista rellenada. Consulta Chat web.
setContext da un error o no hace nada
Con window.YarlaChat.setContext le das al asistente información sobre el visitante, como la página o el producto. El contexto se envía con el siguiente mensaje del visitante. Revisa estas causas:
window.YarlaChattodavía no existe porquewidget.jsse está cargando. El navegador da entonces un error. Llama asetContextcuando el script se haya cargado, por ejemplo en el eventoloadde la página. El widget no tiene un evento de "listo" propio.- El contexto supera los 8 KiB. La llamada da entonces el error
context exceeds 8 KiBy se mantiene el contexto anterior. Pasa solo los campos que el asistente necesita. - La conversación está con el equipo, por ejemplo porque Quién responde está en El equipo. El asistente no responde entonces y tampoco lee el contexto.
Los mensajes del equipo no se envían
El campo de respuesta de una conversación está disponible para los miembros del equipo con el rol Editor o Administrador, mientras la conversación no esté Terminada. No hace falta elegir antes Tomar el control: Enviar toma el control de la conversación de inmediato, y el asistente queda en silencio hasta que eliges Devolver al asistente.
Una conversación está Terminada cuando alguien ha elegido Terminar conversación, cuando el asistente la ha cerrado o automáticamente tras un tiempo sin actividad: en el chat web, el Tiempo de inactividad (minutos) del asistente (60 por defecto); en WhatsApp y SMS, 6 horas; y con tu equipo, solo 18 horas después del último mensaje, nunca mientras el cliente espera una respuesta. A partir de ahí ya no puedes responder. En WhatsApp, el siguiente mensaje del cliente inicia una conversación nueva en la Bandeja. En el chat web, el visitante no puede seguir escribiendo en la misma conversación: en la página de chat lista para usar, el visitante elige Empezar una conversación nueva, y en el widget de tu propio sitio inicias una conversación nueva con window.YarlaChat.startNewConversation().
Si el envío falla en WhatsApp, ves un error y el cliente no recibe nada, aunque el mensaje aparezca en la transcripción al recargar. Lo habitual es que se haya cerrado la ventana de 24 horas o que haya caducado Token de acceso.
En el chat web, el visitante ve tu mensaje casi al momento si la conversación ya estaba con el equipo y la página está abierta y visible. Si el navegador no puede abrir una conexión WebSocket con Yarla, tarda como mucho unos 30 segundos. Si tomas el control de una conversación que seguía Activa, tu mensaje solo aparece cuando el visitante vuelve a abrir el chat, recarga la página o envía algo. Consulta Bandeja y análisis.
¿Sigues con problemas?
¿No encuentras tu problema aquí o la solución no ha funcionado? Avísanos desde Informar de un problema e incluye el canal, la hora y, en el chat web, el dominio en el que está el widget.