Esta versión te permite asegurarte de que las variables de canal de usuario que envía tu widget vienen realmente de tu sitio, exigiendo una firma en las variables en las que confías.
Una firma en las variables de confianza
Un visitante puede modificar lo que tu página envía al widget. Un email o un ID de cliente escrito en la página se puede cambiar en el navegador antes de llegar a tu chatbot. Ahora puedes exigir una firma en las variables que elijas: tu servidor calcula el HMAC-SHA256 del valor con una clave secreta compartida con ViaSay, y tu página lo envía junto al valor como <variable>_signature. ViaSay lo comprueba en cada mensaje.
Tú eliges las variables: hasta 50 variables de canal de usuario por widget
Calculada en tu servidor: con una clave secreta de al menos 32 caracteres, que el botón Generate puede crear por ti
Nunca se transmite: la firma solo sirve para la comprobación, no llega nunca a tu chatbot, a tus analytics ni a tus logs de conversación
Prepara, prueba y publica
Nada cambia para tus visitantes hasta que publiques. Abre Integrate → Channels, selecciona tu widget y entra en la pestaña Security. Cuatro pasos te guían: guardar la clave, elegir las variables, comprobar tus firmas y publicar.
Tres formas de probar: comprobar solo la clave, pegar el script del widget generado por tu página, o introducir valores y firmas a mano. El resultado te indica, variable por variable, si es Valid, Signature missing o Signature does not match
Publish sigue bloqueado hasta que tu último cambio haya pasado una prueba
Detén la aplicación cuando quieras: las firmas dejan de comprobarse al instante, y se conservan tu clave y tus variables
Cambia la clave sin interrupciones: tras publicar, la clave anterior sigue aceptándose hasta que la elimines, para que tus servidores cambien a su ritmo
Qué ocurre en cada mensaje
Un valor que no supera la comprobación nunca llega a tu chatbot. Una vez publicado, se comprueba cada mensaje del widget:
Firma válida: tu chatbot recibe el valor y la conversación continúa
Firma ausente o incorrecta, o valor modificado: tu chatbot recibe un valor vacío y el visitante sigue siendo anónimo. La conversación nunca se bloquea
Ninguna variable protegida enviada: el visitante no ha iniciado sesión. No es un error, el valor simplemente está vacío
En la transferencia: con Freshchat y ViaFlow, solo un email, un teléfono o un ID de contacto que llegaron con una firma válida se usan para encontrar la cuenta del cliente
Una variable protegida puede llegar vacía en cualquier momento, así que prevé un camino para ese caso en tus flujos, por ejemplo pidiendo al visitante que inicie sesión.
No requiere ninguna acción
Los widgets existentes no se ven afectados: las firmas solo se comprueban cuando publicas una configuración. La pestaña Security está disponible en los canales de widget, para los usuarios con el rol Manager o Platform Administrator.
Para una guía completa, con ejemplos de código en Node.js, Python, PHP y Java, consulta la documentación Proteger las User Channel Variables.