Acciones del lado del cliente en el navegador
Ejecuta una acción en el navegador del visitante: con un manejador JavaScript registrado con IntoChatActions o un endpoint de tu web que usa su sesión.
Una acción del lado del cliente se ejecuta en la página donde está insertado tu agente, no en los servidores de intoCHAT. Sirve para llegar a lo que solo alcanza el navegador del visitante: un endpoint de tu web que depende de su sesión iniciada, o datos y funciones de la propia página.
Cuál elegir
| Quieres llamar a | Usa |
|---|---|
| Una API pública o que necesita tu clave secreta | Una acción API del lado del servidor |
| Un endpoint de tu dominio que usa las cookies del visitante | Una acción del lado del cliente, sin código adicional |
| Algo de la página, como el carrito en JavaScript o un diálogo que abrir | Una acción del lado del cliente con un manejador registrado |
| Nada: solo quieres que el visitante abra una de tus páginas | Un botón personalizado |
Configuración
- En la pestaña Actions, crea la acción como se explica en Acciones API propias: URL, datos y When to use.
- En el paso 3. When the AI should use it, selecciona Client-side action.
- Guarda la acción.
Cómo se ejecuta una llamada
Cuando el agente llama a una acción del lado del cliente, el widget del chat pasa la llamada al script de inserción de tu página:
- Si tu página registró un manejador con el nombre de la acción, se ejecuta y lo que devuelve llega al agente.
- Si no, tu página llama a la URL de la acción desde tu propio dominio, con las cookies del visitante.
Cada llamada tiene 20 segundos. Después se comunica al agente como fallida. La acción necesita una URL pública válida aunque solo uses un manejador; con un manejador registrado, esa URL no se llama.
Registrar un manejador
El nombre del manejador es el nombre de la acción con cada carácter que no sea letra, dígito, _ o - sustituido por _: «Get cart» pasa a ser Get_cart. El editor muestra el nombre exacto en su ejemplo de código.
window.IntoChatActions está disponible en cuanto se ha ejecutado el script del snippet, antes de que cargue el propio widget del chat. Los manejadores se buscan cuando el agente llama a la acción, así que da igual registrarlos antes o después de que el widget esté listo. Añade un script en cualquier punto después del snippet:
<script src="https://www.intochat.ai/api/embed.js" data-chatbot-id="YOUR_AGENT_ID"></script>
<script>
window.IntoChatActions.register("Get_cart", async function (args) {
// args: los datos que rellenó el agente.
// Devuelve algo serializable en JSON. El agente lo ve.
return { items: window.myStore.cart.items };
});
</script>
El código que pueda ejecutarse antes del snippet puede añadir pares [name, handler] a window.IntoChatActionsQueue; el script de inserción los registra al cargar. La mayoría de las páginas no lo necesitan. Con varios agentes en una página, todos comparten los mismos manejadores.
El manejador recibe en args los datos que rellenó el agente. Si lanza un error, el mensaje llega al agente como llamada fallida. IntoChatActions.unregister(name) quita un manejador e IntoChatActions.registered() lista los nombres registrados.
Probarla
Send test request en el editor se ejecuta desde los servidores de intoCHAT. Comprueba que la URL responde y muestra la forma de la respuesta, pero no ve las sesiones de tus visitantes ni los manejadores de tu página. En el Playground no hay ninguna página tuya alrededor del chat, así que el propio widget llama a la URL, sin las cookies ni los manejadores de tu web. Prueba los manejadores y los endpoints con sesión en una página de tu web donde esté instalado el widget.